Thank you for that idea. I was thinking the same thing, but the only dependency I have on PDFBox is:
<dependency> <groupId> org.apache.pdfbox </groupId> <artifactId> jbig2-imageio </artifactId> <version> 3.0.4 </version> </dependency> This seems to be the latest version. Could this be the problem? Thank you. Sent from [ProtonMail](https://protonmail.com), Swiss-based encrypted email. Sent with [Proton Mail](https://proton.me/) secure email. On Thursday, February 8th, 2024 at 8:56 AM, Tilman Hausherr <[email protected]> wrote: > Hi, > > Are you somehow using a lower PDFBox version with a newer Tika Version? > canPrintFaithful() was introduced in 2022 because the old method > canPrintDegraded(), which is now deprecated, was misleading > > Tilman > > On 08.02.2024 13:59, Morkus wrote: > >> Hello, >> >> I recently tried to upgrade our Java Tika maven libraries from 2.2.0 to >> 2.9.1, but when using the same Java code that worked before, extracting text >> from a PDF no longer works. >> >> Now I get these errors: >> >> "java.lang.NoSuchMethodError: 'boolean >> org.apache.pdfbox.pdmodel.encryption.AccessPermission.canPrintFaithful()' >> >> at org.apache.tika.parser.pdf.PDFParser.extractMetadata(PDFParser.java:591) >> at org.apache.tika.parser.pdf.PDFParser.parse(PDFParser.java:201) >> at org.apache.tika.parser.CompositeParser.parse(CompositeParser.java:298) >> at org.apache.tika.parser.CompositeParser.parse(CompositeParser.java:298) >> at org.apache.tika.parser.AutoDetectParser.parse(AutoDetectParser.java:203) >> . >> . >> . >> The error stack seems to indicate a line of code that worked perfectly with >> 2.2.0. >> >> Note the last line below "parser.parse(...)". This is one of the lines noted >> in the error stack. >> >> Parser parser = >> >> new >> >> AutoDetectParser(); >> BodyContentHandler handler = >> >> new >> >> BodyContentHandler(- >> >> 1 >> >> ); >> >> // handle larger files. >> >> Metadata metadata = >> >> new >> >> Metadata(); >> InputStream inputStream = >> >> new >> >> ByteArrayInputStream(decodedBodyData); >> ParseContext context = >> >> new >> >> ParseContext(); >> >> parser.parse(inputStream, handler, metadata, context); >> >> Could someone explain what I need to change so this code works again with >> 2.9.1? >> >> Greatly appreciate any suggestions. >> >> Thanks very much, >> >> - m >> >> Sent from [ProtonMail](https://protonmail.com), Swiss-based encrypted email. >> >> Sent with [Proton Mail](https://proton.me/) secure email.
