JANeets Ответов: 1

Как печатать на принтере dotmatrix с помощью escp


Прежде чем все скажут мне, что я сумасшедший, я знаю. Кто в здравом уме будет использовать матричный принтер в 2020 году? Ну, так и есть! Мы пытаемся использовать его для печати информации о доставке для транспортных компаний, которые не имеют цифровой системы управления своими бронированиями и все еще используют рукописные многослойные документы.
То, что я сделал, - это напечатал наши собственные документы в виде непрерывной многослойной формы для печати на матричном принтере.

Принтер, который мы пытаемся использовать, - это Oki Microline 720 Plus. Вот ссылка на руководство пользователя https://www.oki.com/printing/download/42113905EE2_ML720P_PH_63088.pdf?id=42113905EE
Мы настроили его с установленной сетевой картой Oki LAN7130E.

мы используем продукт под названием printnode для отправки заданий печати из нашей ERP на наши принтеры. узел печати поддерживает печать RAW с использованием строки в кодировке Base64. мы успешно использовали этот подход для печати на принтерах Zebra Lable с использованием ZPL без каких-либо проблем, поэтому я не думаю, что это проблема. вот ссылка на их документацию https://www.printnode.com/en/docs/what-is-raw-printing и https://www.printnode.com/en/docs/api/curl#printjob-creating

клиент узла печати работает на экземпляре Windows Server 2012 R2 с установленным драйвером класса OKI Dot-Matrix 9Pin ESC/P. Я могу печатать из текстового документа на сервере нормально.

когда я пытаюсь печатать с помощью команд ESCP в виде ASCII или шестнадцатеричного кода, на принтере ничего не происходит. это я кодировал как Base64 и отправлял с помощью API PrintNode. все, что я получил в очереди печати на сервере, отправляется на принтер.

ASCII

ESC @
ESC 0
ESC 1 10
ESC Q 75
This is a Test Print Wow! CR LF
FF
ESC @


Шестнадцатиричный
1B 40 1B 30 1B 6C 31 30 1B 51 37 35 54 68 69 73 20 69 73 20 61 20 54 65 73 74 20 50 72 69 6e 74 20 57 6f 77 21 0D 0A 0C 1B 40


Как я могу проверить вышеуказанный необработанный код непосредственно с сервера или я делаю простую ошибку
документ, на который я ссылался для приведенного выше кода, является как руководством пользователя Oki, так и следующим документом из EPSOM. https://www.google.com/url?sa=t&rct=j&q=&esrc=s&source=web&cd=&cad=rja&uact=8&ved=2ahUKEwjDmPLf4e_qAhXRpOkKHSSVDbsqfjacegqiahab&url=https%3A%2F%2Ffiles.support.epson.com%2Fpdf%2Fgeneral%2Fescp2ref.pdf&usg=AOvVaw2-85x1sH-SYp8YNzuqM7cg

Что я уже пробовал:

Я попытался настроить принтер на виртуальной машине windows 7 и использовать VS2008 для печати данных непосредственно на принтер в виде строки. все, что я получаю, - это напечатанная строка.

Теперь Я Действительно Застрял!

Заранее благодарю за любую оказанную помощь. если я смогу заставить это работать, то сэкономлю до 3 человеко-часов в день из-за того, что мне не придется писать все эти документы от руки.

Richard MacCutchan

Вышеприведенные ASCII и hex не совпадают. как вы его преобразуете?

0x01AA

То, что Ричард упоминает в комментарии aobove, сравните вашу шестнадцатеричную последовательность с текстом, который вы предполагаете отправить. Только небольшой фрагмент:

1B ESC
40 '@'
1B ESC
30 '0'
1B ESC
6C 'l'
31 '1'
30 '0'
1B ESC
51 'Q'
37 '7'
35 '5'
54 'Т'
68 'h'
69 'я'
73 's'
20 место

JANeets

моя ошибка. они оба были собраны вместе по отдельности. Я не использовал инструмент для его преобразования. Я обновил эти два раздела, чтобы сделать их из одного и того же упражнения.
Я использовал команды принтера Epson FX в руководстве по принтерам ML720/721 Plus, связанном с моим вопросом.

1 Ответов

Рейтинг:
5

Patrice T

Цитата:
Как печатать на принтере dotmatrix с помощью escp

Отправка непосредственно команд на языке принтера без вмешательства windows ваша команда называется прямая печать.
Детали зависят от языка программирования, поэтому вам придется немного поискать.

Небольшая утилита для печати файла на принтере: Копирование на принтер[^]
Вы готовите команды принтера в файле и используете утилиту для отправки на принтер, она позволяет вам проверить, что последовательность команд в порядке.

Еще утилиты от того же автора: Программы для Windows 95+ [^]


JANeets

Спасибо за Ваш вклад Патрис т. Я немного повозлюсь с вашими судьбами и опубликую свои находки здесь.

JANeets

Спасибо, ребята, вы наставили меня на правильный путь. Ниже я подробно опишу полное решение.