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