【前端】html2pdf实现用前端下载pdf

npm安装完后,编写代码。

html 复制代码
<template>
  <div id="pdf-content">
    需要被捕获为pdf的内容
  </div>
</template>

<script>
import html2pdf from 'html2pdf.js';

export default {
  methods: {
    downloadPdf() {
      const element = document.getElementById('pdf-content');
      const opt = {
      	// 转换后的pdf的外边距分别为:上: 10px、右: 10px、下: 10px、左: 10px
        margin:        [10, 10, 10, 10],
        filename:     '下载.pdf',
        image:        { type: 'jpeg', quality: 1 },
        html2canvas:  { scale: 1 },
        jsPDF:        { unit: 'mm', format: 'a4', orientation: 'portrait' }
      };
      
      // 调用html2pdf库的方法生成PDF文件并下载
      html2pdf().from(element).set(opt).save();
    },
  },
};
</script>

pdf-content这一块div展示的内容都将被捕获,成为生成的pdf页的内容。

注意,如果pdf-content使用了滚动条 ,滚动条没有滚到的部分是无法被捕获进pdf的,直接导致捕获内容不完整

相关推荐
姑苏洛言2 小时前
基于微信公众号小程序的课表管理平台设计与实现
前端·后端
烛阴2 小时前
比UUID更快更小更强大!NanoID唯一ID生成神器全解析
前端·javascript·后端
Alice_hhu2 小时前
ResizeObserver 解决 echarts渲染不出来,内容宽度为 0的问题
前端·javascript·echarts
理工男大辉郎3 小时前
PDFGear——完全免费且功能强大的PDF处理软件
pdf·软件工程
逃逸线LOF3 小时前
CSS之动画(奔跑的熊、两面反转盒子、3D导航栏、旋转木马)
前端·css
課代表3 小时前
Adobe LiveCycle ES、LiveCycle DS 与 BlazeDS 关系解析与比较
数据库·adobe·pdf·express·livecycle·lcds·soa平台
萌萌哒草头将军4 小时前
⚡️Vitest 3.2 发布,测试更高效;🚀Nuxt v4 测试版本发布,焕然一新;🚗Vite7 beta 版发布了
前端
IDRSolutions_CN4 小时前
PDF 转 HTML5 —— HTML5 填充图形不支持 Even-Odd 奇偶规则?(第一部分)
java·经验分享·pdf·软件工程·团队开发
技术小丁4 小时前
使用 HTML + JavaScript 在高德地图上实现物流轨迹跟踪系统
前端·javascript·html
小小小小宇5 小时前
React 并发渲染笔记
前端