Как преобразовать растровое изображение в байты с помощью Epson JavaPOS ADK

Я хочу печатать квитанции в виде растровых изображений на POS-принтерах Epson. Однако принтеры не подключены напрямую. Рендеринг квитанции выполняется на серверной веб-службе, а сгенерированные байты будут отправлены на интерфейс, к которому фактически подключен принтер.

Итак, я заглянул в Epson JavaPOS ADK, но нашел только код для вызова напрямую подключенных принтеров, но не служебные классы или что-то в этом роде.

Итак, мой вопрос: кто-нибудь знает способ использовать Epson JavaPOS ADK для «печати» в байтах, а не на принтере?

Спасибо!


person Simon Kronawitter    schedule 10.08.2018    source источник
comment
Является ли все содержимое, которое вы хотите напечатать, одними растровыми данными? Есть ли смесь текста и растрового изображения или несколько растровых изображений?   -  person kunif    schedule 10.08.2018
comment
данные будут 1 растровым изображением (всей квитанции)   -  person Simon Kronawitter    schedule 10.08.2018


Ответы (1)


Возможны следующие средства.

  1. Сохраните в файле BMP и распечатайте.

    • Store the Bitmap data notified from the Web service as a BMP file in the frontend file system (not the session local storage of the browser).
    • Распечатайте файл BMP, используя метод printBitmap устройства POSPrinter.
    • Удалите файл BMP после нормального завершения печати.

  2. Распечатайте данные, как они есть в памяти. (Если EPSON JavaPOS и принтер поддерживают это)

    • Convert the Bitmap data notified from the Web service into the BMP file image on the memory.
    • Распечатайте изображение файла BMP, используя метод printMemoryBitmap устройства POSPrinter.
    • После нормального завершения печати освободите память изображения файла BMP.

  3. (Если передним концом является компьютер с ОС Windows) Печать на стандартном принтере с ОС Windows.

    • Handle printers as Windows standard printers rather than handling them in JavaPOS.
    • Переключите настройку режима принтера и драйвер устройства на стандартный принтер Windows.
    • Преобразуйте растровые данные, такие как печать страницы, с помощью стандартного API печати Windows и распечатайте их.

Конечно, необходимо преобразовать данные Bitmap, полученные от веб-службы, в файл BMP или данные печати Windows, но это можно сделать с помощью API вашей ОС или библиотечной функции Java.


Постскриптум добавлен на основе комментария.

В этом случае вы можете использовать ePOS SDK вместо JavaPOS ADK.
Однако необходима хотя бы некоторая разработка программного обеспечения.

Ниже представлены четыре типа, поэтому попробуйте их в соответствии со своей внешней средой.

Epson ePOS SDK для универсальных приложений Windows
Epson ePOS SDK для Android
Epson ePOS SDK для iOS
Epson ePOS SDK для JavaScript

person kunif    schedule 10.08.2018
comment
спасибо, куниф, за ответ. но я думаю, я был не очень точен в своем вопросе. в основном я знаю потоки, которые вы описали. проблема в том, что в моем случае внешние интерфейсы могут отправлять на POS-принтер только необработанные байты, поэтому веб-служба должна каким-то образом вызывать методы printBitmap. конечно, к серверной части не подключен принтер, поэтому я искал конкретные методы в ADK, которые делают то же самое, что и методы печати, но вместо этого возвращают необработанные байты, которые затем я могу отправить на внешние интерфейсы. (я не хочу реализовывать алгоритм, описанный в files.support.epson. com/pdf/general/escp2ref.pdf) - person Simon Kronawitter; 12.08.2018