Я настроил сервер печати CUPS на Debian Stretch, и мне нужен способ изменения заданий печати, которые не используют размер страницы A4.
У меня есть клиенты (iOS), которые не могут установить размер бумаги и отправят, например, PDF-файл в формате письма на сервер печати, который отправит его на принтер, и задание завершится ошибкой, потому что размер бумаги не правильный.
Принтер сконфигурирован с бумагой 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?
Нужно ли мне писать пользовательский фильтр чашек или есть какой-то другой способ?
Сервер устанавливает только размер страницы по умолчанию. Если клиент отправляет задание с другим размером страницы, он будет обрабатывать его с этим размером страницы. Если он еще не установлен, вы также должны установить значение по умолчанию для клиентов. Хотя пользователь также может изменить размер страницы, и также возможно, что программное обеспечение, отправляющее задание, может предоставить пользователю другое значение по умолчанию в зависимости от размера отправляемого документа.