以编程方式如何重置PDF中的颜色

时间:2010-09-03 20:28:32

标签: pdf-generation

我正在创建一个PDF文件,我想在页面上生成几个矩形 但是,一旦我填充一个矩形的颜色,我无法重置填充颜色(非抚摸颜色) 透明,白色,透明或任何需要的东西,以便矩形中没有颜色

我用它将笔画和非笔画设置为红色

1.0  0.0  0.0 rg
1.0  0.0  0.0 RG

我设置了线宽

1 w

我绘制一个矩形,它显示为一个红色矩形(轮廓和填充为红色)

0046.8 0633.6 0237.6 0100.8 re
B

现在我将笔画设置为黑色

0.0  0.0  0.0 RG

我尝试创建另一个矩形(我只想要黑色轮廓)

0072.0 0576.0 0288.0 0144.0 re
B

但是第二个矩形显示为黑色轮廓但是填充为红色? 如何获得红色填充的红色?

1 个答案:

答案 0 :(得分:3)

您的问题是您使用B。如果你交换两个绘图操作,你会看到(当然是)第二个矩形现在用黑色填充,因为黑色是默认颜色。您应该将S用于第二个矩形,以便该路径被描边但未填充。

顺便说一下,你错过了一些减少生成的PDF大小的简单方法:

  • 当所有三个数字相同时,请使用g / G代替rg / RG
  • 1 w是不必要的(除非从另一个设置返回该设置),1是笔画宽度的默认值。
  • 请勿在数字上打印尾随.0或前导零。

将所有这些放在一起,这是您生成的页面流应该是什么样子:

1 0 0 rg 1 0 0 RG
46.8 633.6 237.6 100.8 re B
0 G
72 576 288 144 re S