java - 使用 Apache Tika 解析 iWorksDocument 时出现问题

标签 java lucene apache-tika text-extraction

我试图用 Apache Tika 解析 iWorksDoc。但我没有得到解析的内容,因为它是从内容处理程序获取一些其他输出。 我使用的代码片段和我得到的输出添加在下面。

    private void parseFile(File file) {
    try{
        File file = new File("/home/user/tika/samples/budget.numbers");
        FileInputStream inputStream = new FileInputStream(file);
        ParseContext context = new ParseContext();
        BodyContentHandler bodyHandler = new BodyContentHandler(-1);
        Parser parser=new AutoDetectParser();
        parser.parse(inputStream, bodyHandler, new Metadata(), context);
        System.out.println("Contents of the file :"+bodyHandler.toString());
        }
        catch(IOException | SAXException | TikaException e){
            e.printStackTrace();
        }
}

输出:-

Contents of the file :
Index/Document.iwa
Index/ViewState.iwa
Index/CalculationEngine.iwa
Index/Tables/HeaderStorageBucket-2.iwa
Index/Tables/Tile.iwa
Index/Metadata.iwa
Metadata/Properties.plist

我能够使用 Detector api 正确检测文件类型。但我没有从文档中获取有用的内容。请帮忙!

最佳答案

Tika 应该能够解析 Numbers 文档。如果您能够分享该文档,请将其发布到我们的Jira 。当我查看解析器时,我们可以更稳健地处理命名空间,这可能是问题所在,但如果没有文档我就无法判断。

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

相关文章:

elasticsearch - 索引时 Elasticsearch 面临内存问题

solr - Solr4 内存不足

java - jvm崩溃后如何清除lucene write.lock文件的锁定?

java - Apache Tika 无法检测短句中的语言。为什么?

java - 使用 Apache tika 获取 MimeType 子类型

java - 如何将 html 输入保存到列表中并在每次提交时显示?

java - 使用版本控制保存java对象树?

java - 区分 sqlite 表中的重复行

java - 如何将环境变量设置为localhost?

java - Akka actor 被另一个运行 CPU 密集型作业的 actor 阻止