功能需求-根据页面生成pdf,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

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值