下载安卓APP箭头
箭头给我发消息

客服QQ:3315713922

编程语言的HTML5的JavaScript 客户端PDF解决方案

作者:课课家教育     来源: http://www.kokojia.com点击数:866发布时间: 2019-09-10 09:38:13

标签: 编程语言JavaJavascript

大神带你学编程,欢迎选课

HTML5Javascript 客户端PDF解决方案——jsPDF。java是一个面向对象的语言。对程序员来说,这意味着要注意应中的数据和操纵数据的方法(method),而不是严格地用过程来思考。

在一个面向对象的系统中,类(class)是数据和操作数据的方法的集合。数据和方法一起描述对象(object)的状态和行为。每一对象是其状态和行为的封装。类是按一定体系和层次安排的,使得子类可以从超类继承行为。在这个类层次体系中有一个根类,它是具有一般行为的类。Java程序是用类来组织的。

介绍

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

编程语言的HTML5的JavaScript 客户端PDF解决方案_编程语言_Java_Javascript_课课家

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中使用中文文本,则您的字体必须具有必要的中文字形。因此,请检查您的字体是否支持所需的字形,否则它将显示空白而不是文本。

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

Angular/Webpack/React等配置

常规操作

  1. import * as jsPDF from 'jspdf' 

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

  1. import jsPDF from 'jspdf'

API

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

 


 


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

 

在线DEMO

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

总结

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

Java是一个强类型语言,它允许扩展编译时检查潜在类型不匹配问题的功能。Java要求显式的方法声明,它不支持C风格的隐式声明。这些严格的要求保证编译程序能捕捉调用错误,这就导致更可靠的程序。

赞(27)
踩(0)
分享到:
华为认证网络工程师 HCIE直播课视频教程