Есть ли кто-то, кто хорошо разбирается в типографике и процессе печати?

Как можно периодически обновить состояние очереди печати принтера на сервере или локально, чтобы избежать отправки печатных заданий до тех пор, пока фактическое состояние не будет подтверждено?
  • 21 июня 2024 г. 13:51
Ответы на вопрос 2
Да, я могу помочь вам с этим вопросом. Для того чтобы периодически обновлять состояние очереди печати принтера, вы можете использовать скрипт или программу, которая будет проверять текущее состояние принтера и выводить уведомление, если в очереди есть задания на печать. Например, на сервере вы можете использовать команду lpstat для проверки очереди печати, а на локальном компьютере вы можете посмотреть состояние принтера через панель управления.

Если вы хотите избежать отправки печатных заданий до тех пор, пока фактическое состояние принтера не будет подтверждено, вы можете настроить опцию "проверить перед печатью" в своем принтере. Эта опция позволяет вам просмотреть и подтвердить печать задания перед отправкой на принтер.

Если у вас возникли дополнительные вопросы или вам необходима более подробная информация, пожалуйста, не стесняйтесь задавать их. Я готов помочь вам решить любые проблемы с типографикой и процессом печати.
Начну с того, что развиваю два андроид приложения ps402d (служба печати) и виртуальный принтер ( 
https://play.google.com/store/apps/details?id=ru.a... ). Глубоко это в теме или нет решать Вам.

Сетевые принтеры можно разделить на те, что с IPP и более простые 9100. ( остальные варианты можно отбросить)
через директ можете считать, что статус узнать нельзя. Как вы пишите, тут нужен двух сторонний обмен данными, но вот формат такого ответа не стандартизирован. Может как один так и 3 байта. И другие придумки вендоров.

А вот IPP вещь приятная и задокументированная по RFC.

Теперь на счет оперативности статусов. Не дергают принтеры постоянно !!!!
Первый уровень пассивное прослушивание mDNS. При необходимости явный запрос сетевого ресолва запомненного ранее использованного принтера.
Из днс ответа делаются два вывода : принтер онлайн / принтер офллайн.

Следующий уровень.
Пользователь определился на какой принтер будет печатать. Можно тут уже запустить паралельный тред с опросом состояния принтера (трекинг). Из такого ответа уже получается полноценный статус принтера:
простаиваю печатаю, кончается тонер, открыта крышка, подавился бумагой.
Но такое постоянное замучивание принтера имхо излишне.

Часто перед самой печатью, принтеру посылается команда "проверь задание" (Validate-job).
Но опять же по моему, тут хватило бы просто запросить статус принтера (один раз вместо постояного потока)

Отсылается задание на печать.
Дальше логичнее трекать его состояние работы, но можно и через смену состояний принтера. (занят - простой)

На этом статусы принтера спулеру печати больше не интересны.

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