3

我在 PostScript 中对文件进行编码,并使用命令行复制过程将其直接发送到打印机(Cannon Image Runner Adv 8105 PRO)

我已经获得了打印机的 PPD 文件 ( CNADV8105E1.PPD ),并且我将 PS 命令注入到我的 PS 文件中,以便按照 PPD 中的定义进行装订<</Staple 3 /StapleDetails <</Type 21 /Position (1PLU)>> >> systemdict /setpagedevice get exec我在%%BEGINSETUP块中注入装订命令

当我的 PS 文件由 acrobat reader 编码(使用 reader 打印到 redmon/ghostscript 打印机)时,装订命令成功运行,但是此选项不适合整体所需的结果,因为 acrobat reader 窗口会为每个打印的文档打开(如果有多个打印文件)

为了避免必须为每个文档打开 acrobat 阅读器,我将 pdf 通过 .net 库 (xpdf – pdftops) 这以不同格式的 postscript 对输出进行编码,但是在注入订书钉命令时,打印机可以正确解释并成功打印正如 PPD 定义的这种编码,装订不起作用(事实上,在转移到输出托盘之前不再保留在托管中的页面,它们实际上一被绘制就存放在输出托盘中)

我已经在这种编码中尝试过来自 PPD 的其他命令并且它们确实有效(例如信头)

  • 是否有 xpdf 输出 postscript 的语法指南,以便我可以重写装订命令?
  • 我可以使用另一个装订命令吗?
  • 我的打印机如何成功解释 2 显然非常不同的 postscript 语法?

您可以提供的任何帮助将不胜感激

4

1 回答 1

2

您的帖子有些混乱。您说您正在通过插入(特定于设备的)装订指令来修改 PostScript 程序。然后您说您正在使用 Acrobat Reader 打印文件。不可能是这样,因为 Acrobat 不处理 PostScript....您稍后还提到将 PDF 转换为 PostScript,因此这里显然缺少一个步骤。

当您的打印机是 PostScript 打印机时,我完全不确定您为什么要通过 RedMon 从 Acrobat Reader 打印到 Ghostscript。为什么不直接打印?

如果您正在创建 PDF 文件,则装订命令将丢失,它们无法保存在 PDF 中。因此,无论“工作”如何,都与您的原始修改无关,发送到您的打印机的 PostScript 与您的原始 PostScript 程序没有任何关系。

pdftops 的输出是 PostScript 程序(是的,PostScript 是一种编程语言),因此向其中插入随机内容可能不起作用。它不是不同的“格式”,而是完全不同的程序。您不同的“PostScript 格式”只是使用相同语言的不同程序。

事实上,修改 PostScript 程序非常困难,除非您处于某种封闭的工作流程中,否则可能无法可靠地完成。请注意,在 PostScript 程序中以 '%' 开头的任何行都是注释,除非您的文件符合 DSC,否则可能不会出现。

所以:

1)您如何创建(“编码”)PostScript 程序?为什么不能在创建 PostScript 时根据需要简单地插入 Staple 命令?如果您通过打印创建 PostScript,则为您打算使用的打印机使用 PPD(或 WPD)。

2) 如果您确实修改了 PostScript 程序,通过添加订书钉命令,如果您将它发送到打印机会发生什么?

3) 转换为 PDF 步骤的目的是什么,它在哪里适合所描述的工作流程?

于 2013-08-07T15:01:23.747 回答