PdfBox, файл PDF не сохраняется при использовании программы в качестве файла JAR - PullRequest
0 голосов
/ 01 июля 2018

Я пытаюсь создать программу JAVA, которая будет генерировать счета. Я использую PDFBox для создания файлов PDF. В Netbeans все работает нормально, однако, когда я компилирую программу в файл JAR, файл PDF не создается. Более того, как только файл создан, он выполняется одновременно. все происходит в 1 клик. Как я упоминал ранее, он работает в Netbeans, но не работает, когда файл скомпилирован в файл JAR. Я новичок в JAVA, поэтому я мало что знаю об этом. Простое и быстрое решение или идея будет действительно полезным и высоко ценится. Заранее спасибо.

private void createPDF() throws IOException {
        File file = new File("invoice.pdf");
        PDDocument doc = PDDocument.load(file);
        PDPage page = (PDPage) doc.getDocumentCatalog().getAllPages().get(0);
        String logoImage = "logo.jpg";
        try {
            PDXObjectImage imageLogo = new PDJpeg(doc, new FileInputStream(logoImage));


              PDPageContentStream content = new PDPageContentStream(doc, page, true, true);
                content.drawImage(imageLogo, 175, 675);

            content.close();
            File f = new File("D:/invoiceGenerator/invoices/" + invoiceNo + ".pdf");
            FileOutputStream fOut = new FileOutputStream(f);
            try {
                doc.save(fOut);
                JOptionPane.showMessageDialog(null,"file created");
            } catch (Exception ex) {
                JOptionPane.showMessageDialog(null, ex);
            }

            doc.close();
            rowCount = 0;
            String fileName = "D:/invoiceGenerator/invoices/" + invoiceNo + ".pdf";
            try {
                File fileToOpen = new File(fileName);
                if (fileToOpen.exists()) {
                    Desktop.getDesktop().open(fileToOpen);
                } else {
                    JOptionPane.showMessageDialog(null, "File not exits -> " + fileToOpen.getAbsolutePath());
                }
            } catch (Exception e) {
                JOptionPane.showMessageDialog(null, e);
            }
        } catch (Exception ex) {
            JOptionPane.showMessageDialog(null, ex);
    }
...