Java 从方法生成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

我需要您的帮助,在从bean写入生成的PDF文件后自动打开该文件。我使用
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+p

Desktop.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文件,我不知道如何在浏览器上显示它。