Java 从方法生成PDF文件后如何打开该文件
我需要您的帮助,在从bean写入生成的PDF文件后自动打开该文件。我使用Java 从方法生成PDF文件后如何打开该文件,java,pdf,itext,Java,Pdf,Itext,我需要您的帮助,在从bean写入生成的PDF文件后自动打开该文件。我使用iText库编写了一个PDF文件,在下面的方法中,我能够生成PDF,但我不知道如何为用户动态打开它 public static void main(String[] args) throws DocumentException, FileNotFoundException, IOException { Document document = new Document(PageSize.A4, 50, 50, 50
iText
库编写了一个PDF文件,在下面的方法中,我能够生成PDF,但我不知道如何为用户动态打开它
public static void main(String[] args) throws DocumentException, FileNotFoundException, IOException {
Document document = new Document(PageSize.A4, 50, 50, 50, 50);
document.open();
BaseFont bf = BaseFont.createFont(
"c://windows/fonts/arialuni.ttf", BaseFont.IDENTITY_H, BaseFont.EMBEDDED);
Font font = new Font(bf, 25);
PdfPTable table = new PdfPTable(1);
PdfPCell cell = new PdfPCell(new Phrase("Good Morning", font));
cell.setBorder(Rectangle.NO_BORDER);
cell.setRunDirection(PdfWriter.RUN_DIRECTION_RTL);
table.addCell(cell);
document.add(table);
document.close();
}
我希望在写入PDF文件后将其显示给用户,以允许用户打印该文件,那么我如何才能做到这一点?您只需在用户机器上安装的默认PDF查看器中打开
PDF
文件即可
用这个
Desktop.getDesktop().open(new File("path/to/pdf"));
该文件将在目标计算机上安装的应用程序中打开。(Adobe Reader、Nitro PDF等)
在默认查看器中打开文件后,用户将能够通过按ctrl+pDesktop.getDesktop()打印文件。打开(您的文件)?@chuchichaeschtli否我不希望首先保存它,我只需要在生成后打开它,而不保存它it@chuchichaeschtli请参阅更新后的帖子。另外,是否有方法显示保存或打开PDF文件的对话框?因此,您在用户的计算机上安装了一个应用程序(毕竟您使用了
main
方法),并且希望在不保存PDF的情况下显示PDF,即只存在于内存中的应用程序。AFAIK使用用户计算机上现有的标准PDF查看器是不可能的。您可以尝试使用java PDF查看器组件,例如jPedal。@mkl感谢mkl的解释,现在我明白了这一点。如果PDF文件保存在桌面上,上行将打开该文件。我的要求有点不同,一旦我写了PDF并到达文档。close();我需要自动打开PDF文件,而不将其保存在用户计算机中,类似于动态生成并向用户显示PDF文件,或者是否有方法显示保存或打开PDF文件的对话框?您需要的是PDF渲染器或PDF查看器。这已经得到了回答。事实上,我正在使用Primefaces,而且我对它还不熟悉,这是我第一次编写PDF文件,我不知道如何在浏览器上显示它。