2015-07-12 51 views
2

我需要您的幫助,在從bean寫入文件之後自動打開生成的PDF文件。我使用iText庫來編寫PDF文件,在下面的方法中,我能夠生成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文件在寫入後允許用戶打印文件後顯示給用戶,所以我該怎麼做?

+0

Desktop.getDesktop()來打印。打開(yourfile)? –

+0

@chuchichaeschtli不,我不希望它被首先保存,我只需要在不保存它的情況下生成它就打開它 – 99maas

+0

@chuchichaeschtli請參閱更新後的文章。另外,有沒有辦法顯示保存或打開PDF文件的對話框? – 99maas

回答

2

您可以在用戶機器上安裝的默認PDF查看器中打開pdf文件。

使用此。

Desktop.getDesktop().open(new File("path/to/pdf")); 

該文件將在應用程序中打開,無論目標機器上安裝了哪一個。 (Adobe Reader,請硝基PDF等)

一旦該文件在默認瀏覽器打開時,用戶將能夠通過按CTRL +P

+0

上面的行將打開PDF文件,如果它保存在桌面上。我的要求有點不同,一旦我寫PDF併到達document.close();我需要自動打開PDF文件,而不是將其保存在用戶機器中,類似於在運行中生成它並將其顯示給用戶 – 99maas

+0

或者是否有方法顯示保存或打開PDF文件的對話框? – 99maas

+0

您需要的是PDF渲染器或PDF查看器。這已經被回答[這裏](http://stackoverflow.com/a/4437985/4338417)。 –