介绍和往常一样,jsPDF是一个开源的客户端PDF解决方案。在之前的文章中介绍了几个Web和PDF相关的库,而jsPDF也是一个不错的客户端PDF参考SDK。您可以通过jsPDF在客户端完成相关操作。它包含了非常丰富的API来帮助你完成一系列复杂的操作!可以说是相当领先的HTML5客户端解决方案!Githubhttps://github.com/MrRio/jsPDFGithubstar数17k+,可以说是相当的火爆了!安装和使用一般我们会考虑使用包管理,常见的是npm,所以安装很简单npminstalljspdf--save或者你也可以使用yarnyarnaddjspdf接下来就是制作你的文件的时候默认导出的是A4纸,纵向,使用毫米表示单位vardoc=newjsPDF()doc.text('Helloworld!',10,10)doc.save('a4.pdf')如果你想改变纸张大小、方向或单位,你可以这样做以下内容:vardoc=newjsPDF({orientation:'landscape',unit:'in',format:[4,2]})doc.text('Helloworld!',1,1)doc.save('two-by-four.pdf')使用UTF-8/TTFPDF中的14种标准字体仅限于ASCII代码页。如果要使用UTF-8,则必须集成自定义字体,它提供所需的字形。jsPDF支持.ttf文件。因此,如果您希望在您的pdf中使用中文文本,您的字体必须具有必要的中文字形。所以检查你的字体是否支持你想要的字形,否则它会显示空白而不是文本。给jsPDF添加字体,使用官网提供的fontconverter在/fontconverter/fontconverter.html。fontconverter将创建一个js文件,其中包含提供的ttf文件的内容作为base64编码的字符串和jsPDF的附加代码。您只需将生成的js文件添加到您的项目中。然后,您可以在代码中使用setFont方法并编写UTF-8编码的文本。Angular/Webpack/React等配置例程import*asjsPDFfrom'jspdf'对于某些框架,必须像下面这样importjsPDFfrom'jspdf';APIjsPDF有非常丰富的api,这里就不提供相关地址了。你必须在Github上找到它。这篇文章重点不是介绍jsPDF的用法,而是展示一些API截图,大家可以通过名字大致猜出一些意思。具体使用需要参考官网文档:从截图看,文档特别详细,具体到js文件中每个API的行数,方便阅读源码,包括参数和返回值很清楚:OnlineDEMO官方提供了在线演示,可以直接运行代码,有兴趣的可以先试试:总结jsPDF是我见过的同类产品中最突出的是的,它涵盖了几乎所有的PDF-相关操作。非常详细的文档也能让开发者轻松上手,在线demo也能快速学习。如果你的项目对PDF的操作比较多,不妨试试jsPDF。唯一需要注意的是解决字体问题,不过上面也提到了解决方法,有兴趣的可以去体验一下!
