0

I try to convert PDF file to PNG image with my JavaFX (v16) application.

follow code

import net.sourceforge.tess4j.util.PdfBoxUtilities;
import org.apache.pdfbox.pdmodel.PDDocument;
import org.apache.pdfbox.rendering.ImageType;
import org.apache.pdfbox.rendering.PDFRenderer;
import org.apache.pdfbox.tools.imageio.ImageIOUtil;


public static void convertPdf2Png(File inputPdfFile) throws IOException {

 Path path = Files.createTempDirectory("tessimages-");
 File imageDir = path.toFile();

 PDDocument document = null;

 try {
   document = PDDocument.load(inputPdfFile);
   PDFRenderer pdfRenderer = new PDFRenderer(document);

 for (int page = 0; page < document.getNumberOfPages(); ++page) {

     BufferedImage bim = pdfRenderer.renderImageWithDPI(page, 300, ImageType.GRAY);

     // suffix in filename will be used as the file format
     String filename = String.format("workingimage%04d.png", page + 1);

   BufferedImage bi = ImageIO.read(new File(filename));

   ImageIOUtil.writeImage(bim, new File(imageDir, filename).getAbsolutePath(), 300);
 }
   } catch (IOException ioe) {
    System.err.println("Error:" + ioe);
   } finally {
    if (imageDir.list().length == 0) {
       imageDir.delete();
    }

   if (document != null) {
     try {
       document.close();
     } catch (Exception e) {
   }
  }
 }
}

I get follow error

Caused by: java.lang.IllegalAccessError: Class de/office/mysoftware/KostenrechnungController(de.mysoftware.software) cannot be based on class org/apache/pdfbox/pdmodel/PDDocument(unnamed module 0x0000000600D391F0) because module unnamed module  0x0000000600D391F0 von Modul de.mysoftware.software cannot be read

How can I correct this?

Slaw
  • 37,820
  • 8
  • 53
  • 80
user6834389
  • 73
  • 1
  • 11

1 Answers1

0

I have solved my problem after I added the below in module-info.java:

requires lept4j;
requires org.apache.pdfbox;
maloomeister
  • 2,461
  • 1
  • 12
  • 21
user6834389
  • 73
  • 1
  • 11