Печать на порт 9100 с помощью PJL и Python
Я считаю, что этот код должен работать для печати PDF-файла напрямую на большинстве принтеров через порт 9100.
Этот источник и этот среди других, похоже, согласны в деталях.
Мой принтер просыпается и на мгновение кажется, что он "списывает задание", но затем снова перестает работать.
Код сокета конечно очень сырой, но все же..
Может это просто мой конкретный принтер *.
Спасибо, если кто-нибудь сможет это протестировать или указать на какие-либо ошибки или улучшения.
import socket
job = [
b'\x1b%-12345X@PJL JOB NAME = "My Print Job Name"\r\n',
b'@PJL ENTER LANGUAGE = PDF\r\n',
open('mydoc.pdf', 'rb').read(),
b'\x1b%-12345X @PJL EOF\r\n',
b'\x1b%-12345X'
]
soc = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
soc.connect(('myprinter.local', 9100))
for b in job:
# print(b)
soc.send(b)
soc.close()
* Brother MFC-J4620DW