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 相关文章推荐
Javascript select控件操作大全(新增、修改、删除、选中、清空、判断存在等)
Dec 19 Javascript
jQuery中RadioButtonList的功能及用法实例介绍
Aug 23 Javascript
通过正则表达式实现表单验证是否为中文
Feb 18 Javascript
如何用javascript计算文本框还能输入多少个字符
Jul 29 Javascript
原生js制作日历控件实例分享
Apr 06 Javascript
基于Layer+jQuery的自定义弹框
May 26 Javascript
Angular实现的简单定时器功能示例
Dec 28 Javascript
element vue Array数组和Map对象的添加与删除操作
Nov 14 Javascript
Android 自定义view仿微信相机单击拍照长按录视频按钮
Jul 19 Javascript
小程序websocket心跳库(websocket-heartbeat-miniprogram)
Feb 23 Javascript
VUE table表格动态添加一列数据,新增的这些数据不可以编辑(v-model绑定的数据不能实时更新)
Apr 03 Javascript
解决vue组件没显示,没起作用,没报错,但该显示的组件没显示问题
Sep 02 Javascript
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
PHP大批量数据操作时临时调整内存与执行时间的方法
2011/04/20 PHP
兼容ie6浏览器的php下载文件代码分享
2014/07/14 PHP
PHP中的empty、isset、isnull的区别与使用实例
2019/03/22 PHP
TP5框架实现的数据库备份功能示例
2020/04/05 PHP
javascript 写类方式之六
2009/07/05 Javascript
boxy基于jquery的弹出层对话框插件扩展应用 弹出层选择器
2010/11/21 Javascript
JS仿百度搜索自动提示框匹配查询功能
2013/11/21 Javascript
javascript中全局对象的parseInt()方法使用介绍
2013/12/19 Javascript
setTimeout()与setInterval()方法区别介绍
2013/12/24 Javascript
JS遍历数组和对象的区别及递归遍历对象、数组、属性的方法详解
2016/06/14 Javascript
Bootstrap基本插件学习笔记之轮播幻灯片(23)
2016/12/08 Javascript
JS开发中基本数据类型具体有哪几种
2017/10/19 Javascript
Nginx 配置多站点vhost 的方法
2018/01/07 Javascript
vue中axios解决跨域问题和拦截器的使用方法
2018/03/07 Javascript
详解mpvue中使用vant时需要注意的onChange事件的坑
2019/05/16 Javascript
解决mui框架中switch开关通过js控制开或者关状态时小圆点不动的问题
2019/09/03 Javascript
关于layui 实现点击按钮添加一行(方法渲染创建的table)
2019/09/29 Javascript
使用Vue生成动态表单
2019/11/26 Javascript
小程序实现密码输入框
2020/11/16 Javascript
Linux下Python获取IP地址的代码
2014/11/30 Python
Python的Bottle框架的一些使用技巧介绍
2015/04/08 Python
PyCharm在新窗口打开项目的方法
2019/01/17 Python
python中将两组数据放在一起按照某一固定顺序shuffle的实例
2019/07/15 Python
在python Numpy中求向量和矩阵的范数实例
2019/08/26 Python
python3.7 利用函数os pandas利用excel对文件名进行归类
2019/09/29 Python
python获取全国城市pm2.5、臭氧等空气质量过程解析
2019/10/12 Python
使用django自带的user做外键的方法
2020/11/30 Python
python如何修改文件时间属性
2021/02/05 Python
天猫精选:上天猫,就够了
2016/09/21 全球购物
中国最大的潮流商品购物网站:YOHO!BUY有货
2017/01/07 全球购物
世界顶级足球门票网站:Live Football Tickets
2017/10/14 全球购物
报社实习生自荐信
2014/01/24 职场文书
超市仓管员岗位职责
2014/04/07 职场文书
关于孝道的演讲稿
2014/05/21 职场文书
利用 SQL Server 过滤索引提高查询语句的性能分析
2021/07/15 SQL Server
JavaScript实例 ODO List分析
2022/01/22 Javascript