Ubuntu Linux — Медленная печать с помощью команды lp

Ubuntu Linux — Медленная печать с помощью команды lp

Несколько месяцев назад я спрашивал здесь, как распечатать и проверить результаты с помощью команды lp (CUPS) в Ubuntu.

После нескольких попыток мне удалось распечатать обычные текстовые файлы. Я смог распечатать, выбрав некоторые параметры (двусторонняя печать, размер носителя, входной лоток для бумаги и т. д.)

Драйвера для Linux я взял здесь (файлы PPD):https://www.openprinting.org/download/PPD/

Теперь у меня небольшая проблема: когда я отправляю файл .pdf на принтер (Ricoh MP Aficio 1106 EX, подключенный по TCP-IP), печать идет медленно, отправляя файл на принтер +30 секунд. Файлы .txt печатаются в тот момент, когда я их отправляю. Есть ли у вас идеи, как это решить?

Я пробовал изменить сокет машины на порт 9100, но это приводит только к ошибкам.

ПРАВКА1:

Я попробовал использовать команду LPR вместо LP:

lpr -sPrinterIP /absolute/path/to/file.pdf

Но работает тоже медленно.

ПРАВКА2:

Я установил qz-tray, своего рода сервер печати/API. Когда я пробую PDF demo, он тоже печатает медленно.

EDIT3: Я попробовал сейчас с просмотрщиком PDF по умолчанию (EVINCE), потому что я думал, что у меня не хватает памяти, и распечатал тот же файл. Он работал хорошо, на нормальной скорости.

EDIT4: Я подключил другие драйверы (универсальные и рекомендованные производителем принтера), скорость та же.

ПРАВКА5:

Я нашел эту ссылку:https://en.opensuse.org/SDB:Использование_собственных_фильтров_для_печати_с_CUPS

Но не могу понять, "отбивает ли меня фильтрация", потому что мой принтер PCL (и я использую драйвер pxl...). Может ли кто-нибудь объяснить мне это?

ПРАВКА 6:

Нашел источник проблемы: когда я печатаю текстовый файл PDF, все работает как часы. Но когда я отправляю файл изображения PDF, печать входит в процесс предварительной печати (я не могу полностью гарантировать это) и получает +30 секунд для отправки любого пакета на принтер (это проверено с помощью Wireshark).

Я могу предположить, что в коде файла PPD (файл драйвера, предоставленный службой поддержки Ricoh) есть что-то, что отправляет команду на обработку файла.

Я нашел это в файле PPD. Я думаю, что это корень этой проблемы замедления:

*%========== Ghostscript Command line ==========


*FoomaticRIPCommandLine: "(printf '\033%%-12345X@PJL\n@PJL JOB\n@PJL SET COPIES=&copies;\n'%G|perl -p -e "s/\x26copies\x3b/1/"
(gs -q -dBATCH -dPARANOIDSAFER -dNOPAUSE -dNOMEDIAATTRS -dNOINTERPOLATE %B%A%C %D%E | perl -p -e "s/^\x1b\x25-12345X//" | perl -p -e "s/\xc1\x01\x00\xf8\x31\x44/\x44/g"
(printf '@PJL\n@PJL EOJ\n\033%%-12345X&apos"
*End

Нашел эту статьюhttps://lists.linuxfoundation.org/pipermail/printing-foomatic/2012/002791.htmlэто подтверждает мои идеи: драйвер ppd рендерит все файлы с помощью ghostcript.

EDIT 7: Поддержка Ricoh сообщила мне, что команда печати "lp" может использовать "default PDF viewer" для обработки файла и замедлять процесс печати. ​​Я не знаю, как это проверить.

Большое спасибо.

решение1

Измените драйвер. Почему? Рекомендованный драйвер RICOH для Linux использует неэффективный файл PPD. Это замедляет предварительную обработку файлов. (Драйверы Windows также могут использовать файл PPD, и это замедляет процесс, если файл не оптимизирован)

Я использовал драйверы Gutenprint, чтобы решить эту проблему. Теперь настоящая работа заключается в том, чтобы получить правильный драйвер для ваших принтеров, потому что драйверы Gutenprint существуют не для всех машин RICOH (и у других производителей есть проблема smae). Драйвер gutenprint для 1106EX, почти похожий на драйвер Aficio MP 1100. Но будьте осторожны при отправке команд lp: у InputTrays разные имена.

Связанный контент