【问题标题】:How to handle empty paper tray selection code in a PPD file?如何处理 PPD 文件中的空纸盘选择代码?
【发布时间】:2014-12-22 13:18:03
【问题描述】:

我正在编写一个程序,它将纸盘选择命令添加到 PostScript 文件中。现在我想将它们添加到用户选择的 PPD 文件中,该文件应该包含纸盘选择命令。例如,在特定的 PPD 中,我发现以下几行:

*InputSlot Tray1/Tray 1:  "<< /MediaPosition 0 /TraySwitch false >> setpagedevice"
*InputSlot Tray2/Tray 2:  "<< /MediaPosition 1 /TraySwitch false >> setpagedevice"
*InputSlot Tray3/Tray 3:  "<< /MediaPosition 2 /TraySwitch false >> setpagedevice"

在另一个 PPD 中,我发现以下几行:

*InputSlot tray1/tray1: ""
*InputSlot tray2/tray2: ""
*InputSlot tray3/tray3: ""

我已经查阅了 Adob​​e 的 PPD 规范,但找不到任何有关处理此类空 InputSlot 命令的信息。有什么通用的方法吗?任何建议都非常欢迎。

【问题讨论】:

    标签: postscript ppd


    【解决方案1】:

    纸盒选择因设备而异,因此您需要使用适合该设备的任何东西。

    你引用的第二个 PPD 是疯了,我怀疑这只是意味着有问题的设备没有多个托盘,有人从另一个设备复制了 PPD,然后在通常的“猴子看猴子做”方法, 通过删除语音标记之间的 PostScript 来“修复”它,因此不会向 setpagedevice 发出任何内容。

    坦率地说,第二个例子根本不正确。

    【讨论】:

    • 感谢您的意见。我知道纸盘选择是特定于设备的。出于这个原因,制造商提供了一个 PPD,它应该定义这个设备特定的代码。但如前所述,情况并非如此......我直接从制造商那里下载了 PPD,这就是我想知道的原因。我确定打印机有这些纸盘。使用第一个示例中的命令可以正常工作。你会怎么处理?抛出错误?
    • 不,我只是从 PPD 文件中嵌入制造商告诉我的内容(在这种情况下,什么都没有)。正如你所说的那样,这就是你应该做的。我不得不假设制造商犯了一个错误,或者不支持 PostScript 形式的托盘切换。尽管在这种情况下,他们不应该在 PPD 中提供该选项,因为在选择选项并使其失败时会导致操作员混淆.....
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-07-19
    • 1970-01-01
    • 1970-01-01
    • 2014-05-29
    • 1970-01-01
    • 1970-01-01
    • 2021-04-18
    相关资源
    最近更新 更多