Указание лотка принтера через MediaPosition не учитывает настройки лотка для бумаги - PullRequest
0 голосов
/ 28 февраля 2020

Работая с Konica Minolta, я посылаю ему команды PostScript. В большинстве случаев все работает правильно, и я могу переключать лотки с помощью команды MediaPosition. В принтере имеется 4 лотка, и для параметров лотка для бумаги с дисплея принтера установлены значения «Бланки», «Бланки», «Бланки» и «Обычные».

Я успешно переключаюсь между лотками, используя следующую команду:

<</ManualFeed false /MediaPosition 0>> setpagedevice

Один из файлов ps создает задание, которое печатает из третьего лотка, из четвертого лотка, а затем пытается выполнить печать из первого лотка. Однако в этот момент принтер зависает и просит вас положить «простую» бумагу в лоток 1. Я предполагаю, что это происходит из-за того, что последний отпечаток поступил из «простого» лотка для бумаги, но я просто догадываюсь. Переход с 3 на 4 работает, а затем на 1 - нет.

Я пытался использовать /MediaType (letterhead), но кажется, что эта команда игнорируется, поскольку она поставляется вместе с некоторыми настройками дуплекса, которые несовместимы с ней:

<</Duplex true /Tumble false>> setpagedevice

Есть идеи, что на самом деле вызывает эту проблему, и даже более того, как ее исправить, чтобы принтер продолжал без зависаний и просил изменить настройку лотка для бумаги?

1 Ответ

0 голосов
/ 28 февраля 2020

Я не вижу, что это имеет отношение к Ghostscript, где Ghostscript используется в описанном prcoess?

Параметры устройства страницы в некоторой степени зависят от устройства и обычно рассматриваются как запросы. Например, вы можете установить / Duplex, и устройство обычно игнорирует его, если у него нет дуплексера. (ie запрос игнорируется).

Однако некоторые запросы устройства страницы могут иметь другие эффекты, они описаны в Разделе 6.2.7 Неудовлетворенные запросы параметров Справочного руководства по языку PostScript 3-го издания (p446 в моем копия).

Интерпретатор может ответить на такой неудовлетворенный запрос параметра различными способами, например, проигнорировав его, вызвав ошибку PostScript или отобразив сообщение на передней панели устройства, запрашивающее вмешательство, человеческий оператор.

Не видя точной программы PostScript, невозможно точно сказать, что происходит, но я бы предположил, что интерпретатор по какой-то причине считает, что он не может удовлетворить запрос на трей 1, потому что его MediaType не совпадает (он хочет Plain, а вы определили его как бланк). Вполне вероятно, что переключение лотка, как вы делаете, изменяет текущий MediaType (или, возможно, какой-то другой параметр, но MediaType имеет смысл). Я предполагаю, что изначально MediaType отсутствует в словаре, поэтому вы можете перейти на любой другой трей. Когда вы меняете лоток, так как вы определили тип носителя на панели управления, он подхватывает новый тип носителя. Когда вы пытаетесь переключиться обратно, текущий MEdiaType не соответствует MediaType лотка, на который вы пытаетесь переключиться.

Скорее всего, причина того, что добавление /MediaType (letterhead) не работает, состоит в том, что вы говорите, что ' мы определили лоток как содержащий Letterhead. PostScript чувствителен к регистру, поэтому фирменный бланк не совпадает с фирменным бланком.

Или может быть, что настройки лотка для бумаги просто не совпадают с MediaType. Я боюсь, что такого рода зависимость от устройства очень специфична c для каждого производителя, единственные люди, которые могут вам наверняка сказать, что вам нужно отправить, это собственные инженеры производителей принтеров.

...