0
如何將「java.awt.print.Printable」對象靜默地打印到PDF?
幾點需要注意:無聲打印「可打印」對象到PDF文件
- 我沒有數據作爲PDF文件
- 我工作的現有的代碼,所以我不能從打印接口
那麼一步之遙我可以使用job.printDialog()打印它。但我需要能夠靜靜地做到這一點(無需用戶輸入)。可用的PDF打印機是「Adobe PDF」,我想其他人可以根據需要安裝。
這裏的基本代碼:
Printable printout = /*object*/;
Book pageable = new Book();
pageable.append(printout, pageFormat);
DocFlavor flavor = DocFlavor.SERVICE_FORMATTED.PAGEABLE;
PrintRequestAttributeSet patts = new HashPrintRequestAttributeSet();
// Add Filepath?
PrintService[] ps = PrintServiceLookup.lookupPrintServices(flavor, patts);
if (ps.length == 0)
throw new IllegalStateException("No Printer found");
PrinterJob job = PrinterJob.getPrinterJob();
job.setPrintService(ps[0]);
job.setPrintable(printout);