HTML5的JavaScript 客户端PDF解决方案——jsPDF
创始人
2025-03-17 21:21:24
0次

介绍

和往常一样,jsPDF是一个开源的客户端的PDF解决方案,在之前的文章中已经介绍过几个Web端和PDF相关的库,jsPDF同样是一个不错的客户端PDF引 SDK,你可以通过jsPDF在客户端完成相关操作,它包含了非常丰富的API,帮助你完成一系列的复杂操作!可以说它是相当领先的HTML5客户端解决方案了!

HTML5 的JavaScript 客户端PDF解决方案——jsPDF

Github

https://github.com/MrRio/jsPDF

Github star数17k+,可以说相当受欢迎了!

安装使用

一般情况下我们会考虑使用包管理,常见的就是npm了,因此安装非常简单

  1. npm install jspdf --save 

或者也可以使用yarn

  1. yarn add jspdf 

接下来就是制作你的文件的时候了

默认导出为a4纸张,纵向,使用毫米表示单位

  1. var doc = new jsPDF() 
  2. doc.text('Hello world!', 10, 10) 
  3. doc.save('a4.pdf') 

如果要更改纸张尺寸,方向或单位,可以执行以下操作:

  1. var doc = new jsPDF({ 
  2.  orientation: 'landscape', 
  3.  unit: 'in', 
  4.  format: [4, 2] 
  5. }) 
  6. doc.text('Hello world!', 1, 1) 
  7. doc.save('two-by-four.pdf') 

使用UTF-8 / TTF

PDF中的14种标准字体仅限于ASCII代码页。如果要使用UTF-8,则必须集成自定义字体,该字体提供所需的字形。jsPDF支持.ttf文件。因此,如果你希望在pdf中使用中文文本,则您的字体必须具有必要的中文字形。因此,请检查您的字体是否支持所需的字形,否则它将显示空白而不是文本。

HTML5 的JavaScript 客户端PDF解决方案——jsPDF

要将字体添加到jsPDF,在/fontconverter/fontconverter.html中使用官网提供的fontconverter。fontconverter将创建一个js文件,其中包含提供的ttf文件的内容作为base64编码的字符串和jsPDF的附加代码。你只需将生成的js-File添加到项目中即可。然后,就可以在代码中使用setFont-method并编写UTF-8编码文本。

HTML5 的JavaScript 客户端PDF解决方案——jsPDF

Angular/Webpack/React等配置

常规操作

  1. import * as jsPDF from 'jspdf' 

有些框架,必须像下面这样

  1. import jsPDF from 'jspdf'; 
HTML5 的JavaScript 客户端PDF解决方案——jsPDF

API

jsPDF的api非常丰富,在这里就不提供相关地址了,在Github必然找的到,本文重点不在于介绍jsPDF的用法,将部分API截图展示,通过名称大致能猜到一些意思,具体用法需要参考官网文档:

HTML5 的JavaScript 客户端PDF解决方案——jsPDF

 


HTML5 的JavaScript 客户端PDF解决方案——jsPDF

 


HTML5 的JavaScript 客户端PDF解决方案——jsPDF

 


HTML5 的JavaScript 客户端PDF解决方案——jsPDF

 


HTML5 的JavaScript 客户端PDF解决方案——jsPDF

 


HTML5 的JavaScript 客户端PDF解决方案——jsPDF

 


HTML5 的JavaScript 客户端PDF解决方案——jsPDF

 


HTML5 的JavaScript 客户端PDF解决方案——jsPDF

 


HTML5 的JavaScript 客户端PDF解决方案——jsPDF

 


HTML5 的JavaScript 客户端PDF解决方案——jsPDF

 


HTML5 的JavaScript 客户端PDF解决方案——jsPDF

从截图来看,其文档特别的详细,具体到每一个API在js文件的行数,便于阅读源代码,包括参数以及返回值都非常明确:

 

在线DEMO

官方提供了一个在线demo,可以直接运行代码,感兴趣的可以先尝试一下:

HTML5 的JavaScript 客户端PDF解决方案——jsPDF

总结

jsPDF是笔者见过类似产品中较为突出的,几乎涵盖了所有PDF相关操作,非常详细的文档也让开发者,轻松上手,在线demo还能快速学习,如果你的项目对PDF的操作比较多,不妨尝试下jsPDF,唯一需要注意的就是解决字体问题,但是上文也提到过解决方案,感兴趣的可以进行体验!

 

 

相关内容

热门资讯

PHP新手之PHP入门 PHP是一种易于学习和使用的服务器端脚本语言。只需要很少的编程知识你就能使用PHP建立一个真正交互的...
网络中立的未来 网络中立性是什... 《牛津词典》中对“网络中立”的解释是“电信运营商应秉持的一种原则,即不考虑来源地提供所有内容和应用的...
各种千兆交换机的数据接口类型详... 千兆交换机有很多值得学习的地方,这里我们主要介绍各种千兆交换机的数据接口类型,作为局域网的主要连接设...
粉嫩如何诠释霸道 东芝M805... “霸道粉”是个什么玩意东芝M805拿过来的时候,笔者扑哧笑了,不是笑这款笔记本,而是笑这款产品的颜色...
如何利用交换机和端口设置来管理... 在网络管理中,总是有些人让管理员头疼。下面我们就将介绍一下一个网管员利用交换机以及端口设置等来进行D...
什么是大数据安全 什么是大数据... 在《为什么需要大数据安全分析》一文中,我们已经阐述了一个重要观点,即:安全要素信息呈现出大数据的特征...
只需三步,让你掌握阿尔法路由器... 请参照以下阿尔法路由器设置方法,通过浏览器进入及设置宽带路由器。经过这三个步骤的设置,基本上能够熟悉...
全面诠释网络负载均衡 负载均衡的出现大大缓解了服务器的压力,更是有效的利用了资源,提高了效率。那么我们现在来说一下网络负载...
如何允许远程连接到MySQL数... [[277004]]【51CTO.com快译】默认情况下,MySQL服务器仅侦听来自localhos...
如何更省钱? 近期特价热门硒鼓... 如今激光打印设备已经成为商务或企业的绝对主力办公设备,但采购者往往忽视了激光打印设备所用的耗材,相对...