PDF内容中的负数字流文本对象

时间:2015-01-28 21:50:59

标签: pdf

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之外,我发生了一切。

我的问题是:

  • 他们叫什么?
  • PDF参考中讨论了哪些内容?
  • 他们似乎没有变形。他们是否修改了字体字典的信息?

1 个答案:

答案 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代码中,负数决定了相应的字距。


参考

  1. 要概述PDF运算符(以及它们与匹配的PostScript运算符名称的映射,如果有),请查看以下文档的第643页

  2. 有关TJ运算符和前一个数组的官方说明,请参阅同一文档的第109页的表109