vue3 将 HTML 网页内容生成为 PDF 文件

使用 html2pdf.js 实现

npmjs 地址:html2pdf.js

github 仓库地址:html2pdf.js

使用 html2pdf.js 的方法非常简单,只需要能获取到要生成 PDF 的 HTML 元素即可

安装

复制代码
npm i html2pdf.js

引入

先在需要使用导出的页面引入

复制代码
import html2pdf from "html2pdf.js";

使用

基本配置,页边距,文件名,生成图片类型和质量等信息,自行调整

具体配置项可以看 npmjs 的 html2pdf.js#Options 或 github 的 html2pdf.js#options

复制代码
let opt = {
  margin: [0.5, 0.6],
  filename: "文件名",
  image: { type: "jpeg", quality: 0.98 },
  html2canvas: { scale: 3 },
  jsPDF: { unit: "in", format: "letter", orientation: "portrait" },
};

基本的保存为 PDF 使用流程,使用 html2pdf 导出方法,设置opt导出配置,从node导出节点,保存

其他的工作流的方法可以看 npmjs 的 html2pdf.js#worker-api 或 github 的 html2pdf.js#worker-api

复制代码
html2pdf().set(opt).from(node).save();

手动分页

在导入的节点内加入下面代码手动分页,在哪个节点后加表示在哪分页

复制代码
<div class="html2pdf__page-break"></div>
相关推荐
hashiqimiya10 小时前
JavaScript的object的使用和监控打印日志
前端·javascript·vue.js
梦65011 小时前
Vue 组件 vs React 组件深度对比
javascript·vue.js·react.js
2501_9462309811 小时前
Cordova&OpenHarmony提醒管理系统实现
android·javascript
C_心欲无痕11 小时前
vue3 - useId生成唯一标识符
前端·javascript·vue.js·vue3
KoalaShane11 小时前
El-slider 增加鼠标滚动滑块事件
开发语言·前端·javascript
C_心欲无痕11 小时前
vue3 - watchSyncEffect同步执行的响应式副作用
开发语言·前端·javascript·vue.js·vue3
小魔女千千鱼11 小时前
在 Vue 中,this 的行为在箭头函数和普通函数中是不同的
前端·javascript·vue.js
Rysxt_12 小时前
UniApp uni_modules 文件夹详细教程
开发语言·javascript·ecmascript
霍理迪12 小时前
CSS盒模型布局规则
前端·javascript·css
林恒smileZAZ12 小时前
使用自定义API接入OpenAI CodeX配置教程
javascript·codex·ai对接