PDF到Postscript的转换如何工作?

时间:2019-03-22 03:23:58

标签: pdf postscript

我了解PS到PDF转换的基本过程。 PS是一个绘图程序,因此PS解释器运行该程序并绘制对象,然后将这些对象渲染到PDF信封中。

此过程如何反向进行?将PDF文件中的每个对象元素都视为图像,然后创建一组绘制每个图像的PS指令是基本思想吗?

1 个答案:

答案 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>