我了解PS到PDF转换的基本过程。 PS是一个绘图程序,因此PS解释器运行该程序并绘制对象,然后将这些对象渲染到PDF信封中。
此过程如何反向进行?将PDF文件中的每个对象元素都视为图像,然后创建一组绘制每个图像的PS指令是基本思想吗?
答案 0 :(得分:0)
我不会说PS-> PDF转换是通过渲染 PostScript绘图操作来工作的,这暗示了位图。通常,标记操作是经过分类的,然后使用PDF结构编写等效的标记操作。
现在,PDF是一种描述语言,而不是编程语言。这意味着从PDF开始时,我们可以立即使用对象描述,而不必运行程序来生成它。因此,获取每个描述并将其转换为PostScript程序要容易得多。
实际上,许多这样的转换实际上是通过将PDF运算符定义为PostScript例程来起作用的,然后直接转储PDF运算。例如:
/m /moveto load def
/l /lineto load def
/c /curveto load def
/v { currentpoint 6 2 roll curveto } bind def
/y { 2 copy curveto } bind def
/re {
4 2 roll moveto exch dup 0 rlineto 0 3 -1 roll rlineto neg 0 rlineto
closepath
} def
真正的问题出在处理PostScript中无法表示的PDF功能时,这主要意味着透明性。因为在这种情况下,由于无法创建PostScript矢量描述以匹配PDF描述(图形模型中的差异),所以至少必须将透明区域渲染为位图图像,并将该图像插入PostScript程序中。 / p>