Отправка Generic / Text непосредственно на матричный принтер Epson через USB с использованием Java - PullRequest
1 голос
/ 20 мая 2009

Существует ли способ отправки напрямую кодированной строки "ESC" на матричный принтер Epson, подключенный через USB с использованием Java. Я попробовал этот с использованием порта LPT1 успешно. Однако большинство наших клиентов сейчас используют USB-кабели вместо старых кабелей Parellel. Основная проблема, с которой я столкнулся, заключается в том, как открыть соответствующий USB-порт, к которому принтер подключен как выходной поток в Java. Заранее спасибо за любые советы и предложения.

Ответы [ 3 ]

1 голос
/ 26 мая 2009

Поскольку вы говорите LPT1, я предполагаю, что это для Windows.

Я не вижу никакого решения Java на 100%, вы хотите иметь дело с оборудованием

JNI

Вы можете использовать JNI для вызова некоторой библиотеки Windows, написанной на родном языке (C / C ++ / Delphi), которая экспортирует одну функцию SendData. Вы можете подготовить данные во временном файле (случайное имя файла), и DLL отправит их на принтер, а затем удалит.

В Java вы можете использовать load и loadlibrary для загрузки DLL.

Используйте некоторые готовые решения для преобразования его в USB / LPT

1 голос
/ 20 мая 2009

Эта статья о JSR-80 может вам помочь. Похоже, это совсем не тривиально и зависит от операционной системы ...

0 голосов
/ 20 сентября 2016

Вот как это делается в Java:

PrintService pservice = ... // acquire print service of your printer
DocPrintJob job = pservice.createPrintJob();  
String commands = "";
commands += "\u001B\u0045\u000A"; // plain
commands += "Hello ";
commands += "\u001B\u0045\u000D"; // bold
commands += "ESCP!";
DocFlavor flavor = DocFlavor.BYTE_ARRAY.AUTOSENSE;
Doc doc = new SimpleDoc(commands.getBytes(), flavor, null);
job.print(doc, null);

Заимствовано из: https://stackoverflow.com/a/9309845/3196753

Обратите внимание, что в некоторых ОС принтер должен быть настроен как raw / generic print device . Для принтеров USB это часто включает установку драйвера USB, а затем добавление второго принтера с тем же портом, но необработанным или универсальным драйвером.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...