Как выбрать лоток для бумаги - PullRequest
2 голосов
/ 10 ноября 2009

Как программно выбрать лоток для бумаги, который будет использоваться при отправке документа на принтер? В лотках находятся различные бумаги (A5, A4, A4 с одной отрывной частью или двумя отрывными частями, бумага с логотипом и без логотипа).

Сегодня мы используем команду setpapertray непосредственно в postscript-файле, но это не очень удобно, особенно потому, что вместо этого мы планируем перейти к созданию pdf-файлов.

Есть предложения?

РЕДАКТИРОВАТЬ : Сегодня мы отправляем ps-документы непосредственно на принтер с помощью команд, подобных

cat file.ps > /dev/usb/lp0

или в программах, просто открыв устройство и записав его.

Таким образом, поскольку мы используем шаблоны postscript, легко выбрать лоток для непосредственного использования, поместив такой раздел в шаблон:

statusdict begin
/manualfeed false def
$paper_tray setpapertray
end

Теперь мы хотим избавиться от ps-шаблонов, поскольку с ними трудно работать, и не всегда безопасно предполагать, что принтер подключен напрямую, но может находиться на внешнем принтере.

Вопросы:

  • Можно ли таким же образом встроить выбор лотка в pdf-файл?
  • Существует ли другой более удобный способ выбора лотка для каждого документа при печати нескольких документов?

1 Ответ

3 голосов
/ 04 декабря 2009

Вы можете печатать файлы PDF и PostScript из командной строки, используя чашки, например:

lp filename.pdf

Вы можете передавать параметры в командной строке, используя опцию -o, т.е.

lp -o media=A4 filename.pdf

Если ваш принтер поддерживает лотки, вы можете использовать что-то вроде этого:

lp -o InputSlot=Tray2

Вы можете перечислить все опции для ключа -o:

lpoptions -l

Подробнее см. http://www.cups.org/documentation.php/options.html#OPTIONS.

...