「这是我参与2022首次更文挑战的第2天,活动详情查看:2022首次更文挑战」
PDF神器iText英文版翻译与学习
作者: 薛大郎.
英文原版:iText in Action 2nd Edition.pdf
坚持. 分享. 成长. 利他 !
一. 前言
成功路上并不拥挤, 无他坚持之人少耳.
对于当代3-5年甚至工作经验不到10年的开发和其他性质的我们来说, 高考
即巅峰, 而对于搬砖人
的我们来说, 内卷仍在继续, 如果你不卷, 你的肾和你的Jennifers还在, 可是他人的肝
已经镀金. 生命不息, 肝
卷不止!
最近很多人在趁着过年长膘之前, 努力减肥, 争取回家增加相亲成功率, 早日GirlFriend-Oriented
, 走上人生巅峰. 我在这里鼓励大家, 一定要心中长存信念, 务必拒绝糖衣炮弹的诱惑.
二.正文.
昨日简单来了个HelloWorld. 想必大家已经有了个完整的Pdf.
3. 详解创建Document的五步
3.1 创建一个新的Document实例
我们经常使用的是一些高级的内容对象, 他们分别是昨天用到的 Paragraph, 他是Phrase的子类, 大家也可以看到他是ArrayList<Element>的子类, 都是一个段落. 就如我们所知道的Office中Doc一个段落一样(我们很多时候可以类比Doc或者Mark-up Language), 可以添加很多的内容, 而这些内容也就是iText抽象出来的Element, 大家可以看到Element的子类相当多.
通过这些元素我们可以将段落丰满起来, 尤其是其中有一个大家非常熟悉的Rectangle
, 这个元素是可以设置大小的一个矩形:
import com.itextpdf.text.Rectangle;
Rectangle pagesize = new Rectangle(216f, 720f);
Document document = new Document(pagesize, 36f, 72f, 108f, 180f);
在此示例中,创建了一个大小为216 x 720用户单位的矩形。这个长方形用作文档构造函数中的页面大小,左边距为36用户单位,右边距为72个用户单位,上边距为108个用户单位,下边距为180个用户单位。
用户单位 这个我们后续扩展
iText的设计也相当的好, 内置了很多我们常用的纸张尺寸供我们使用, 详见 @see com.itextpdf.text.PageSize
, 比如A3,A4,LETTER等. 非常方便大家使用. 除此之外Document的一些属性也必须在打开(doc.open())前设置好, 这些属性包括我们在Adobereader中右击一个Pdf文件>文档属性中看到的那些.
见名知意 有addAuthor 添加作者, addCreationDate 创建时间, 有一个最重要的一个方法即 addDocListener
也就是iText的观察者模式实现的, 我们可以通过实现此接口完成我们一些自定义的非常实用的功能.
一个Document就可以讲一节,后续内容也较多, 所以分开来讲解.
3.2 获取一个PdfWriter的实例
3.3 打开Document
3.4 添加内容到Document中
3.5 关闭Document
这就是我们的第二篇更文挑战内容, 就先到这里, 欲知后文, 且听下文;