No, that one is fine. Could it be that a lower pdfbox version is
implicitely used by another dependency? Try finding out what effective
pdfbox version is used by tika.
mvn help:effective-pom
Alternatively, add this to your pom:
<dependency>
<groupId>org.apache.pdfbox</groupId>
<artifactId>pdfbox</artifactId>
<version>2.0.30</version>
</dependency>
Tilman
On 08.02.2024 16:15, Morkus wrote:
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.