【发布时间】:2016-02-12 14:44:37
【问题描述】:
我正在使用 Apache Tika 从包括 office 在内的各种文档格式中提取原始文本。
从包含超链接的word文档中提取文本时,只会提取文本,而有关超链接的信息会丢失。
有没有办法配置解析器,以便同时提取底层链接?
ParseContext context = new ParseContext();
Detector detector = new DefaultDetector();
Parser parser = new AutoDetectParser(detector);
context.set(Parser.class, parser);
Metadata metadata = new Metadata();
try (TikaInputStream input = TikaInputStream.get(new File(fileName))) {
BodyContentHandler handler = new BodyContentHandler();
parser.parse(input, handler, metadata, context);
String rawText = handler.toString();
input.close();
}
【问题讨论】:
-
让 Tika 给你文件的 HTML 版本,而不是你现在的纯文本版本?
-
这是一种可能的解决方法,但需要额外的后处理来处理/删除 HTML 标签。
-
您可以向 Tika 索要两次,一次是您从中获取链接的 HTML,一次是您使用的纯文本?否则,是的,如果您想要链接,您需要查看 HTML 中的
a标签
标签: hyperlink ms-office extract apache-tika