我正在开发一些发票软件。到目前为止,我设法创建了一个excel文件(XLSX),其中包含我需要的所有信息(客户信息,增值税,定价等)。
现在,我想将此文件保存为PDF,以便可以直接邮寄给客户。在Java中看起来有点难。为了更容易,我只想使用Windows Printing Dialog打印我的源文件,然后选择一个PDF打印机。
这段小代码可以正常工作,但它会立即使用默认打印机启动打印作业,而不会显示任何对话框。不是我想要的。
desktop.print(new File("Docfile.pdf"));
这段代码显示了打印对话框,但我不清楚(查看文档)如何告诉PrintJob打印File或FileInputStream ......
PrinterJob pj = PrinterJob.getPrinterJob();
pj.print();
第一个代码应该显示对话框,或者第二个代码应该让我能够选择文件。似乎无法修复它。有人有任何想法吗?
答案 0 :(得分:1)
首先看看Printing Trail,特别是Using Print Setup Dialogs
来自链接的教程......
PrinterJob pj = PrinterJob.getPrinterJob();
...
if (pj.printDialog()) {
try {pj.print();}
catch (PrinterException exc) {
System.out.println(exc);
}
}
...