前言
根據(jù)自身當下技術(shù)的水平和實際情況,做一個簡單的記錄。
需求描述
在項目中有采購合同和銷售合同,這些合同新建好之后都需要有人去審核,審核通過后需要把合同生成一個pdf文件然后后端給保存起來
在項目中有采購合同和銷售合同,這些合同新建好之后都需要有人去審核,審核通過后把最新的合同頁面生成一個pdf(采用的是前端自動生成pdf),需要注意的是生成好pdf之后不下載,需要把pdf文件流上傳到后端.
實現(xiàn)方案
思路: 通過 html2canvas 將 HTML 頁面轉(zhuǎn)換成圖片,然后再通過 jspdf 將圖片的 base64 生成為 pdf 文件。
Vue中 前端實現(xiàn)生成 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怎么都下載不下來,可能是因為網(wǎng)絡(luò)的問題,因為npm包管理器的源是在國外,所以想著使用npm國內(nèi)的鏡像,安裝npm源的淘寶鏡像,命令如下:
npm install cnpm
如果需要全局安裝可以執(zhí)行如下命令:
npm install cnpm -g
接下來再依次安裝html2canvas、jspdf,命令如下:
cnpm install html2canvas --save
cnpm install jspdf --save文章來源:http://www.zghlxwxcb.cn/news/detail-534262.html
補充:我這里Node版本是v16.13.2,npm版本是9.7.2文章來源地址http://www.zghlxwxcb.cn/news/detail-534262.html
到了這里,關(guān)于功能需求-根據(jù)頁面生成pdf,pdf不需要下載只需把文件流上傳到服務(wù)器的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!