Ich habe Tausende von PDF-Dokumenten, die 11-15 MB sind. Mein Programm sagt, dass mein Dokument mehr als 100k Zeichen enthält.Apache Tika maxStringLength erreicht
Fehlerausgang:
Exception in thread "main" org.apache.tika.sax.WriteOutContentHandler $ WriteLimitReachedException: Ihr Dokument mehr als 100.000 Zeichen enthalten, und so Ihre angefordert Grenze erreicht ist . Um den vollständigen Text des Dokuments zu erhalten, erhöhen Sie Ihr Limit.
Wie kann ich das Limit auf 10-15mb erhöhen?
Ich fand eine Lösung, die neue Tika Fassadenklasse ist, aber ich konnte keinen Weg finden, es mit meinen zu integrieren.
Tika tika = new Tika();
tika.setMaxStringLength(10*1024*1024);
Hier ist mein Code:
BodyContentHandler handler = new BodyContentHandler();
Metadata metadata = new Metadata();
String location = "C:\\Users\\Laptop\\Dropbox\\MainTextbookTrappe2ndEd.pdf";
FileInputStream inputstream = new FileInputStream(location);
ParseContext pcontext = new ParseContext();
PDFParser pdfparser = new PDFParser();
pdfparser.parse(inputstream, handler, metadata, pcontext);
Ausgang:
System.out.println("Content of the PDF :" + pcontext);
Sie deaktivieren für die Antwort danken. Ich werde es versuchen, wenn ich zu Hause bin. Sperrt das Limit nicht gefährlich, anstatt es zu begrenzen? Wenn der Benutzer ein 10gb-Papierkorb-Dokument hochlädt, zerstört das System oder stürzt ab. –
@ Ali19033 natürlich können Sie auch einfach das Limit erhöhen, so dass Sie nur die Größe Ihrer PDFs abdecken. – wero