前端导出pdf

async generatePDF() {
        const element = this.$refs.contentToPrint; // 你想要转换成PDF的DOM元素
        
  
        // 使用html2canvas将DOM元素转换成canvas
        const 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');
 },

相关推荐

  1. 前端导出pdf

    2024-07-10 13:42:04       11 阅读
  2. <span style='color:red;'>导出</span><span style='color:red;'>pdf</span>

    导出pdf

    2024-07-10 13:42:04      19 阅读
  3. 前端下载导出文件流,excel/word/pdf/zip等

    2024-07-10 13:42:04       44 阅读
  4. html2canvas+jsPDF实现前端导出pdf

    2024-07-10 13:42:04       29 阅读
  5. 前端js实现把网页导出pdf

    2024-07-10 13:42:04       6 阅读
  6. 前端--导出

    2024-07-10 13:42:04       16 阅读
  7. springboot 动态导出pdf

    2024-07-10 13:42:04       39 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-07-10 13:42:04       4 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-07-10 13:42:04       5 阅读
  3. 在Django里面运行非项目文件

    2024-07-10 13:42:04       4 阅读
  4. Python语言-面向对象

    2024-07-10 13:42:04       5 阅读

热门阅读

  1. Knife4j的原理及应用详解(五)

    2024-07-10 13:42:04       10 阅读
  2. Day2--每日一练

    2024-07-10 13:42:04       10 阅读
  3. 东方博宜1626 - 暑假的旅游计划

    2024-07-10 13:42:04       10 阅读
  4. react小白面试不得不会的20个问题——第二篇

    2024-07-10 13:42:04       11 阅读
  5. 简单滤波算法伪码

    2024-07-10 13:42:04       13 阅读
  6. Mongodb索引简介

    2024-07-10 13:42:04       7 阅读
  7. Linux 6种日志查看方法

    2024-07-10 13:42:04       11 阅读
  8. 案例研究(Case Study)是什么?怎么写?

    2024-07-10 13:42:04       8 阅读
  9. Linux虚拟化技术:从Xen到KVM

    2024-07-10 13:42:04       8 阅读
  10. 深度学习图片增强方式

    2024-07-10 13:42:04       10 阅读
  11. 什么是DNS欺骗

    2024-07-10 13:42:04       13 阅读
  12. leetcode hot 100 刷题记录

    2024-07-10 13:42:04       11 阅读
  13. 全面解析C#:现代编程语言

    2024-07-10 13:42:04       9 阅读