hyperlink - 如何使用 tika 从办公文档中提取超链接

标签 hyperlink ms-office extract apache-tika

我正在使用 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-app 从 bash 中的办公文档中提取超链接。我正在使用 --html 选项输出文件的 HTML 内容。然后我使用 sed 和 grep 将 HTML 过滤为该 HTML 中的 href 属性的内容。我得到的结果是每个 href 的内容,每行一个。

java -jar /root/tika-app-1.20.jar --html TEST.docx 2>/dev/null | sed 's/href/\nhref/g' | grep '^href' | sed 's/href="//' | sed 's/".*//'

我知道 OP 没有使用 tika-app,但也可以使用 Java 中的 Tika 来应用一般方法。

关于hyperlink - 如何使用 tika 从办公文档中提取超链接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33651739/

相关文章:

c++ - 如何为Windows Office 文档之类的文件添加属性?

google-bigquery - 在 BigQuery API 中提取作业 - 未找到作业配置对象

单击任何超链接时打开特定 URL 的 JavaScript

javascript - 在 onClick 之前执行 href

php - 如何避免在 PHPExcel 中丢失宏?

c# - 警告 : The referenced component 'Microsoft.Office.Core' could not be found

python - 从 torrent 文件中提取 SHA1 哈希

python - 从 json 文件中提取 URL

javascript - 菜单链接无法正常工作

html - 如何创建带有下划线的链接,其中下划线被字母切割?