Я установил сервер печати CUPS на Debian Stretch, и мне нужен способ изменения заданий печати, которые не используйте размер страницы A4.
У меня есть клиенты (iOS), которые не может задайте размер бумаги и отправит, например, PDF-файл формата Letter на сервер печати, который отправит его на принтер, и задание завершится ошибкой из-за неправильного размера бумаги.
В принтере используется бумага формата A4.
Я использую драйвер Generic PostScript на сервере cups и установил размер страницы по умолчанию A4.
Я также пытался изменить /etc/papersize
в A4, но это не имеет значения.
я пробовал lpoptions -p myprinter -o fit-to-page
но это не имеет никакого эффекта. Также пробовал lpadmin -p myprinter -o fit-to-page
но это не имеет никакого эффекта.
Я включил отладку и вижу, что используются следующие фильтры:
pdftopdf (application/pdf to application/vnd.cups-pdf, cost 66)
pdftops (application/vnd.cups-pdf to application/vnd.cups-postscript, cost 100)
- (application/vnd.cups-postscript to printer/myprinter, cost 0)
Если задание на печать отправлено в формате A4, тогда все в порядке.
Как я могу заставить сервер печати cups проверять, соответствует ли размер страницы не A4, и если это соответствует содержанию, например письмо PDF в A4?
Надо ли писать собственный фильтр чашек или есть другой способ?
Сервер устанавливает только размер страницы по умолчанию, если клиент отправляет задание с другим размером страницы, он будет обрабатывать его с этим размером страницы. Если он еще не установлен, вы также должны установить значение по умолчанию для клиентов. Хотя пользователь также может изменить размер страницы, и также возможно, что программное обеспечение, отправляющее задание, может предоставить пользователю другое значение по умолчанию в зависимости от размера отправляемого документа.