vue中将网页打印成pdf实例代码


Posted in Javascript onJune 15, 2017

整理文档,搜刮出一个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中设置不对这两个文件进行验证。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
不错的一个日期输入 动态
Nov 06 Javascript
Div Select挡住的解决办法
Aug 07 Javascript
JavaScript 题型问答有答案参考
Feb 17 Javascript
页面只有一个text的时候,回车自动submit的解决方法
Aug 12 Javascript
利用jQuery实现滑动开关按钮效果(附demo源码下载)
Feb 07 Javascript
Js apply方法详解
Feb 16 Javascript
SpringMVC+bootstrap table实例详解
Jun 02 Javascript
JS实现评价的星星功能
Aug 20 Javascript
vue-cli脚手架搭建的项目去除eslint验证的方法
Sep 29 Javascript
ECharts地图绘制和钻取简易接口详解
Jul 12 Javascript
laydate只显示时分 不显示秒的功能实现方法
Sep 28 Javascript
jQuery 隐藏/显示效果函数用法实例分析
May 20 jQuery
Bootstrap Tree View简单而优雅的树结构组件实例解析
Jun 15 #Javascript
Angularjs为ng-click事件传递参数
Jun 15 #Javascript
详解原生js实现offset方法
Jun 15 #Javascript
微信小程序 监听手势滑动切换页面实例详解
Jun 15 #Javascript
微信小程序canvas写字板效果及实例
Jun 15 #Javascript
AngularJs实现聊天列表实时刷新功能
Jun 15 #Javascript
bootstrap daterangepicker双日历时间段选择控件详解
Jun 15 #Javascript
You might like
根德YB400的电路分析
2021/03/02 无线电
用PHP将数据导入到Foxmail
2006/10/09 PHP
那些年我们错过的魔术方法(Magic Methods)
2014/01/14 PHP
php中字符集转换iconv函数使用总结
2014/10/11 PHP
基于php的CMS中展示文章类实例分析
2015/06/18 PHP
非常全面的php日期时间运算汇总
2015/11/04 PHP
详解WordPress开发中用于获取分类及子页面的函数用法
2016/01/08 PHP
javascript 嵌套的函数(作用域链)
2010/03/15 Javascript
细说浏览器特性检测(2)-通用事件检测
2010/11/05 Javascript
Js四则运算函数代码
2012/07/21 Javascript
js局部刷新页面时间具体实现
2013/07/04 Javascript
jQuery 借助插件Lavalamp实现导航条动态美化效果
2013/09/27 Javascript
jQuery选择器querySelector的使用指南
2015/01/23 Javascript
基于jQuery倾斜打开侧边栏菜单特效代码
2015/09/15 Javascript
jQuery实现获取绑定自定义事件元素的方法
2015/12/02 Javascript
完美实现八种js焦点轮播图(下篇)
2020/04/20 Javascript
jQuery实现可兼容IE6的滚动监听功能
2017/09/20 jQuery
Vue实现点击时间获取时间段查询功能
2020/08/21 Javascript
微信小程序仿美团城市选择
2018/06/06 Javascript
jQuery实现的点击图片居中放大缩小功能示例
2019/01/16 jQuery
vue项目中mock.js的使用及基本用法
2019/05/22 Javascript
JQuery实现简单的复选框树形结构图示例【附源码下载】
2019/07/16 jQuery
js实现表格数据搜索
2020/08/09 Javascript
浅谈终端直接执行py文件,不需要python命令
2017/01/23 Python
python类的方法属性与方法属性的动态绑定代码详解
2017/12/27 Python
python分块读取大数据,避免内存不足的方法
2018/12/10 Python
利用python-pypcap抓取带VLAN标签的数据包方法
2019/07/23 Python
Original Penguin美国官网:布拉德皮特、强尼德普喜爱的服装品牌
2016/10/25 全球购物
小区文明倡议书
2014/05/16 职场文书
房屋买卖授权委托书
2014/09/27 职场文书
2014年保险业务员工作总结
2014/12/23 职场文书
副总经理岗位职责
2015/02/02 职场文书
企业安全隐患排查治理制度
2015/08/05 职场文书
Python+OpenCV实现在图像上绘制矩形
2022/03/21 Python
vue+elementUI实现表格列的显示与隐藏
2022/04/13 Vue.js
微信小程序 根据不同用户切换不同TabBar
2022/04/21 Javascript