有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java如何使用ApacheTika从文件中获取特定的元数据标记

我在一个文件夹中有一些文件(sample.pdf、sample.html等),我正在使用下面的apachetika命令提取元数据

java -jar tika-app.jar -m -j /sample/sample.pdf > test.txt

在执行这个命令之后,我能够获得sample的所有元数据标记。pdf文件,但我的要求是获取特定的标记,如作者、标题等。请建议我如何使用ApacheTika获取特定的元数据标记

谢谢


共 (1) 个答案

  1. # 1 楼答案

    您可以按如下方式提取元数据名称(我的示例用于解析XML文件,您只需将其更改为PDF解析器或使用自动检测解析器即可:

    //detecting the file type
    BodyContentHandler handler = new BodyContentHandler(-1);
    Metadata metadata = new Metadata();
    File inFile = new File("example.xml");
    FileInputStream inputstream = new FileInputStream(inFile);
    ParseContext pcontext = new ParseContext();
    
    //Xml parser
    XMLParser xmlparser = new XMLParser(); 
    xmlparser.parse(inputstream, handler, metadata, pcontext);
    
    System.out.println("Metadata of the document:");
    String[] metadataNames = metadata.names();//Now we have all the metadata tags here
    
    for(String name : metadataNames) {
        if (name == "Your Particular Tag"){ //here you can check if the tag names are the particular ones you need and do what you want with them
            System.out.println(name + ": " + metadata.get(name));
        }
    }