我正尝试手动将一些文本添加到pdf文件。我能够添加具有特定字体的新文本。但我无法设置字体颜色。那么我怎么做手动? (我只是想手动改变这些,因为我已经有了代码,我写这些字节来制作PDF文件) 另外我怎样才能使用pdf标准中指定的图形状态来操作文本,以便功能更改不会影响颜色变化等等。我到底可以使用图形状态?pdf将字体颜色设置为文本
源pdf文件click here 改性pdf文件clcik here
我正尝试手动将一些文本添加到pdf文件。我能够添加具有特定字体的新文本。但我无法设置字体颜色。那么我怎么做手动? (我只是想手动改变这些,因为我已经有了代码,我写这些字节来制作PDF文件) 另外我怎样才能使用pdf标准中指定的图形状态来操作文本,以便功能更改不会影响颜色变化等等。我到底可以使用图形状态?pdf将字体颜色设置为文本
源pdf文件click here 改性pdf文件clcik here
的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 specification的第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
谢谢。如果我通过指定诸如1 0 0 rg来使用颜色,那么它是否会影响所有字体和其他对象?因为我不想将这种颜色变化影响到我的PDF文件中的所有文本。 – 2013-03-06 09:15:06
我能够用我想要的颜色添加文本。但是生成的pdf不能在Windows 8阅读器(应用程序在Windows 8中用于pdf视图)中打开。在Adobe Reader中它可以正常打开。我可以如何解决它? – 2013-03-06 09:27:11
请提供。我假设无与伦比的运算符对。 – mkl 2013-03-06 09:34:46
你是什么手动添加的文字是什么意思?它与编程有关还是你的意思是在Adobe Acrobat中? – ellak 2013-03-06 07:33:15
不是用adobe acrobat.I想用编程来做。为此我想改变pdf的对象。 – 2013-03-06 08:18:18
你可以显示你到目前为止的代码吗?你使用什么编程语言? – ellak 2013-03-06 08:20:12