功能需求-根据页面生成pdf,pdf不需要下载只需把文件流上传到服务器

前言

根据自身当下技术的水平和实际情况,做一个简单的记录。

需求描述

在项目中有采购合同和销售合同,这些合同新建好之后都需要有人去审核,审核通过后把最新的合同页面生成一个pdf(采用的是前端自动生成pdf),需要注意的是生成好pdf之后不下载,需要把pdf文件流上传到后端.

实现方案

思路: 通过 html2canvas 将 HTML 页面转换成图片,然后再通过 jspdf 将图片的 base64 生成为 pdf 文件。

Vue中 前端实现生成 PDF 并下载参考文章:https://developer.aliyun.com/article/1087042#comment
前端vue的JsPDF html2canvas 生成pdf并以文件流形式上传到后端:https://blog.csdn.net/qq_38594056/article/details/118212082

当然在过程中也遇到了一些问题,如安装组件库,这里项目使用的是Jeecg-boot开源框架,一开始使用npm安装html2canvas、jspdf怎么都下载不下来,可能是因为网络的问题,因为npm包管理器的源是在国外,所以想着使用npm国内的镜像,安装npm源的淘宝镜像,命令如下:

npm install cnpm

如果需要全局安装可以执行如下命令:

npm install cnpm -g

接下来再依次安装html2canvas、jspdf,命令如下:

cnpm install html2canvas --save

cnpm install jspdf --save

补充:我这里Node版本是v16.13.2,npm版本是9.7.2

你可能感兴趣的:(项目开发,pdf,vue.js,前端)