Несколько месяцев назад я спросил здесь, как распечатать и проверить результаты с помощью команды 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, она тоже печатается медленно.
РЕДАКТИРОВАТЬ3: Я попробовал использовать программу просмотра PDF по умолчанию (EVINCE), потому что, хотя мне не хватает памяти, я распечатал тот же файл. Работало хорошо, на нормальной скорости.
РЕДАКТИРОВАТЬ4: Привязал еще какие-то драйвера (общие и рекомендуемые производителем принтера), скорость такая же.
РЕДАКТИРОВАТЬ5:
Я нашел эту ссылку: https: //en.opensuse.org / SDB: Using_Your_Own_Filters_to_Print_with_CUPS
Но не могу понять, является ли фильтрация "отстранением меня", потому что мой принтер PCL (и я использую драйвер pxl ...). Может ли кто-нибудь объяснить мне это?
РЕДАКТИРОВАТЬ 6:
Обнаружена причина проблемы: когда я печатаю файл в формате pdf, состоящий только из текста, он работает как шарм. Но когда я отправляю файл изображения-pdf, печать входит в процесс предварительной печати (я не могу полностью в этом убедиться) и получаю + 30 секунд для отправки любого пакета на принтер (это проверено с помощью wirehark).
Я могу предположить, что в этом файле 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.
РЕДАКТИРОВАТЬ 7: Служба поддержки Ricoh сообщила мне, что команда печати «lp» может использовать «программу просмотра PDF по умолчанию» для обработки файла и замедления процесса печати. Не знаю, как это проверить.
Большое спасибо.
Сменить драйвер. Почему? Рекомендованный драйвер RICOH для Linux использует неэффективный файл PPD. Это замедляет предварительную обработку файлов. (Драйверы Windows также могут использовать файл PPD, и это замедляет процесс, если файл не оптимизирован)
Для решения этой проблемы я использовал драйверы Gutenprint. Настоящая работа сейчас заключается в том, чтобы получить правильный драйвер для ваших принтеров, потому что драйверы Gutenprint существуют не для всех машин RICOH (и у других производителей есть проблема со smae). Драйвер 1106EX, почти похожий на гутенпринт, — это драйвер Aficio MP 1100. Но будьте осторожны при отправке команд lp: InputTrays имеют разные имена.