0
我想開發一個獨立的應用程序與Java Swing的醫療商店。有一個強制性的要求,打印一個小尺寸(219毫米至140毫米),只需單擊一下,沒有打印對話框。間歇性地,他們需要從不同的打印機將報告送至完整的A4頁面。Java打印機api
是否可以在不使用打印機對話框的情況下使用Java SE更改Java應用程序中的打印機和紙張屬性?
我想開發一個獨立的應用程序與Java Swing的醫療商店。有一個強制性的要求,打印一個小尺寸(219毫米至140毫米),只需單擊一下,沒有打印對話框。間歇性地,他們需要從不同的打印機將報告送至完整的A4頁面。Java打印機api
是否可以在不使用打印機對話框的情況下使用Java SE更改Java應用程序中的打印機和紙張屬性?
從PrintService
接口的javadoc的一個例子
DocFlavor flavor = DocFlavor.INPUT_STREAM.POSTSCRIPT;
PrintRequestAttributeSet aset = new HashPrintRequestAttributeSet();
aset.add(MediaSizeName.ISO_A4);
PrintService[] pservices =
PrintServiceLookup.lookupPrintServices(flavor, aset);
if (pservices.length > 0) {
DocPrintJob pj = pservices[0].createPrintJob();
try {
FileInputStream fis = new FileInputStream("test.ps");
Doc doc = new SimpleDoc(fis, flavor, null);
pj.print(doc, aset);
} catch (FileNotFoundException fe) {
} catch (PrintException e) {
}
}
你可以得到所有可用的PrintService並與所需的格式打印。