我有成千上万的pdf文件,11-15mb。我的程序说我的文档包含超过10万个字符。
错误输出:
线程“main”中的异常 org.apache.tika.sax.WriteOutContentHandler $ WriteLimitReachedException: 您的文档包含超过100000个字符,所以您的文档 已达到要求的限制。收到的全文 文件,增加你的限制。
如何将限制增加到10-15mb?
我找到了一个新的Tika门面课程的解决方案,但我找不到将它与我的整合的方法。
Tika tika = new Tika();
tika.setMaxStringLength(10*1024*1024);
这是我的代码:
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);
输出:
System.out.println("Content of the PDF :" + pcontext);
答案 0 :(得分:18)
使用
BodyContentHandler handler = new BodyContentHandler(-1);
禁用限制。 来自Javadoc:
内部字符串缓冲区以给定的数量为界 字符。如果达到此写入限制,则SAXException为 抛出。
参数:writeLimit
- 最大字符数 包含在字符串中,或-1以禁用写入限制