Github
https://github.com/MrRio/jsPDF
Github star数17k+,可以说相称受欢迎了!
一样平常情形下我们会考虑利用包管理,常见的便是npm了,因此安装非常大略

npm install jspdf --save
或者也可以利用yarn
yarn add jspdf
接下来便是制作你的文件的时候了
默认导出为a4纸张,纵向,利用毫米表示单位
var doc = new jsPDF()doc.text('Hello world!', 10, 10)doc.save('a4.pdf')
如果要变动纸张尺寸,方向或单位,可以实行以下操作:
var doc = new jsPDF({ orientation: 'landscape', unit: 'in', format: [4, 2]})doc.text('Hello world!', 1, 1)doc.save('two-by-four.pdf')利用UTF-8 / TTF
PDF中的14种标准字体仅限于ASCII代码页。如果要利用UTF-8,则必须集成自定义字体,该字体供应所需的字形。jsPDF支持.ttf文件。因此,如果你希望在pdf中利用中文文本,则您的字体必须具有必要的中笔墨形。因此,请检讨您的字体是否支持所需的字形,否则它将显示空缺而不是文本。
要将字体添加到jsPDF,在/fontconverter/fontconverter.html中利用官网供应的fontconverter。fontconverter将创建一个js文件,个中包含供应的ttf文件的内容作为base64编码的字符串和jsPDF的附加代码。你只需将天生的js-File添加到项目中即可。然后,就可以在代码中利用setFont-method并编写UTF-8编码文本。
Angular/Webpack/React等配置
常规操作
import as jsPDF from 'jspdf'
有些框架,必须像下面这样
import jsPDF from 'jspdf';
APIjsPDF的api非常丰富,在这里就不供应干系地址了,在Github一定找的到,本文重点不在于先容jsPDF的用法,将部分API截图展示,通过名称大致能猜到一些意思,详细用法须要参考官网文档:
从截图来看,其文档特殊的详细,详细到每一个API在js文件的行数,便于阅读源代码,包括参数以及返回值都非常明确:
在线DEMO
官方供应了一个在线demo,可以直接运行代码,感兴趣的可以先考试测验一下:
总结
jsPDF是笔者见过类似产品中较为突出的,险些涵盖了所有PDF干系操作,非常详细的文档也让开发者,轻松上手,在线demo还能快速学习,如果你的项目对PDF的操作比较多,不妨考试测验下jsPDF,唯一须要把稳的便是办理字体问题,但是上文也提到过办理方案,感兴趣的可以进行体验!