如何在创建后立即打开PDF文件?

时间:2015-01-21 14:00:31

标签: java fileoutputstream dynamic-reports

我想在创建pdf文件后刷新FileInputStream实例。

我正在使用动态报告将报告导出为pdf

我不会发布整个代码。只有重要部分

JasperReportBuilder report = DynamicReports.report();//a new report
    File path= new File("/home/kunal/Medicam reports/Sale Report");
                String pdfreport = String.valueOf(dateformat.format(date));
                if(!path.exists())
                {
                    path.mkdirs();
                    report.toPdf(new FileOutputStream(path+"/"+pdfreport+".pdf"));

                }
                else
                {
                    report.toPdf(new FileOutputStream(path+"/"+pdfreport+".pdf"));

                }

                File generatedfile = new File("/home/kunal/Medicam reports/Sale Report/"+pdfreport+".pdf");
                if(generatedfile.exists())
                {
                    if(Desktop.isDesktopSupported())
                    {
                        Desktop.getDesktop().open(generatedfile);
                    }
                    else
                    {
                        System.out.println("Not Supported by your desktop");
                    }
                }
                else
                {
                    System.out.println("File does not Exists");
                }

每当我运行上面的代码时,else部分将被执行为"File does not exists"

生成文件但是当我尝试读取新生成的文件时generatedfile.exists()条件失败

1 个答案:

答案 0 :(得分:0)

使用report.show()方法,它会在编译成功后立即打开pdf。