前言
根据自身当下技术的水平和实际情况,做一个简单的记录。
需求描述
在项目中有采购合同和销售合同,这些合同新建好之后都需要有人去审核,审核通过后需要把合同生成一个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文章来源:https://www.toymoban.com/news/detail-534262.html
补充:我这里Node版本是v16.13.2,npm版本是9.7.2文章来源地址https://www.toymoban.com/news/detail-534262.html
到了这里,关于功能需求-根据页面生成pdf,pdf不需要下载只需把文件流上传到服务器的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!