【发布时间】:2016-01-27 23:31:36
【问题描述】:
我正在尝试使用 EPSON LX 350 点阵打印在 USB 端口上打印。我使用的是 Windows 8.1,打印机可以在打印机属性中打印测试页。
当我尝试打印一些字符串时,它运行没有任何问题。我将打印机名称视为输出。我在 Windows 控制面板的打印机状态对话框中看到“java 打印”行 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代码或者打印机的问题?
【问题讨论】:
-
指向控制字符的指针:support.epson.ru/upload/library_file/14/esc-p.pdf - 尝试失败后可能正在初始化打印机,
"\u001B@"。代码很好,但可以这样做:getBytes(StandardCharsets.UTF_8)(要捕获的异常更少,因为 UTF-8 始终存在)。 -
我已经使用控制字符打印到 lpt 没有任何问题。我用同样的USB,我认为问题不在于字符。
标签: java dot-matrix