vue中将网页打印成pdf实例代码
更新时间:2017年06月15日 16:33:29 作者:激烈的海胆
本篇文章主要介绍了vue中将网页打印成pdf实例代码,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
整理文档,搜刮出一个vue中将网页打印成pdf的代码,稍微整理精简一下做下分享。
<template>
<div class="pdf-wrap" id="pdfWrap">
<button v-on:click="getPdf">点击下载PDF</button>
<div class="pdf-dom" id="pdfDom"></div>
</div>
</template>
<style lang="scss" scoped>
</style>
<script type="text/ecmascript-6">
import html2Canvas from '@/components/html2canvas.js'
import JsPDF from '@/components/jsPdf.debug.js'
export default {
methods: {
getPdf: function () {
let _this = this
let pdfDom = document.querySelector('#pdfDom')
html2Canvas(pdfDom, {
onrendered: function(canvas) {
let contentWidth = canvas.width
let contentHeight = canvas.height
let pageHeight = contentWidth / 592.28 * 841.89
let leftHeight = contentHeight
let position = 0
let imgWidth = 595.28
let imgHeight = 592.28 / contentWidth * contentHeight
let pageData = canvas.toDataURL('image/jpeg', 1.0)
let PDF = new JsPDF('', 'pt', 'a4')
if (leftHeight < pageHeight) {
PDF.addImage(pageData, 'JPEG', 0, 0, imgWidth, imgHeight)
} else {
while (leftHeight > 0) {
PDF.addImage(pageData, 'JPEG', 0, position, imgWidth, imgHeight)
leftHeight -= pageHeight
position -= 841.89
if (leftHeight > 0) {
PDF.addPage()
}
}
}
PDF.save(_this.pdfData.title + '.pdf')
}
})
html2Canvas()
},
}
}
</script>
需要引入
html2canvas.js'
和
jsPdf.debug.js
这两个插件库可轻松百度到。如果eslint验证报错,可在eslintignore中设置不对这两个文件进行验证。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。
相关文章
vue-cli3.0如何使用prerender-spa-plugin插件预渲染
这篇文章主要介绍了vue-cli3.0如何使用prerender-spa-plugin插件预渲染,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教2022-05-05
利用Vue3+Element Plus封装公共表格组件(带源码)
最近公司项目中频繁会使用到table表格,而且前端技术这一块也用到了vue3来开发,所以基于element plus table做了一个二次封装的组件,这篇文章主要给大家介绍了关于利用Vue3+Element Plus封装公共表格组件的相关资料,需要的朋友可以参考下2023-11-11


最新评论