当前位置: 首页> 汽车> 新车 > 南昌地宝网二手车_落实好疫情防控优化措施_新人做外贸怎么找国外客户_长沙百度网站优化

南昌地宝网二手车_落实好疫情防控优化措施_新人做外贸怎么找国外客户_长沙百度网站优化

时间:2025/7/12 6:35:46来源:https://blog.csdn.net/weixin_44239362/article/details/144749011 浏览次数: 0次
南昌地宝网二手车_落实好疫情防控优化措施_新人做外贸怎么找国外客户_长沙百度网站优化

vue2使用pdfjs-dist和jsPDF生成pdf文件

1、安装依赖

npm install pdfjs-dist@2.6.347

2、引入依赖

import { jsPDF } from 'jspdf'
// 使用require方式导入pdfjs-dist v2.6.347,高版本报错(import导入会报错:GlobalWorkerOptions undefined)
this.pdfjsLib = require('pdfjs-dist/build/pdf')
this.pdfjsLib.GlobalWorkerOptions.workerSrc = './pdf.worker.js'// 将pdfjs-dist/build/pdf.worker.js文件复制到public下

3、使用

/*** 使用pdfjs-dist将每一页pdf转为图片(canvas->图片数据url)* 使用jspdf将图片合并为新的pdf(pdf-lib不支持图片直接转为pdf页面)*/
const pdfDoc = await this.pdfjsLib.getDocument(pdfBytes).promise
const outputPdf = new jsPDF(true)
let i = 1
for (i = 1; i <= pdfDoc.numPages; i++) {const page = await pdfDoc.getPage(i)const viewport = page.getViewport({ scale: 1.9 })const canvas = document.createElement('canvas')const context = canvas.getContext('2d')canvas.width = viewport.widthcanvas.height = viewport.height// Render PDF page into canvasawait page.render({ canvasContext: context, viewport }).promise// Add canvas as image to PDFconst imgData = canvas.toDataURL('image/png')if (i > 1) {outputPdf.addPage()}outputPdf.addImage(imgData, 'PNG', 0, 0, 210, 297, undefined, 'FAST') // A4 sizecanvas.remove() // Clean up
}// Save the new PDF
const pdfblob = outputPdf.output('blob')
const url = window.URL.createObjectURL(pdfblob)// 下载到本地
// const url = window.URL.createObjectURL(new Blob([mergedPdfFile.buffer]))
const link = document.createElement('a')
link.href = url
link.setAttribute('download', 'test.pdf')
document.body.appendChild(link)
link.click()

4、注意
1)pdfjs-dist安装低版本,高版本报错
2)如需压缩图片

new jsPDF(true)
outputPdf.addImage(imgData, ‘PNG’, 0, 0, 210, 297, undefined, ‘FAST’)

3)如果将多个图像添加到一个文档中,请使用

outputPdf.addImage(imgData, 'PNG', 0, 0, 210, 297, undefined, 'FAST')

而不是

outputPdf.addImage(imgData, 'PNG', 0, 0, 210, 297, '', 'FAST')

否则第一张图片将替换所有其他图片

关键字:南昌地宝网二手车_落实好疫情防控优化措施_新人做外贸怎么找国外客户_长沙百度网站优化

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

责任编辑: