l ho migliaia di documenti pdf che sono 11-15mb. Il mio programma dice che il mio documento contiene più di 100k caratteri.Apache Tika maxStringLength raggiunto
uscitaErrore:
Exception in thread "main" org.apache.tika.sax.WriteOutContentHandler $ WriteLimitReachedException: Il documento conteneva più di 100000 caratteri, e così il vostro limite richiesto è stato raggiunto . Per ricevere il testo completo del documento , aumentare il limite.
Come posso aumentare il limite a 10-15 MB?
Ho trovato una soluzione che è nuova classe di facciata Tika ma non ho trovato un modo per integrarla con la mia.
Tika tika = new Tika();
tika.setMaxStringLength(10*1024*1024);
Ecco il mio codice:
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);
uscita:
System.out.println("Content of the PDF :" + pcontext);
Grazie per la risposta. Lo proverò quando sarò a casa. Non disabilitare il limite pericoloso invece di limitarlo? Se l'utente carica un documento pdf da 10 gb, il sistema distruggerà o si bloccherà. –
@ Ali19033 ovviamente puoi anche semplicemente aumentare il limite in modo da coprire solo le dimensioni dei tuoi PDF. – wero