3
此类用于打印出一个文件。我有一个JButton(未在下面的代码中显示)运行此代码并打开一个打印对话框。但是,当我点击打印时,它开始打印,但如果文本不占用整个页面,它将停止,并且不会从打印机中弹出。我是否错过可能导致此问题的内容?在打印机中停止纸张 - Java打印问题
try{
FileInputStream textStream;
PrintRequestAttributeSet aset = new HashPrintRequestAttributeSet();
textStream = new FileInputStream(testFileName);
DocFlavor flavor = DocFlavor.INPUT_STREAM.AUTOSENSE;
Doc test = new SimpleDoc(textStream, flavor, null);
PrintService[] services = PrintServiceLookup.lookupPrintServices(flavor, aset);
PrintService defaultService = PrintServiceLookup.lookupDefaultPrintService();
if(services.length == 0){
if(defaultService==null){
System.out.println("NO PRINTERS");
}else{
DocPrintJob job = defaultService.createPrintJob();
job.print(test, aset);
}
}else{
PrintService service = ServiceUI.printDialog(null, 200, 200, services, defaultService, flavor, aset);
if(service != null){
DocPrintJob job = service.createPrintJob();
job.print(test, aset);
}
}
}catch (IOException | PrintException e){
e.printStackTrace();
}
您是否收到错误信息 - 无论是与打印机本身还是程序?任何有关这方面的额外信息都可能有所帮助。 – snickers10m
不,根本没有错误消息。它只停在打印机中。我去打印其他东西(不是来自我的程序),它开始打印在打印机剩余页面的底部。 – camm73
我必须说,这是打印机参与我所听说过的最奇怪的行为。您是否有权访问另一台打印机或有一位朋友可以通过他们自己的打印机运行程序?这听起来像是它可能是打印机的问题,而不是Java。 – snickers10m