html2pdf.js的使用
滚动条内部未滚动出来显示的内容没有导出
使用
1. 安装html2pdf.js库
js
npm install html2pdf.js
2. 组件中引入html2pdf.js库
js
import html2pdf from 'html2pdf.js'
3. 创建方法来处理HTML转PDF的逻辑
版本1:(这个好像有问题)
js
export default {
methods: {
convertHTMLToPDF() {
const element = document.getElementById('html-content'); // 获取包含HTML内容的元素
const pdf = html2pdf().fromHTML(element, {
margin: 1, // 设置边距(以毫米为单位)
filename: 'example.pdf', // 设置生成的PDF文件名
image: { type: 'jpeg', quality: 0.98 }, // 设置图片质量
html2canvas: { dpi: 192, letterRendering: true }, // 设置canvas渲染选项
jsPDF: { unit: 'in', format: 'letter', orientation: 'portrait' }, // 设置生成的PDF的单位、格式和方向
});
pdf.save(); // 保存生成的PDF文件
},
},
};
版本2:(使用这版)
js
export default {
methods: {
convertHTMLToPDF() {
const element = document.getElementById('html-content'); // 获取包含HTML内容的元素
const pdf = html2pdf(element, {
margin: 1, // 设置边距(以毫米为单位)
filename: 'example.pdf', // 设置生成的PDF文件名
image: { type: 'jpeg', quality: 0.98 }, // 设置图片质量
html2canvas: { dpi: 192, letterRendering: true }, // 设置canvas渲染选项
jsPDF: { unit: 'in', format: 'letter', orientation: 'portrait' }, // 设置生成的PDF的单位、格式和方向
});
},
},
};
4. 触发转换的事件
powershell
<template>
<div>
<button @click="convertHTMLToPDF">转换为PDF</button>
<div id="html-content">
<!-- 这里是你的HTML内容 -->
</div>
</div>
</template>
注意
1.样式要写行内样式,否则使用class等选择器绑定样式可能会导致导出的内容没有样式;