JAVA сокеты - выполнить команду PJL
В Java я пытаюсь подключиться к принтеру (Canon iR5050 PCL6) с помощью сокетов, используя IP-адрес хоста с портом 9010. Я хочу получить статус принтера с помощью команды PJL. Я записываю команду PJL (\x1B%-12345X@PJL INFO USTATUS \r\n\x1B%-12345X\r\n) в выходной поток сокета и пытаюсь прочитать состояние принтера из входного потока. Никакая информация не читается из входного потока. Как это можно сделать? Будет здорово, если кто-нибудь поделится некоторыми образцами. Это возможно?
2 ответа
LPD
Что касается другого вопроса Печать на Java с использованием PS-файла, я уверен, что ваш канон будет говорить на LPD, а LPD сообщит о состоянии принтера в более вездесущем протоколе.
Я написал библиотеку pjl для Java. Он обрабатывает несколько функций, включая события USTATUS. В настоящее время я использую его в проприетарном приложении для мониторинга заданий на печать, фактически считая каждую напечатанную страницу по мере ее печати, а также получая данные от самого принтера.