剪切路径似乎不在文本之内

时间:2015-10-06 13:16:43

标签: pdf clipping

最近我想构建一个应该有文本剪辑的PDF文档:使用 4 Tr 我试着将文本定义为剪切区域。但是,当我想用​​红色填充文本的下半部分时,结果是相反的。

有谁知道,为什么?

感谢您的回答!

stream
BT
 4 8 Td
 0.8 0.2 0.7 rg    % Writing lila.
 4 Tr              % Fill & Use text as clipping area.
 /TR 32 Tf
 (Hallo Welt) Tj
 1 0 0 rg          % Fill in red.
 0 0 200 20 re F   % <- Mistake?
ET

我想拥有的东西:

What I wanted to have

我得到了什么:

What I got

1 个答案:

答案 0 :(得分:2)

查看规范ISO 32000-1

  

剪辑模式的行为需要进一步说明。如果在文本渲染模式设置为剪切模式时执行 BT 运算符,或者如果在文本对象中将其设置为剪切模式,则雕文轮廓将开始累积。字形应累积,直到文本对象被 ET 运算符结束;在该点之前,文本渲染模式不应更改回非滑动模式。

     

(第9.3.6节文字渲染模式

在您的示例中,您不要等到剪切路径的 ET 才能生效。因此,当您绘制红色矩形时,您的特殊剪切路径尚未生效。

此外,您的操作顺序实际上无效!在文本对象中,路径构造和路径绘制操作符(即,0 0 200 20 reF都不允许)都不允许,参见图9 - specification中的图形对象

Figure 9 –  Graphics Objects

因此,严格来说,您的PDF查看器最好拒绝绘制您的内容流。