我正在使用Tika解析大型pdf和word文档,但我得到了他的错误消息.
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).
Run Code Online (Sandbox Code Playgroud)
我怎样才能增加限额?
Gag*_*arr 19
假设您基本上遵循Tika示例提取纯文本,那么您需要做的就是创建一个写入限制为-1的BodyContentHandler来禁用写入限制,如javadocs中所述.
您的代码看起来会像(受示例启发):
BodyContentHandler handler = new BodyContentHandler(-1);
InputStream stream = ContentHandlerExample.class.getResourceAsStream("test.doc");
AutoDetectParser parser = new AutoDetectParser();
Metadata metadata = new Metadata();
try {
parser.parse(stream, handler, metadata);
return handler.toString();
} finally {
stream.close();
}
Run Code Online (Sandbox Code Playgroud)
小智 5
我不同意@Gagravarr 使用 -1 的写入限制,因为在 -1 情况下将选择的默认值实际上是 100000。
如果我没有错,Tika BodyContentHandler>WriteOutContentHandler 的文档指出:
内部字符串缓冲区限制为 100k 个字符。
但是,实现此目的的最佳方法是将 StringWriter 的对象作为参数传递来代替 -1。
StringWriter any = new StringWriter();
Run Code Online (Sandbox Code Playgroud)
进而
BodyContentHandler handler = new BodyContentHandler(any);
| 归档时间: |
|
| 查看次数: |
6234 次 |
| 最近记录: |