Как преобразовать растровое изображение в байты с помощью epson javapos adk

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

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

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

Спасибо!

Является ли все содержимое, которое вы хотите распечатать, одним растровым изображением? Есть ли смесь текста и растрового изображения или несколько растровых изображений?

kunif 10.08.2018 16:52

данные будут 1 растровым изображением (от всей квитанции)

Simon Kronawitter 10.08.2018 18:53
0
2
656
1

Ответы 1

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

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

    • Сохраните данные Bitmap, полученные от веб-службы, в виде файла BMP во внешней файловой системе (а не в локальном хранилище сеанса браузера).
    • Распечатайте файл BMP, используя метод printBitmap устройства POSPrinter.
    • Удалите файл BMP, когда печать завершится нормально.

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

    • Преобразуйте данные Bitmap, полученные от веб-службы, в изображение файла BMP в памяти.
    • Распечатайте изображение файла BMP, используя метод printMemoryBitmap устройства POSPrinter.
    • Когда печать завершится нормально, освободите память файла изображения BMP.

  3. (Если передняя часть - машина Windows) Печатайте на стандартном принтере Windows.

    • Обращайтесь с принтерами как с стандартными принтерами Windows, а не с ними в JavaPOS.
    • Переключите настройку режима принтера и драйвер устройства на стандартный принтер Windows.
    • Преобразуйте данные Bitmap, такие как печать страницы, с помощью стандартного 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

спасибо, куниф, за ответ. но я думаю, что я не очень точно ответил на свой вопрос. в основном я знаю описанные вами потоки. проблема в том, что в моем случае внешние интерфейсы могут отправлять только необработанные байты на принтер pos, поэтому веб-сервис должен каким-то образом вызывать методы «printBitmap». Конечно, к бэкэнду нет принтера, поэтому я искал конкретные методы в ADK, которые делают то же самое, что и методы «печати», но вместо этого возвращают необработанные байты, которые затем я могу отправить во внешние интерфейсы. (я не хочу реализовывать алгоритм, описанный в files.support.epson.com/pdf/general/escp2ref.pdf)

Simon Kronawitter 12.08.2018 09:46

Другие вопросы по теме