欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 新闻 > 会展 > 前端导出pdf

前端导出pdf

2025/1/18 6:51:01 来源:https://blog.csdn.net/weixin_38999134/article/details/140286100  浏览:    关键词:前端导出pdf
async generatePDF() {const element = this.$refs.contentToPrint; // 你想要转换成PDF的DOM元素// 使用html2canvas将DOM元素转换成canvasconst canvas = await html2canvas(element);const imgData = canvas.toDataURL('image/png');// 创建PDF并添加图片const pdf = new jsPDF({orientation: 'portrait',unit: 'px',format: 'a4',});const imgProps = pdf.getImageProperties(imgData);const pdfWidth = pdf.internal.pageSize.getWidth();const pdfHeight = (imgProps.height * pdfWidth) / imgProps.width;pdf.addImage(imgData, 'PNG', 0, 0, pdfWidth, pdfHeight);pdf.save('download.pdf'); // 保存PDF},// generatePDF() {  //   const doc = new jsPDF()  //   doc.text("Hello world!", 10, 10)  //   doc.save("a4.pdf")  // },
    <div><el-button type="primary" @click="generatePDF">生成PDF</el-button>  </div><div style="padding:20px 10px"  ref="contentToPrint"></div>

解决图片无法显示问题

async generatePDF() {const element = document.getElementById('content'); // 你想要导出为PDF的DOM元素const opts = {scale: 4, // 缩放比例,提高生成图片清晰度useCORS: true, // 允许加载跨域的图片// allowTaint: false, // 允许图片跨域,和 useCORS 二者不可共同使用tainttest: true, // 检测每张图片都已经加载完成logging: true // 日志开关,发布的时候记得改成 false}const canvas = await html2canvas(element,opts);const imgData = canvas.toDataURL('image/png');const pdf = new jsPDF('p', 'mm', 'a4');const imgProps= pdf.getImageProperties(imgData);const pdfWidth = pdf.internal.pageSize.getWidth();const pdfHeight = (imgProps.height * pdfWidth) / imgProps.width;pdf.addImage(imgData, 'PNG', 0, 0, pdfWidth, pdfHeight);pdf.save('download.pdf');},

版权声明:

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

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