Как использовать команды ESC/POS для включения режима печати квитанций для Epson TM-H6000III?

У меня есть принтер Epson TM-H6000III, и я разрабатываю приложение, которое должно печатать на лицевой стороне пропусков для людей. Я играюсь с ним уже несколько дней и узнал все забавные секреты. Однако одна важная вещь, которая ускользает от меня, — это как активировать функцию печати квитанций. Первоначально я собирался разработать свое приложение на Android, однако, хотя драйвер Epson для Android творит чудеса, а печать квитанций работала — были другие проблемы с использованием Android, поэтому я переключаюсь на использование старой доброй Java и Swing.

Проблема в том, что я не могу воспроизвести результаты примера Android, просто отправив необработанные команды ESC/POS на принтер. Я знаю, что мои команды работают, потому что печать выполняет все остальные команды просто отлично. Поэтому я думаю, что мне не удалось найти надлежащую документацию по ESC/POS для этого принтера. В той документации, которую я могу найти, сильно не хватает упоминания моей модели принтера, и когда я думаю, что нахожусь на первом месте, это неуместно.

Я нашел следующие документы, которые, по моему мнению, были наиболее актуальными:

  1. http://cdn.posguys.com/download/TM-H6000III/tmh6000iii_trg_revb.pdf
  2. http://content.epson.de/fileadmin/content/files/RSD/AnwenderhandPDFs/DE/TM-930II_user_e.pdf
  3. https://files.support.epson.com/pdf/pos/bulk/tm-h6000iv_eng_trg_reva_00.pdf
  4. http://download.delfi.com/SupportDL/Epson/Manuals/TM-T88IV/Programming%20manual%20APG_1005_receipt.pdf

В первом документе упоминаются возможные команды, но не приводятся примеры. Второй говорит использовать ESC c0 n, опять же без примера, и это для более старого принтера. Третий также упоминает полезные команды на странице 74, но также не содержит примеров или даже кодов. И последнее, вероятно, было наиболее полезным, поскольку оно включает примеры, но не упоминает печать бланков, я думаю, это потому, что ни одна из перечисленных моделей не поддерживает такую ​​​​функцию.

Я настолько отчаялся, что даже попытался включить шестнадцатеричный дамп на тех же принтерах на моей работе, чтобы посмотреть, дадут ли они мне подсказку, и я только нашел, как начать читать MICR - не очень полезно. FS a 30 00 Кроме того, поскольку в этом режиме принтер не выдает сообщений о состоянии (отчасти противоречит цели этой функции), POS будет зависать. Так что, скорее всего, у меня нет шансов даже увидеть код. :(

Может ли кто-нибудь указать мне подробное руководство ESC / POS для конкретной модели или привести пример команд? Я ничего не могу найти из примеров Android, кроме, может быть, некоторых подсказок.

Я был бы очень признателен, мне нужно доставить рабочий прототип через две недели, и я приступаю к работе.


person Miss Amelia Sara    schedule 06.09.2019    source источник
comment
Этот документ будет полезен. Рулонные/листовые принтеры EPSON Руководство по программированию приложений ESC/POS   -  person kunif    schedule 06.09.2019
comment
Вы когда-нибудь находили решение? Я столкнулся с той же проблемой.   -  person grouchomc    schedule 05.01.2020


Ответы (1)


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

В соответствии с этим Github-Issue (смотрите ниже, последний более длинный комментарий ) код для выбора матричного принтера — ESC c0 4 (шестнадцатеричный: 1B 63 30 04), а для возврата к 80-мм рулону — ESC c0 3 (шестнадцатеричный: 1B 63 30 03).

Довольно неясно, однако, я не смог найти справочное руководство ESC/POS, в котором действительно была бы указана команда ESC c0, только от ESC c3 до c5. Возможно, не так много POS-принтеров имеют два (или три) типа принтеров.

Единственной другой командой, которая была смутно связана, была ESC = (1B 3D), которая позволяет вам выбрать «периферийное устройство». В зависимости от того, какое справочное руководство вы проверяете, цифры могут быть

или например

person Erik    schedule 07.10.2020