PDF文本对象中字符串之间散布的负数的含义是什么?例如,在
中/F1 1 Tf
4.2622 0 TD
[(has)-333.9(not)-334.7(been)-333.9(elucidated)-10.7(.)]TJ
除了-333.9
,-334.7
,-10.7
之外,我发生了一切。
我的问题是:
答案 0 :(得分:4)
您引用的PDF源代码行
/F1 1 Tf
4.2622 0 TD
[(has)-333.9(not)-334.7(been)-333.9(elucidated)-10.7(.)]TJ
可以像这样解码:
<强> /F1
强>:
这会将当前字体设置为名为/F1
的字体。 (这只是一个简短的名称 - 实际的字体是在PDF的其他地方定义的。)
<强> 1 Tf
强>:
这会选择文本字体并将其大小设置为1
(以文本空间为单位),因为Tf
与PostScript中的selectfont
运算符等效。
<强> 4.2622 0 TD
强>:
这会将文本位置移动到4.2622 0
,并将文本设置为前导。 TD
在PostScript中没有直接的等价物。
<强> [....]TJ
强>:
这定义了字符串的组成方式。 TJ
是与show
类似的运算符,适用于PostScript。不同之处在于TJ
允许单独的字形定位。 [....]
定义了一个单独的较小字符串数组。
(has)
,(not)
,(been)
,(elucidated)
和(.)
:
这些是放置在[....]
数组中的完整文本的各个部分。
-333.9
,-334.7
,-333.9
和-10.7
:
这些数字按该金额调整相应的文本位置。数字以文本空间为单位的千分之表示。根据官方PDF规范,此&#34;金额应从当前水平或垂直坐标<#34; 减去。当水平书写时,正数将下一个字符串移动到 left 。负数将其移动到右侧。
因此,在此示例PDF代码中,负数决定了相应的字距。
要概述PDF运算符(以及它们与匹配的PostScript运算符名称的映射,如果有),请查看以下文档的第643页:
有关TJ
运算符和前一个数组的官方说明,请参阅同一文档的第109页的表109 :