Как изменить InputSlot для файла postscript с помощью скрипта (предпочтительно в MacOS) - PullRequest
0 голосов
/ 11 апреля 2020

В нашем рабочем процессе мы создаем файл Postscript со всеми настройками печати (InputSlot, PageSize и т. Д. c ...) и сохраняем этот файл на диске.

Если 5 копий этого документа запрашивается, мы делаем:

lp -d MyPrinter -o raw /Volumes/Nas/some_postscript_file.ps -n 5

обратите внимание на -o raw, который обеспечивает непосредственную отправку файла Postscript на принтер.

Иногда мы хотим использовать другой лоток для этой печати. задание (например, InputSlot = ManualFeed), но дополнительные параметры, такие как -o InputSlot="ManualFeed, не работают, поскольку мы отправляем файл непосредственно на принтер, поэтому эти параметры не учитываются в Cups (что имеет смысл).

Так что еще один вариант - изменить файл Postscript. Я не хочу делать трюк с поиском и заменой, я предпочитаю более надежное решение.

Существуют ли приложения с поддержкой скриптов, которые могут изменять настройки, сделанные в файле Postscript?

PS Другой вариант - просто создать еще один файл Postscript с настройками для дополнительного лотка, но с огромными файлами 1000-го размера неправильно иметь дубликат файла только из-за одной маленькой настройки.

1 Ответ

0 голосов
/ 11 апреля 2020

Я не уверен, как вы планируете «изменять настройки, сделанные в файле PostScript» без какой-либо формы поиска и замены.

Я признаю, что решение поиска и замены не будет 100% надежно в самом общем случае. Это связано с тем, что PostScript является языком программирования, поэтому вполне возможно, что настройки будут выполнены в нескольких местах и ​​способами, которые просто невозможно найти и найти. Он хорошо работает в закрытой среде (где все программы PostScript создаются одним и тем же генератором PostScript), но не в более открытом рабочем процессе.

Простое добавление PostScript для выбора нужного лотка не будет работать, поскольку впоследствии программа может перезаписать этот запрос.

Таким образом, ваше единственное надежное решение в наиболее общем случае состоит в том, чтобы использовать полный интерпретатор PostScript для поиска запросов устройства и их замены. Я не знаю ни одного инструмента, который будет делать это специально. Вы можете использовать Ghostscript и его устройство ps2write, которое выдает независимый от устройства вывод, но имеет возможность добавлять специфичные для устройства c запросы для каждой страницы или документа.

Я бы не стал рекомендую, хотя, потому что это означает обработку всего файла и значительно изменит программу. Внешний вид должен быть таким же, но фактический PostScript будет совершенно другим.

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

...