【问题标题】:Inconsistency between postscript encoding when injecting staple commands注入装订命令时后记编码之间的不一致
【发布时间】:2013-08-08 12:22:45
【问题描述】:

我在 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 语法?

如果您能提供任何帮助,我们将不胜感激

【问题讨论】:

    标签: .net pdf printing postscript


    【解决方案1】:

    您的帖子有些混乱。您说您正在通过插入(特定于设备的)装订指令来修改 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 步骤的用途是什么,它在哪里适合所描述的工作流程?

    【讨论】:

    • 您好,Ken,感谢您的回复...我们正在使用 Acrobat Reader 来呈现 postscript。当最初通过 redmon/ghostcript 打印机打印原始文档(word、excel 等)并生成 postscript 程序时,然后将其从 postscript 转换为 PDF(我想我们可以在应用程序的 GUI 中使用 postscript 渲染器,但我们现在正在使用 Acrobat Reader)我确实处于封闭/受控的工作流程中 1)我通过调用进程在 acrobat reader 中打开文件,将文件名作为打印参数传递。默认打印机是 redmon/gs ...
    • ... 如前所述的打印机。当我编辑由此产生的后记并将其直接复制到物理打印机时,装订工作 2) 当后记从“从 Acrobat 打印 > Redmond/GS 打印机 > 添加装订命令 > 发送到打印机”生成后记时,它可以工作。它没有当“使用 pdf 文件的参数调用 pdftops 进程 > 添加装订命令 > 发送到打印机”时不起作用 3) 如前所述,如果需要,转换为 PDF 用于呈现文件和可移植性。我明白,如果我这样做添加订书钉命令后的这个...
    • 他们会迷路的。对于最终打印,不会转换为 PDF
    • 再次感谢肯的帮助
    • @Alex ITYM Acrobat Distiller,而不是 Reader。阅读器,顾名思义,只是读取 PDF 文件。 Distiller 执行从 PS 到 PDF 的转换。
    猜你喜欢
    • 2015-06-19
    • 2023-01-15
    • 2012-05-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-05-03
    • 1970-01-01
    相关资源
    最近更新 更多