【前端】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的,直接导致捕获内容不完整

相关推荐
CF14年老兵16 分钟前
LocalStorage vs SessionStorage vs Cookies:浏览器数据存储终极指南
前端·javascript·面试
华洛40 分钟前
2025年,AI产品团队中的提示词只需要考虑三件事
前端·javascript·vue.js
兮山与4 小时前
前端1.0
前端
王者鳜錸6 小时前
VUE+SPRINGBOOT从0-1打造前后端-前后台系统-邮箱重置密码
前端·vue.js·spring boot
独泪了无痕8 小时前
深入浅析Vue3中的生命周期钩子函数
前端·vue.js
小白白一枚1118 小时前
vue和react的框架原理
前端·vue.js·react.js
字节逆旅8 小时前
从一次爬坑看前端的出路
前端·后端·程序员
若梦plus9 小时前
微前端之样式隔离、JS隔离、公共依赖、路由状态更新、通信方式对比
前端
若梦plus9 小时前
Babel中微内核&插件化思想的应用
前端·babel
若梦plus9 小时前
微前端中微内核&插件化思想的应用
前端