「这是我参与2022首次更文挑战的第9天,活动详情查看:2022首次更文挑战」
PDF神器iText英文版翻译与学习
作者: 薛大郎.
英文原版:iText in Action 2nd Edition.pdf
坚持. 分享. 成长. 利他 !
一. 前言
今年你在哪里过年?
疫情之下, 几年了没个像样的年了,尤其是多年都见不上一面的亲人,今年过年可以说是疫情下最可能过好一个年的机会。 那么问题又来了,今年你会在哪里过年呢? 、
就地过年
,为国家为社会减轻负担;跟亲人就地过年
,也许这是目前与回老家过年和就地过年一个折中和更好的方案,也可能三个都一样;回自己老家过年
,抖音也在宣传可以回家过年,但是还是建议少拜年串门,少问候跟你没关系的尴尬提问;回另一方老家过年
,大比例的结婚人士会有这样的问题,轮换老家过年,这也是很流行的,但是疫情下可能会打乱之前的规律;
其实不管在哪里过年,都是要开开心心,让身边人开心,然后能够对自己有个总结,在新的一年里为那些还没实现的梦想继续加油,不要让它成为下一年继续努力的目标。
二.正文.
5. 在绝对位置添加内容
这一章节我们会学到怎样处理内容的展示,和调节样式问题。 首先呢, 我们先来看下iText在处理内容上是怎样的一种处理方式:
iText其实是将那内容分成了4层,当我们在使用doc.add()方法时,iText会将Pdf的语法写入包装在PdfContent中的字节缓冲区的字节对象中,当内容足够一页的数据的时候,会将缓冲区以特定的格式添加到Pdf文件中,只有将文本块短语段落的内容放在第③层,而图像,背景,边框或者PdfPCell等添加到了第②层,其他两层时Writer来处理的,我们可以通过PdfWriter来获取两层的内容来处理,第④层在文本和图像的上边使用的是PdfWriter.getDirectContent(),来获取这层的处理内容, 第①层在文本和图像的下边使用的是PdfWriter.getDirectContentUnder()来获取。在iText的术语中, 向①和④层添加内容被称为直接写入或者低级访问,所以我们在制作pdf文件的时候,就需要很好的处理层的关系了。
这个里边的内容挺多的。 尤其是PdfContentByte这个类中有很多处理上下两层内容的位置和内容的, 可以让我们很方便的添加背景或者水印, 以及上边一层的盖章和图片上添加内容, 当然有很多位置的Api。我们先列出来更大家查看。
两个图片来展示 | |
---|---|
moveTo
时移动的, localXxx
以及remoteGoto
跟之前介绍锚点一样可以连接到一些地方, showTextAligend
是这两层上添加文案展示的。 setRGBColor
是处理RGB颜色的, 这里就不一一列举了, 感兴趣的童鞋可以自己尝试处理下。
下边还有一个处理PdfContentByte的工具类,或者叫它格式的工具类,将我们常见的一些展示文本的静态方法提供了出来。 这个我们后边会着重来讲。