前端PDF导出,使用html2Canvas和jsPDF插件

javascript 复制代码
import html2Canvas from "html2canvas";
import jsPDF from "jspdf";
export function downloadPDF(dom, filename) {
  const scale = 2;
  window.pageYOffset = 0;
  // 滚动到顶部,避免打印不全
  document.documentElement.scrollTop = 0;
  document.body.scrollTop = 0;
  html2Canvas(dom, {
    allowTaint: true, 
    scale, 
  }).then((canvas) => {
    console.log("canvas", canvas);
    const contentWidth = canvas.width / scale;
    const contentHeight = canvas.height / scale;
    const pdf = new jsPDF("", "pt", [contentWidth, contentHeight]);
    const pageData = canvas.toDataURL("image/jpeg", 1.0);
    pdf.addImage(pageData, "JPEG", 0, 0, contentWidth, contentHeight);
    pdf.save(`${filename}.pdf`);
  });
}
相关推荐
徐小夕6 小时前
我用 AI 撸了个开源"万能预览器":浏览器直接打开 Office、CAD 和 3D 模型
前端·vue.js·github
小码哥_常7 小时前
Flutter Android 延迟加载代码指南:提升应用性能的关键
前端
这是个栗子7 小时前
TypeScript(三)
前端·javascript·typescript·react
kvo7f2JTy7 小时前
基于机器学习算法的web入侵检测系统设计与实现
前端·算法·机器学习
北风toto7 小时前
前端CSS样式详细笔记
前端·css·笔记
nanfeiyan7 小时前
git commit
前端
前端精髓10 小时前
移除 Effect 依赖
前端·javascript·react.js
码云之上10 小时前
从一个截图函数到一个 npm 包——pdf-snapshot 的诞生记
前端·node.js·github
码事漫谈10 小时前
AI提效,到底能强到什么程度?
前端·后端
IT_陈寒10 小时前
React hooks依赖数组这个坑差点把我埋了
前端·人工智能·后端