我在IText中对 PDF 的平面解码流进行了编码,不幸的是,我有一个干净的文本,但无法准确说出它的含义......在PDF 32000中没有关于这个主题的文档......关于这个问题的任何其他文档?
例子
q
0 0 1 rg
0 0 520 150 re
f
0 g
Q
q
BT
36 806 Td
ET
Q
ISO 32000-1:2008(这是您称为PDF 32000的文档,不是吗?)记录了您的示例流的所有内容,尤其是第 8 章图形和第 9章文本:
q
8.4.2图形状态堆栈:q 操作符应将整个图形状态的副本压入堆栈。
0 0 1 rg
表 74颜色运算符:rg - 与 RG 相同,但用于非描边操作。
同上:RG - 将描边颜色空间设置为 DeviceRGB(或 DefaultRGB 颜色空间;参见 8.6.5.6,“默认颜色空间”)并设置用于描边操作的颜色。每个操作数应为介于 0.0(最小强度)和 1.0(最大强度)之间的数字。
0 0 520 150 re
表 59路径构造运算符:re - 将矩形作为完整的子路径附加到当前路径,左下角 (x, y) 以及用户空间中的宽度和高度。
f
表 60路径绘制运算符:f - 填充路径,使用非零缠绕数规则确定要填充的区域(参见 8.5.3.3.2,“非零缠绕数规则”)。任何打开的子路径都应在填充之前隐式关闭。
0 g
表 74颜色运算符:g - 与 G 相同,但用于非描边操作
同上:G - 将描边颜色空间设置为 DeviceGray(或 DefaultGray 颜色空间;参见 8.6.5.6,“默认颜色空间”)并设置用于描边操作的灰度级。gray 应为 0.0(黑色)和 1.0(白色)之间的数字。
Q
q
8.4.2图形状态堆栈:q 操作符应将整个图形状态的副本压入堆栈。Q 操作符应该通过从堆栈中弹出它来将整个图形状态恢复到它以前的值。
BT
9.4.1一般(在 9.4文本对象中):文本对象以 BT 运算符开始,以 ET 运算符结束
36 806 Td
表 108文本定位运算符:Td - 移动到下一行的开头,从当前行的开头偏移 (tx, ty)。tx 和 ty 应表示以未缩放的文本空间单位表示的数字。更准确地说,此操作员应执行这些分配
ET
9.4.1一般(在 9.4文本对象中):文本对象以 BT 运算符开始,以 ET 运算符结束
Q
8.4.2图形状态堆栈:Q 操作符应通过从堆栈中弹出它来将整个图形状态恢复到其以前的值。
如果您对其中一项操作的细节有疑问,您会在周围的明文中找到大量信息。如果学习后仍有问题,请随时提出。
所以基本上这将:
1)从页面的原点(左下角)绘制一个填充的 100% 蓝色矩形,宽度为 520,高度为 120 个单位(大约等于 7.2 x 1.6 英寸)
2)没有任何文本命令做任何事情。“Td”运算符更改文本矩阵,但由于页面上没有绘制文本,您将看不到任何内容。而且因为它嵌入在“q .. Q”对中,所以它也不会对页面上跟随它的任何内容产生任何影响。