[更文挑战]iText番盘-PDF神器-8

214 阅读3分钟

「这是我参与2022首次更文挑战的第8天,活动详情查看:2022首次更文挑战

PDF神器iText英文版翻译与学习

作者: 薛大郎.
英文原版:iText in Action 2nd Edition.pdf

坚持. 分享. 成长. 利他 !

一. 前言

中年危机、脱发危机

对于不同的职业, 中年或许定义不同, 比如对于数学家来说, 30来岁应该是刚刚开始起步, 开始可以研究更高深的难题的时候, 当然不光是数学家, 可能我们作为开发来说, 如果你只是想生活, 我们成天的CRUD, 并能碾压所有面试官, 那我们可能基本就可以达到自己想要的生活. 但是对于那些喜爱Code的人, 我想可能有些人20-30岁, 已经崭露头角, 引领一个开源或者优秀项目了. 生命也不总是工作, 人是群居动物, 需要太多其他的技能. 然而总是需要有三十而立,三十而已的压力和认知. 我们还可以有多种可能, 重要的是当下应该不让自己懈怠, 只为遇见更好的自己.

二.正文.

4.2 添加图片

对于添加图片iText也做了很多非常好用的静态方法, 方便我们使用;

// 可以使用Image的静态方法 来获取一个Image实例.
public class Image{
    
    public static Image getInstance(final String filename)
          throws BadElementException, MalformedURLException, IOException {
       return getInstance(Utilities.toURL(filename));
    }
   
    public static Image getInstance(final String filename, boolean handleIncorrectImage) throws IOException, BadElementException {
       return getInstance(Utilities.toURL(filename), handleIncorrectImage);
    }

    // 直接根据字节数组, 你懂的.
   public static Image getInstance(final byte imgb[]) throws BadElementException,
           MalformedURLException, IOException {
       return getInstance(imgb, false);
   }

    public static Image getInstance(final byte imgb[], boolean handleIncorrectImage) throws BadElementException,
          MalformedURLException, IOException {}

当然主要的是对于图片处理的Api

scaleAbsolute 将图像缩放到绝对宽度和绝对高度或者某个矩形宽高;

scalePercent 将图像缩放百分比;

scaleToFit 缩放图像,使其适合特定的宽度和高度

setAbsolutePosition 将图像固定到某个位置

setAccessibleAttribute 设置图像的可获取参数

setAdditional 设置附加字典与属性不同, 字典唯一

setAlignment 设置图像对齐方式

setAlt 设置图片不显示下的文案

setAnnotation 设置图片注释

setBorder 设置图片边框

setCompressionLevel 设置图片的压缩等级

setDeflated 设置图片是否压缩

setDpi 设置Dpi

setImageMask 设置图片的掩码

setIndentation 设置图片缩进

setLayer 设置图片的层, 这个非常重要, 层越高覆盖下层. 谁用谁知道

setRotation 设置图片的倾斜度

setSpaceingXxx 设置图片空白

setTransparency 设置图片透明度

setUrl 甚至可以设置一个图片的链接.

image.png

Image作为一个抽象类, 为其子类提供了很多的模板方法, 也因为这样完美的抽象, 可以添加到所有的Chunk中作为文字一样使用, 但是要注意文字可能覆盖.

**到本篇结束, 这就是我们第二章的内容了. 这一张我们主要学习了字体和段落以及段落里的块chunk, 也通过学习添加描点和章节为我们添加目录, 也学习了添加图片等高级元素, 这样我们就可以做出来一个内容丰富的PDF. **

接下来我们将学习第三章, 将特定的内容添加到固定的位置, 也就是排版. 只有学好了排版, 我们可以说等于已经基本会使用了. 其他章节等于是锦上添花.