В контексте более крупного приложения мой апплет должен распечатать некоторые данные на принтере этикеток Zebra или Dymo (в зависимости от того, что установлено пользователем).
Данные, которые я получаю, находятся в экранированной форме, данные, которые мне просто нужно отправить на принтер и позволить ему их интерпретировать.
Поискав, я нашел два решения. Способ 1:
byte[] printdata;
PrintService pservice = PrintServiceLookup.lookupDefaultPrintService(); //or get the printer in some other way
DocPrintJob job = pservice.createPrintJob();
DocFlavor flavor = DocFlavor.BYTE_ARRAY.AUTOSENSE;
Doc doc = new SimpleDoc(printdata, flavor, null);
и способ 2:
PrintStream printStream = new PrintStream(new FileOutputStream(“LPT1”));
printStream.print(“Hello World”);
printStream.close();
Мне это нужно для кроссплатформенной работы с принтерами, использующими USB или последовательный порт. Каков правильный способ реализовать такое поведение?
Одна проблема с методом 2 заключается в том, что мне нужно будет найти URL-адрес принтера таким же образом...