前言 最近在项目中,有一个导出pdf功能,需要纯前端来实现,调研了多种pdf导出方式,最终决定使用html2canvas+jsPDF来实现需求. 本文就简单介绍一下html2canvas+jsPDF导出pdf的实现,网上大部分实现导出pdf都是以分页为主的,本文还将附上不分页导出pdf的实现方法.(只附js代码) html2canvas+jsPDF导出pdf原理:通过html2canvas将遍历页面元素,并渲染生成canvas,然后将canvas图片格式添加到jsPDF实例,生成pdf. 安装:…
参考大家导出的方式,基本上是如下两种: 1.使用 html2Canvas + jsPDF 导出PDF, 这种方式什么都好,就是下载的pdf太模糊了.对要求好的pdf这种方式真是不行啊! 2.调用浏览器自身的方法.window.print() 来打印(打印时可选下载),这种方式打印出来很清楚,但纯在浏览器兼容问题. 谷歌浏览器比较好用点. 两种导出pdf清晰度对比: --------------左边 html2canvas + jspdf:-----------------------------…
在做web项目中,有时候会遇到pdf导出的需求,现根据之前在公司的React项目中遇到的导出PDF需求,整理一个demo出来. 导出PDF需要用到两个依赖包:html2canvas.jspdf 1.安装html2canvas和jspdf npm install html2canvas -S / yarn add html2canvas -S npm install jspdf -S / yarn add jspdf -S 2.把导出PDF封装成一个公共方法 1.在src/common目录下新建e…
在许多生成报表的时候需要我们后台作出动态的数据,并渲染到前端生成pdf格式,Excel格式的各种报表,但是浏览器自带的生成pdf功能,windows系统的ctrl+p键就能完全搞定这一需求,但对客户来说,这种体验极差,肯定是不行的,有好几种方法将html生成pdf格式,每一种方法都有自己的优缺点, 先简单谈一谈第一种比较简单的jsPDF,代码完全有javascript就够了,不需要后台,但是不管哪一种都需要页面前端代码写的表准规范,不那么乱套就行, jsPDF:直接上代码: <!DOCTYPE…
当使用confluence编辑页面时,当一行的文字过多,且中间没什么逗号分隔时,有时会出现导出的pdf文件中,这一行显示的文字不全的情况. 如: 很明显费用的费字没有显示完全,且后面还有其他的字. 可以看到其他官方提供的pdf导出的样式中,已经包含下列内容: 但是它并没有起到效果(不是完全没有效果,有些地方可以) 可参考如下的css内容,修改: @page { size: 210mm 297mm; margin: 15mm; } body, p, li, td, table, tr, br, .…
第一首先是要引用 import jsPDF from 'jspdf' import html2canvas from 'html2canvas' import PDFJS from 'pdfjs-dist' PDFJS.GlobalWorkerOptions.workerSrc = 'pdfjs-dist/build/pdf.worker.js' 第二页面点击按钮 第三 //要导出的div的id var target = document.getElementById('export_conte…
最近在做项目时有这么一个需求,需要将当前html页面导出pdf到本地.由于之前是做过类似的功能的借助了两个插件分别是html2canvas.js和pdf.js,本以为是非常顺利就能完成的,实际在使用过程中也还是出现了问题. 写这篇文章也是记录下在集成过程中遇到的问题和如何解决这些问题的. 首先导入这两个插件:   <script src="https://cdn.bootcss.com/html2canvas/0.5.0-beta4/html2canvas.js"><…
简介 本文使用jspdf 1.5.3版.GitHub地址:https://github.com/MrRio/jsPDF jspdf是歪果仁开发的,因此在一开始就没想过支持非英文以外的文字,这就导致了非英文的文本都是乱码. 因此就有其他大佬给增加了其他解决方案,到了1.5版本也正式加入了非英文支持的解决方案. 解决的思路大致是,给jspdf加载其他字体库,使其能够正常输出中文. 打包字体文件 在开始的第一步我们需要从GitHub下载源代码,因为我们需要使用其中附带的工具fontconverter.…
jsPDF的简单使用以及中文编码问题的解决 文中js通过CDN引入,若是为了加载时间最好下载至本地. jsPDF的使用 jsPDF简介 jsPDF 是一个基于 HTML5 的客户端解决方案,用于在客户端JavaScript中生成PDF的库. 有着方法简单,易于实现的优点. 简单使用 因为为了页面美观,使用bootstrap进行简单设计,所以要先引入bootstrap相关的css和javascript. css: <!-- Bootstrap CSS --> <link rel="…
最近碰见个需求需要实现导出pdf文件,上网查了下代码资料总结了以下代码.可以成功的实现导出pdf文件. 在编码前需要在网上下载个itextsharp.dll,此程序集是必备的.楼主下载的是5.0版本,之前下了个5.4的似乎不好用. 下载之后直接添加引用. <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Webpdf.aspx.cs" Inherits="Web导出…