尝试了解PDF中的剪贴逻辑

我在PDF内的放气流中具有以下说明:

1 g
/GS1 gs
0 792 m
0 792 l
f
q
1 i 
0 792 612 -792 re
0 792 m
W n
0 792.06 612 -792 re
W n
  1. 将颜色设置为灰色。
  2. 加载一些外部词典信息
  3. 0 792中开始子路径
  4. 0 792中的附加点
  5. 填充路径...。为什么要填充1个灰色像素?
  6. 保存图形堆栈
  7. 将平滑度设置为1
  8. 启动0 792 612 -792矩形子路径
  9. 启动0 792子路径...。为什么要覆盖以前的矩形路径?
  10. 0 792子路径设置为剪切路径并删除当前路径。
  11. 开始创建0 792.06 612 -792矩形。
  12. 使用先前的剪切路径0 792剪切先前的矩形吗?

我的问题是,我没有找到有关裁剪工作原理的好例子。您剪切哪个路径?如果您之前没有剪切路径,您要剪切什么?

谢谢!

wh1469 回答:尝试了解PDF中的剪贴逻辑

首先,您想知道的是正确的,您显示的摘录中的很多内容都没有道理。

例如,您有关3..5的项目

0 792 m
0 792 l
f

PDF规范规定了如下填充路径:

  

如果子路径退化(完全由同一坐标上的一个或多个点组成),则应认为该子路径将位于该点下方的单个设备像素包围起来;结果取决于设备,通常没有用。

(ISO 32000-2,第8.5.3.3节-填充)


您对

的解释
0 792 612 -792 re
0 792 m
W n
不过,您的项目8..10中的

是不正确的。特别是您假设最后一行是

  

将0 792子路径作为剪切路径,并删除当前路径。

实际上忽略了0 792 m子路径,只有0 792 612 -792 re矩形与当前剪辑路径相交了!

根据规范剪辑路径相交的工作方式类似于填充

  

第8.5.3.3节“填充”定义了路径内的内容以及用于封闭路径和退化路径的规则。对于给定的路径定义,由f运算符填充的区域就是用于剪辑的区域。

(ISO 32000-2,第8.5.4节-剪切路径运算符)

然后填充将删除悬垂的0 792 m

  

任何打开的子路径在填充之前都应隐式关闭,除非该路径中的最后一个子路径是单点打开子路径(由尾随的m运算符指定),则应将其忽略而不视为路径的一部分。

(ISO 32000-2,第8.5.3.3节-填充)


因此您对

的解释
0 792.06 612 -792 re
W n

您的商品11和12

  

使用先前的剪切路径0792剪切先前的矩形吗?

略微关闭:实际上,此矩形将剪切上一个剪切路径,该剪切路径最后被另一个几乎相同的矩形剪切。但这比您最初的假设更有意义。


关于您的明确问题

  

您要限制哪个路径?如果您之前没有剪切路径,您要剪切什么?

规范在这里说:

  

初始剪切路径应包括整个页面。

(ISO 32000-2,第8.5.4节-剪切路径运算符)

本文链接:https://www.f2er.com/3110709.html

大家都在问