现在要实现功能为:将写好的页面。打印成PDF格式

代码实现

1.首先安装插件

// 第一个.将页面html转换成图片
npm install --save html2canvas
// 第二个.将图片生成pdf
npm install jspdf --save 

2.创建文件: 在src/utils文件夹中创建文件html2pdf.js

// 导出页面为PDF格式
import html2canvas from "html2canvas"
import JSPDF from "jspdf"
export default {install (Vue, options) {Vue.prototype.ExportSavePdf = function (htmlTitle, currentTime) {var element = document.getElementById("pdfCentent")html2canvas(element, {logging: false}).then(function (canvas) {var pdf = new JSPDF("p", "mm", "a4") // A4纸,纵向var ctx = canvas.getContext("2d")var a4w = 170; var a4h = 257 // A4大小,210mm x 297mm,四边各保留20mm的边距,显示区域170x257var imgHeight = Math.floor(a4h * canvas.width / a4w) // 按A4显示比例换算一页图像的像素高度var renderedHeight = 0while (renderedHeight < canvas.height) {var page = document.createElement("canvas")page.width = canvas.widthpage.height = Math.min(imgHeight, canvas.height - renderedHeight)// 可能内容不足一页// 用getImageData剪裁指定区域,并画到前面创建的canvas对象中page.getContext("2d").putImageData(ctx.getImageData(0, renderedHeight, canvas.width, Math.min(imgHeight, canvas.height - renderedHeight)), 0, 0)pdf.addImage(page.toDataURL("image/jpeg", 1.0), "JPEG", 10, 10, a4w, Math.min(a4h, a4w * page.height / page.width)) // 添加图像到页面,保留10mm边距renderedHeight += imgHeightif (renderedHeight < canvas.height) { pdf.addPage() }// 如果后面还有内容,添加一个空页// delete page;}pdf.save(htmlTitle + currentTime)})}}
}

3.在全局main.js中引入

// 下载打印成PDF
import htmlToPdf from "../src/utils/html2pdf"
Vue.use(htmlToPdf)

4.在需要打印的页面设置打印

  <div class="cost-table">这里面是需要打印的内容</div><button type="danger" @click="ExportSavePdf(htmlTitle, nowTime)">导出PDF</button>//打印的按钮 <script>export default {data() {return {htmlTitle: "PDF名称",nowTime: ""}}
</script>

实现效果

点击按钮后则出现下载的文件,点开文件内容

vue项目 - 实现页面打印成PDF格式相关推荐

  1. vue 项目中页面打印实现(去除页眉页脚)

    vue 项目中页面打印实现 参考文章: 13 Paged media 项目描述: 背景:框架vue.组件 element-ui,已有一个在用的后台管理系统 需求:现需在列表页面添加按钮-----打印协 ...

  2. MATLAB:将figure图打印成pdf格式

    一个小小的需求,一个同学咨询如何把figure图打印成pdf格式,故分享一下这个方法, clcclose allclearx = 1:10;y = sin(x)+2*cos(x/2)+x/2;figu ...

  3. html表格打印成pdf格式文件,使用html2pdf打印PDF格式文件中的数据作为PDF文件

    我想从表单文章中获取一些数据并将其输出到PDF2文件中,并在同一页面上使用html2pdf.但是,当试图将表单数据发布到同一页面时,它不会打开PDF文件,这可能是因为PHP文件的其余部分将出现在if( ...

  4. vue项目中将页面生成图片或者PDF文档

    vue中页面快速导出成图片或者PDF文档 实现效果图image 实现代码 将页面html转换成图片或者PDF文档 在需要导出的页面引入 在util文件夹下创建htmlToPdf.js文件 在main. ...

  5. php中用tcpdf进行html合同页面转换成pdf格式的文档或者是直接打印

    1.https://github.com/mpdf/mpdf   github插件下载地址 2.dome测试 function tcpdf($str){ //引入tcpdf插件        requ ...

  6. 如何将网页打印成PDF文档?没看错,这个真可以!

    当我们在浏览器上看到某篇文章时,需要保存下来,大家都会用哪种方式呢? 一般的小伙伴都是复制内容,然后粘贴到Word里,为了美观,然后再重新排版.其实这种方法并不是不可,但是如果遇到有限制的文章.那么就 ...

  7. base64文件流转换成pdf格式下载/打印,兼容IE浏览器

    需求: 后端返回的是一个base64的文件流,需要前端自行处理,把它处理成PDF格式并在浏览器中打印出来 代码: getPrint(data).then(res => {const URL = ...

  8. html虚拟打印转为pdf,Doro PDF Writer 虚拟打印机 – 可将任何格式图片/文档/文件转换成 PDF格式...

    在办公领域经常要用到 PDF 格式文档,因此常常有图片.表格.Word 等各种不同格式的文档转换成 PDF 格式的需求.虽然网上有很多在线转换网站或 PDF 转换软件,不过今天推荐的是通用性更强的软件 ...

  9. echart转换成pdf js_【jsPDF】jsPDF插件实现将html页面转换成PDF,并下载,支持分页...

    1.目的:在前段是 jQuery库 或者 VUE库 或者两者混合库,将html 页面和数据 转换成PDF格式并下载,支持分页 1.项目背景: 对客户报修记录进行分类统计,并生成各种饼图.柱状图.线性图 ...

最新文章

  1. Tensorflow源码解析5 -- 图的边 - Tensor
  2. RamDisk加速Windows 7?
  3. 猴年如何抢红包?错过这秘籍可能错过几个亿!
  4. linux sed命令替换目标字符串所在行整行为给定值
  5. tomcat配置文件详解
  6. idea怎么看sql执行打印_SQL查找是否quot;存在quot;,别再count了,很耗费时间的
  7. php百度编辑器精简版,开源web编辑器|百度编辑器ueditor下载1.4.3.4php版 下载_久友软件下载...
  8. 容器编排技术 -- 安装和设置kubectl
  9. 戴尔商台试机选购指南
  10. 机器学习笔记(李宏毅 2021/2022)——第一节:基本概念
  11. edius隐藏快捷键_EDIUS快捷键集锦
  12. Excel — 动态图表(下拉框动态图)
  13. STM32+AD7606
  14. 【用HTML+CSS实现简单的轮播图片效果】
  15. 计算机excel界面,2017《职称计算机》知识点:Excel用户界面
  16. 算法系列之十八:用天文方法计算二十四节气(下)
  17. 华为防火墙双机热备(link-group和Eth-trunk)
  18. Latex中编译时出现File `xxx.sty‘ not found.错误的解决方法
  19. angularjs源码阅读-1-模块加载器
  20. 一段感情走到尽头的三大征兆

热门文章

  1. 详解富集分析超几何分布检验
  2. Fecshop的安装以及配置
  3. 华为,将智能计算进行到底
  4. b级计算机机房标准,B级电子信息系统机房技术要求(国标GB50174–2008)
  5. 联系Apple客服小结
  6. 机器学习——贝叶斯网(bayesian Network)一
  7. ER图和数据库模型图怎么使用呢?
  8. 投了上千简历,是Android岗位需求少?还是我的技术不行
  9. android开发笔记之Makefile(一)
  10. 麻省理工大学公开课 离散数学