Печать к определенному принтеру (IPP URI) в Java

Вы могли бы хотеть посмотреть на Liquibase ( http://www.liquibase.org/ ). Даже если Вы не используете сам инструмент, он обрабатывает понятие управления изменениями базы данных или осуществляющий рефакторинг вполне прилично.

15
задан Luc Touraille 7 May 2012 в 07:52
поделиться

2 ответа

Наконец-то я нашел способ сделать это, используя jipsi :

URI printerURI = new URI("ipp://SERVER:631/printers/PRINTER_NAME");
IppPrintService svc = new IppPrintService(printerURI);
InputStream stream = new BufferedInputStream(new FileInputStream("image.epl"));
DocFlavor flavor = DocFlavor.INPUT_STREAM.AUTOSENSE;
Doc myDoc = new SimpleDoc(stream, flavor, null);
DocPrintJob job = svc.createPrintJob();
job.print(myDoc, null);

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

UPDATE

DR указывает в комментариях , что у jipsi есть новый дом и новое имя.

Cups4J - хорошая альтернатива, но, как следует из названия, она может работать некорректно, если адресатом не является сервер CUPS. У меня были хорошие результаты при использовании Cups4J для печати непосредственно на термопринтере Zebra.

13
ответ дан 1 December 2019 в 04:41
поделиться

Я не думаю, что вы можете получить принтер так, как хотели бы (я думаю, что механизм Java Print предшествует IPP).

Однако, если я правильно помню, вы сможете для локального рендеринга задания на печать и последующей отправки байтов выходного потока на целевой сервер CUPS «вручную». Было бы вам "достаточно"?

0
ответ дан 1 December 2019 в 04:41
поделиться
Другие вопросы по тегам:

Похожие вопросы: