vue html pdf,Vue-html2pdf Html 生成 pdf 【踩坑实记】
1. 背景前端直接根据 html 生成 pdf, 减轻后端压力3. 坑点**打印位置偏移hack 滚动条 X Y 轴 打印前需要置零**handleDownloadPDF() {let scrollTop = document.documentElement.scrollToplet scrollLeft = document.documentElement.scrollLeftthis.tabl
1. 背景
前端直接根据 html 生成 pdf, 减轻后端压力
3. 坑点
**打印位置偏移hack 滚动条 X Y 轴 打印前需要置零**
handleDownloadPDF() {
let scrollTop = document.documentElement.scrollTop
let scrollLeft = document.documentElement.scrollLeft
this.tableOptions.loading = true
API
.xxxxx()
.then((res) => {
document.documentElement.scrollTop = 0
document.documentElement.scrollLeft = 0
this.$refs.html2Pdf.generatePdf()
})
.finally(() => {
document.documentElement.scrollTop = scrollTop
document.documentElement.scrollLeft = scrollLeft
this.tableOptions.loading = false
})
},
分页 -- 通过 css 控制分页位置
.page-break-after {
page-break-after: always;
}
打印宽度 pdf-content-width="'98%'"
v-show="!printState"
ref="html2Pdf"
:enable-download="true"
:filename="fileName"
:float-layout="false"
:html-to-pdf-options="pdfOptions"
:manual-pagination="true"
:paginate-elements-by-height="1400"
:pdf-content-width="'98%'"
:pdf-quality="2"
:preview-modal="false"
:show-layout="false"
pdf-format="a4"
pdf-orientation="landscape"
>
computed: {
fileName() {
return `xxxx`
},
pdfOptions() {
return {
margin: [0, 5, 0, 5],
filename: this.fileName
}
},
},
魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐


所有评论(0)