I am trying to write a program that reads data from a pdf file into a string. Ultimately I want to interpret that string. I tried the following code:
public static void main(String args[]) throws IOException {
File file = new File("/Users/s/Documents/test_1-001.pdf");
PDDocument document = Loader.loadPDF(file);
PDFTextStripper pdfStripper = new PDFTextStripper();
String text = pdfStripper.getText(document);
System.out.println(text);
document.close();
}
I always get this error though:
Exception in thread "main" java.lang.ExceptionInInitializerError
at pdfbox.app@3.0.0-alpha2/org.apache.pdfbox.cos.COSStream.createView(COSStream.java:222)
at pdfbox.app@3.0.0-alpha2/org.apache.pdfbox.pdmodel.PDPage.getContentsForRandomAccess(PDPage.java:189)
at pdfbox.app@3.0.0-alpha2/org.apache.pdfbox.pdfparser.PDFStreamParser.<init>(PDFStreamParser.java:59)
at pdfbox.app@3.0.0-alpha2/org.apache.pdfbox.contentstream.PDFStreamEngine.processStreamOperators(PDFStreamEngine.java:505)
at pdfbox.app@3.0.0-alpha2/org.apache.pdfbox.contentstream.PDFStreamEngine.processStream(PDFStreamEngine.java:489)
at pdfbox.app@3.0.0-alpha2/org.apache.pdfbox.contentstream.PDFStreamEngine.processPage(PDFStreamEngine.java:158)
at pdfbox.app@3.0.0-alpha2/org.apache.pdfbox.text.LegacyPDFStreamEngine.processPage(LegacyPDFStreamEngine.java:153)
at pdfbox.app@3.0.0-alpha2/org.apache.pdfbox.text.PDFTextStripper.processPage(PDFTextStripper.java:361)
at pdfbox.app@3.0.0-alpha2/org.apache.pdfbox.text.PDFTextStripper.processPages(PDFTextStripper.java:287)
at pdfbox.app@3.0.0-alpha2/org.apache.pdfbox.text.PDFTextStripper.writeText(PDFTextStripper.java:234)
at pdfbox.app@3.0.0-alpha2/org.apache.pdfbox.text.PDFTextStripper.getText(PDFTextStripper.java:201)
at AuslesenDerPDFDetails/auslesenDerPDFDetails.AuslesenDerDetails.main(AuslesenDerDetails.java:35)
Caused by: java.lang.NullPointerException: Cannot invoke "org.apache.commons.logging.Log.error(Object, java.lang.Throwable)" because "org.apache.pdfbox.io.IOUtils.LOG" is null
at pdfbox.app@3.0.0-alpha2/org.apache.pdfbox.io.IOUtils.unmapper(IOUtils.java:273)
at java.base/java.security.AccessController.doPrivileged(AccessController.java:312)
at pdfbox.app@3.0.0-alpha2/org.apache.pdfbox.io.IOUtils.<clinit>(IOUtils.java:62)
... 12 more
Apparently my line
String text = pdfStripper.getText(document);
contains some sort of error. No object is null at this point though and I am defining every variable before I use it.
Can someone help?