跟踪更改的docx在Apache Tika中产生错误的输出

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了跟踪更改的docx在Apache Tika中产生错误的输出相关的知识,希望对你有一定的参考价值。

我正在使用apache tika解析docx文件。

AutoDetectParser parser = new AutoDetectParser();
ContentHandler contentHandler = new BodyContentHandler();
inputStream = new BufferedInputStream(new FileInputStream(inputFileName));
Metadata metadata = new Metadata();

OfficeParserConfig officeParserConfig = new OfficeParserConfig();
officeParserConfig.setIncludeDeletedContent(false);
parseContext.set(OfficeParserConfig.class, officeParserConfig);

parser.parse(inputStream, contentHandler, metadata, parseContext);
System.out.println(contentHandler.toString());

当我发送track_revised docx文件时,它会添加所有删除的文本和实际文本以及插入的文本。有没有办法告诉解析器排除已删除的文本?

答案

我确实搞清楚了

AutoDetectParser parser = new AutoDetectParser();
ContentHandler contentHandler = new BodyContentHandler();
inputStream = new BufferedInputStream(new FileInputStream(inputFileName));
Metadata metadata = new Metadata();
ParseContext parseContext = new ParseContext();
OfficeParserConfig officeParserConfig = new OfficeParserConfig();
officeParserConfig.setUseSAXDocxExtractor(true);
officeParserConfig.setIncludeDeletedContent(false);
parseContext.set(OfficeParserConfig.class, officeParserConfig);

parser.parse(inputStream, contentHandler, metadata, parseContext);
System.out.println(contentHandler.toString());

以上是关于跟踪更改的docx在Apache Tika中产生错误的输出的主要内容,如果未能解决你的问题,请参考以下文章

使用 tika (application/x-tika-ooxml) 检索错误的 mime 类型

apache tika 可以导出excel吗

Apache Tika 和文件访问而不是 Java 输入流

Apache Tika 服务器 - 请求标头参数?

Python - Apache Tika 单页解析器

正确使用 Apache Tika MediaType