Tika解析给出了最大限制达到的错误

时间:2017-02-22 12:56:39

标签: java apache-tika

我正在使用Apache Tika从PDF文件中获取内容。  当我运行它时,我得到以下错误。我没有在任何地方看到这个错误记录,这只是一个不好的惊喜。

org.apache.tika.sax.WriteOutContentHandler$WriteLimitReachedException: Your document contained more than 100000 characters, and so your requested limit has been reached. To receive the full text of the document, increase your limit. (Text up to the limit is however available).
    at org.apache.tika.sax.WriteOutContentHandler.characters(WriteOutContentHandler.java:141)
    at org.apache.tika.sax.ContentHandlerDecorator.characters(ContentHandlerDecorator.java:146)
    at org.apache.tika.sax.xpath.MatchingContentHandler.characters(MatchingContentHandler.java:85)
    at org.apache.tika.sax.ContentHandlerDecorator.characters(ContentHandlerDecorator.java:146)
    at org.apache.tika.sax.ContentHandlerDecorator.characters(ContentHandlerDecorator.java:146)
    at org.apache.tika.sax.SecureContentHandler.characters(SecureContentHandler.java:270)
    at org.apache.tika.sax.ContentHandlerDecorator.characters(ContentHandlerDecorator.java:146)
    at org.apache.tika.sax.ContentHandlerDecorator.characters(ContentHandlerDecorator.java:146)
    at org.apache.tika.sax.ContentHandlerDecorator.characters(ContentHandlerDecorator.java:146)
    at org.apache.tika.sax.SafeContentHandler.access$001(SafeContentHandler.java:46)
    at org.apache.tika.sax.SafeContentHandler$1.write(SafeContentHandler.java:82)
    at org.apache.tika.sax.SafeContentHandler.filter(SafeContentHandler.java:140)
    at org.apache.tika.sax.SafeContentHandler.characters(SafeContentHandler.java:287)
    at org.apache.tika.sax.XHTMLContentHandler.characters(XHTMLContentHandler.java:279)
    at org.apache.tika.sax.XHTMLContentHandler.characters(XHTMLContentHandler.java:306)
    at org.apache.tika.parser.pdf.PDF2XHTML.writeWordSeparator(PDF2XHTML.java:318)
    at org.apache.pdfbox.text.PDFTextStripper.writeLine(PDFTextStripper.java:1741)
    at org.apache.pdfbox.text.PDFTextStripper.writePage(PDFTextStripper.java:672)
    at org.apache.pdfbox.text.PDFTextStripper.processPage(PDFTextStripper.java:392)
    at org.apache.tika.parser.pdf.PDF2XHTML.processPage(PDF2XHTML.java:141)
    at org.apache.pdfbox.text.PDFTextStripper.processPages(PDFTextStripper.java:319)
    at org.apache.pdfbox.text.PDFTextStripper.writeText(PDFTextStripper.java:266)
    at org.apache.tika.parser.pdf.PDF2XHTML.process(PDF2XHTML.java:111)
    at org.apache.tika.parser.pdf.PDFParser.parse(PDFParser.java:150)
    at org.apache.tika.parser.CompositeParser.parse(CompositeParser.java:280)
    at org.apache.tika.parser.CompositeParser.parse(CompositeParser.java:280)
    at org.apache.tika.parser.AutoDetectParser.parse(AutoDetectParser.java:120)
    at org.apache.tika.parser.AutoDetectParser.parse(AutoDetectParser.java:136)

只是想知道如何摆脱这个错误并能够再次解析文件。或者如何限制这个限制。

1 个答案:

答案 0 :(得分:1)

您可以使用writeLimit设置限制,甚至可以使用以下命令禁用它:

public BodyContentHandler(int writeLimit)

docs说明如下:

  

writeLimit - 要包含在字符串中的最大字符数,或   -1禁用写入限制