【问题标题】:Specifying printer tray via MediaPosition does not honor the paper tray settings通过 MediaPosition 指定打印机纸盘不支持纸盘设置
【发布时间】:2020-02-28 13:46:45
【问题描述】:

使用柯尼卡美能达,我正在向它发送 PostScript 命令。大多数时候一切正常,我可以使用MediaPosition 命令切换托盘。打印机有 4 个纸盘,打印机显示屏上的纸盘设置设置为“信头”、“信头”、“信头”和“普通”。

我正在使用这个成功地在托盘之间切换:

<</ManualFeed false /MediaPosition 0>> setpagedevice

其中一个 ps 文件创建一个从第三个纸盘、第四个纸盘打印的作业,然后尝试从第一个纸盘打印。但是,此时打印机冻结并要求您将“普通”纸放入纸盘 1。我假设发生这种情况是因为最后一次打印来自“普通”纸盘,但我只是猜测。从 3 到 4 有效,但到 1 无效。

我曾尝试使用/MediaType (letterhead),但似乎该命令被忽略了,因为它带有一些与之不兼容的 Duplex 设置:

<</Duplex true /Tumble false>> setpagedevice

知道究竟是什么导致了这个问题,甚至更重要的是,如何解决它以使打印机继续运行而不会冻结并要求更改纸盘纸张设置?

【问题讨论】:

    标签: printing postscript


    【解决方案1】:

    我看不出这与 Ghostscript 有什么关系,所描述的过程中在哪里使用了 Ghostscript?

    页面设备参数在某种程度上依赖于设备,通常被视为请求。例如你可以设置/Duplex,如果没有双工器,设备一般会忽略它。 (即请求被忽略)。

    但是,某些页面设备请求可能会产生其他影响,这些记录在第 3 版 PostScript 语言参考手册的第 6.2.7 节未满足的参数请求(我的副本中的 p446)中。

    解释器可以以多种方式响应这种不满足的参数请求 方式,例如忽略它、引发 PostScript 错误或显示消息 在请求人工操作员干预的设备前面板上。

    如果没有看到确切的 PostScript 程序,就不可能确切地知道发生了什么,但我猜解释器认为,无论出于何种原因,它不能满足对托盘 1 的请求,因为它的 MediaType 不匹配(它想要平原,您已将其定义为信头)。以您正在做的方式切换托盘可能会更改当前的 MediaType(或可能是其他一些参数,但 MediaType 是有意义的)。我想最初 MediaType 不存在于字典中,因此您可以更改为任何其他托盘。当您更改纸盘时,因为您已在控制面板上定义了介质类型,它会选择新的 MediaType。当您尝试切换回来时,当前的 MEdiaType 与您尝试切换到的托盘的 MediaType 不匹配。

    添加/MediaType (letterhead) 不起作用的原因很可能是因为您说您已将托盘定义为包含Letterhead。 PostScript 区分大小写,因此信头与信头不同。

    或者可能是纸盘设置与 MediaType 不同。恐怕这种设备依赖性对每个制造商来说都是高度特定的,唯一可能会告诉你需要发送什么的人肯定是打印机制造商自己的工程师。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-11-22
      • 2017-10-23
      • 1970-01-01
      • 2016-08-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多