Как открыть файл PDF сразу после его создания?

Я хочу очистить экземпляр FileInputStream сразу после создания PDF-файла.

Я использую динамические отчеты для экспорта отчета в 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");
                }

Всякий раз, когда я запускаю приведенный выше код, остальная часть выполняется как "File does not exists"

Файл генерируется, но когда я пытаюсь прочитать вновь сгенерированный файл, generatedfile.exists() условие не выполняется

1 ответ

Используйте метод report.show(), он мгновенно открывает PDF после успешной компиляции.

Другие вопросы по тегам