gpt4 book ai didi

java - 使用 Apache Tika 解析 RTF 文件内的表时出现问题

转载 作者:太空宇宙 更新时间:2023-11-04 08:17:30 24 4
gpt4 key购买 nike

我正在尝试使用 Apache Tika 解析 RTF 文件。文件内有一个表几列。

问题在于解析器写出结果时没有任何信息该值位于哪一列。

我现在正在做的是:

AutoDetectParser adp = new AutoDetectParser(tc);
Metadata metadata = new Metadata();
String mimeType = new Tika().detect(file);
metadata.set(Metadata.CONTENT_TYPE, mimeType);
BodyContentHandler handler = new BodyContentHandler();

InputStream fis = new FileInputStream(file);

adp.parse(fis, handler, metadata, new ParseContext());

fis.close();
System.out.println(handler.toString());

它有效,但我需要知道元信息。

是否已经有一个处理程序可以输出类似 HTML 的内容并具有读取的 RTF 文件的结构?

最佳答案

我建议您不要向 Tika 询问纯文本版本,然后想知道所有好的 HTML 信息都去了哪里,而是直接向 Tika 询问 XHTML 文档。然后,您将能够对其进行处理,以在 RTF 文件中查找所需的信息

如果您查看 Tika 示例或 Tika 单元测试,您将看到相同的模式,可以轻松获取 XHTML 输出

    Metadata metadata = new Metadata();

StringWriter sw = new StringWriter();
SAXTransformerFactory factory = (SAXTransformerFactory)
SAXTransformerFactory.newInstance();
TransformerHandler handler = factory.newTransformerHandler();
handler.getTransformer().setOutputProperty(OutputKeys.METHOD, "xml");
handler.getTransformer().setOutputProperty(OutputKeys.INDENT, "no");
handler.setResult(new StreamResult(sw));

parser.parse(input, handler, metadata, new ParseContext());

String xhtml = sw.toString();

关于java - 使用 Apache Tika 解析 RTF 文件内的表时出现问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10170570/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com