在网上找的资源,第一次做这样的功能,记录一下学习。

大概思路就是将html转换成canvas,获取canvas的宽高,将canvas转换成图片。最后将图片转换成pdf。

在网上找过很多资源,帮助自己解决了很多问题,想着也回报一下。这功能自己亲测可用的。

一、第一部引入依赖

npm install html2canvas   

npm install jspdf

二 、代码部分

js代码

//随便新建个js文件。自己能找到就行,配置js代码
import html2canvas from "html2canvas";
import jsPDF from "jspdf";export const downloadPDF = page => {html2canvas(page).then(function(canvas) {canvas2PDF(canvas);});
};const canvas2PDF = canvas => {let contentWidth = canvas.width;let contentHeight = canvas.height;//a4纸的尺寸[595.28,841.89],html页面生成的canvas在pdf中图片的宽高let imgWidth = 595.28;let imgHeight = 592.28/contentWidth * contentHeight;// 第一个参数: l:横向  p:纵向// 第二个参数:测量单位("pt","mm", "cm", "m", "in" or "px")let pdf = new jsPDF("p", "pt");pdf.addImage(canvas.toDataURL("image/jpeg", 1.0),"JPEG",0,0,imgWidth,imgHeight);pdf.save("SM功能目标确认概率指标评估报告.pdf");
};

html代码:

<div ref='pdf'>这里是要输出的PDF块
</div>
<button @click='exportPdf'>导出pdf</button>

vue页面里的js代码,调用一下方法就可以了

 import {downloadPDF} from '../config/htmlToPdf.js' //我是菜鸟,因为没括花括号报了半天错我当时还没注意到。浪费了好久时间handleExport() {downloadPDF(this.$refs.pdf)}

结语:功能自己找了半天亲测可用的,调用那里不用ref改成id调用(documentgetElementById('pdf'))也是可以的

vue生成pdf文件相关推荐

  1. SpringBoot+Vue+mybatis生成pdf文件(表头跟页码,适应上传linux服务器后的操作)

    SpringBoot+Vue+mybatis生成pdf文件(表头跟页码,适应上传linux服务器后的操作) 为什么使用后端去生成 说明 依赖 后端目录 控制器代码 模板代码 前端代碼 最終效果 为什么 ...

  2. iText5实现Java生成PDF文件完整版,二维码

    iText5实现Java生成PDF文件完整版 vue 项目中分别使用 vue-pdf 插件和内嵌 iframe 实现 PDF 文件预览,缩放,旋转,下载,保存等功能 ? Vue打印文件(v-print ...

  3. python使用fpdf生成pdf文件章节(chapter),包含:页眉、页脚、章节主题、数据排版等;

    python使用fpdf生成pdf文件章节(chapter),包含:页眉.页脚.章节主题.数据排版等: #仿真数据 The year 1866 was marked by a bizarre deve ...

  4. python使用fpdf生成pdf文件:配置多种语言字体写入多种文字

    python使用fpdf生成pdf文件:配置多种语言字体写入多种文字 目录

  5. 一步快速将Smartform output转成生成PDF文件

    世间竟有如此盖世神功!最简单的smart form output转化成 PDF文件的方式.   Form打印预览界面在事务栏输入T-code:PDF!,注意!为半角英文状态下的感叹号. 输入T-cod ...

  6. 安装texlive并用latex编写一段中文,最后生成pdf文件

    安装texlive并用latex编写一段中文,最后生成pdf文件 **#一.下载安装(**链接https://tug.org/texlive/) ##1.第一步 ##2.第二步 ##3.第三步 ##4 ...

  7. 小容量单片机生成pdf文件

    工作上要求使用小容量单片机生成直接生成pdf文件. 经过一段时间的摸索,其中参考了libharu,库太大,不适合在单片机上使用 页参考了与非网上一位前辈的库,占用的RAM太大,不适合小容量单片机, 主 ...

  8. php输出PDF的文件流_怎么用PHP在HTML中生成PDF文件

    译文:使用PHP在html中生成PDF 译者:dwqs 利用PHP编码生成PDF文件是一个非常耗时的工作.在早期,开发者使用PHP并借助FPDF来生成PDF文件.但是如今,已经有很多函数库可以使用了, ...

  9. 前端vue实现pdf文件的在线预览

    3.前端vue实现pdf文件的在线预览 我是通过 <iframe> 标签就可以满足我工作的 pdf预览需求 如果<iframe> 无法满足需求 , 可以使用pdf.js这个插件 ...

最新文章

  1. ibm linux mq 发送消息_RabbitMq、ActiveMq、Kafka和Redis做Mq对比
  2. 【Android基础】动画
  3. Elasticsearch2.x Doc values
  4. Hive安装与配置MySQL元数据库
  5. VS修改生成应用图标
  6. Spring Cloud微服务下的权限架构调研
  7. 一个Linux中用于监控的简易shell脚本
  8. 国产卫星高分四号(GF4)预处理(辐射定标)
  9. Servlet和Tomcat底层分析
  10. 解决华为手机用rem单位,内容超出屏幕宽度问题
  11. metasploit中msf批量监测
  12. 【离散数学】第二章 命题逻辑的推理理论
  13. 优动漫PAINT小技巧——描边功能的使用
  14. dToF与iToF技术解析
  15. Win32_Processor CPU 参数说明
  16. 五行各500字,2位字符串组合,数据量大而采取分段输出表格形式方程式
  17. 微信公众号无限定时群发系统
  18. CentOS8.1启动时出现Failed to start Switch Root错误如何解决?
  19. LeetCode 开心字符串
  20. win7 开启文件共享服务器,windows7如何共享文件夹_windows7怎样设置共享文件夹

热门文章

  1. 深入浅出scala之函数(匿名函数)(P41-45)
  2. Excel:巧用“照相机”同步数据(转)
  3. 程序猿日后规划_保存网页以供日后阅读的最佳方法
  4. 从事计算机视觉必知的「大牛」有哪些?
  5. win7自动休眠怎么设置和取消
  6. 实时搜索引擎Elasticsearch(4)——Aggregations (聚合)API的使用
  7. ‘xxx‘ “将对您的电脑造成伤害。 您应该将它移到废纸篓。”mac一直弹窗并关不掉的解决方式
  8. C语言中size_t类型详细说明【转载】
  9. Java调用excel宏
  10. 数据小助手:DataAssistant开篇