我正在尝试手动将一些文本添加到 pdf 文件中。我能够添加具有特定字体的新文本。但我无法设置字体颜色。那么我该如何手动完成呢?(我只想手动更改这些,因为我已经有了编写这些字节以制作 pdf 文件的代码)另外,我如何使用 pdf 标准中指定的图形状态来操作文本,以便功能更改不会影响颜色变化等。我究竟如何使用图形状态?
问问题
3426 次
1 回答
11
PDF 颜色运算符列在 PDF 规范ISO 32000-1:2008的表 74 中。
在您的情况下,您添加的内容流是
104 0 obj
<</Length 105 0 R>>stream
/Helv 8 Tf
BT
1 0 0 1 15.67 150 Tm
(l)Tj
ET
/Helv 8 Tf
BT
1 0 0 1 17.88 190 Tm
(abcdefghijklmnopqr)Tj
ET
endstream
endobj
例如,如果您希望在 RGB 颜色空间中用红色填充文字,请添加1 0 0 rg
:
104 0 obj
<</Length 105 0 R>>stream
BT
1 0 0 1 15.67 150 Tm
/Helv 8 Tf
1 0 0 rg
[...]
编辑
如果您担心该更改可能会影响以后的文本,请记住使用图形状态堆栈运算符q和Q(参见PDF 规范的第 8.4.2 节)。例如
q
0 1 -1 0 595.22 0 cm
q
BT
1 0 0 1 36 540 Tm
/Xi0 12 Tf
0.75 g
(Hello people!)Tj
0 g
ET
Q
Q
于 2013-03-06T08:30:41.523 回答