我想用EPSON LX 350點陣打印在USB端口上打印。我使用的是Windows 8.1,打印機可以在打印機屬性中打印測試頁。java usb點陣打印
當我嘗試打印一些字符串時,它運行沒有任何問題。我將打印機名稱視爲輸出。我在Windows控制面板的打印機狀態對話框中看到'java printing'行1秒鐘。然後它就像打印完成一樣消失。但它不打印,打印機中沒有任何活動。這裏是我用於打印的代碼:
String defaultPrinter = PrintServiceLookup.lookupDefaultPrintService().getName();
System.out.println("Default printer: " + defaultPrinter);
PrintService service = PrintServiceLookup.lookupDefaultPrintService();
InputStream is = new ByteArrayInputStream("hello world!\f".getBytes("UTF8"));
DocFlavor flavor = DocFlavor.INPUT_STREAM.AUTOSENSE;
Doc doc = new SimpleDoc(is, flavor, null);
DocPrintJob job = service.createPrintJob();
job.print(doc, null);
is.close();
是關於計算機或java代碼或打印機的問題?
指向控制字符的指針:http://support.epson.ru/upload/library_file/14/esc-p.pdf - 可能在嘗試失敗後初始化打印機,用「\ u001B @」'。代碼是好的,雖然可以這樣做:'getBytes(StandardCharsets.UTF_8)'(一個異常少於捕獲,因爲UTF-8總是存在)。 –
我已經使用控制字符打印到lpt沒有任何問題。而且我用usb也是一樣,我認爲問題不在於字符。 – acpuma