如何使用apache tika从文件中获取特定的元数据标签

时间:2013-06-24 07:11:41

标签: java linux file metadata apache-tika

我在文件夹中有一些文件(sample.pdf,sample.html等),我正在使用以下Apache tika命令来提取元数据。

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

执行此命令后,我可以获取sample.pdf文件的所有元数据标签,但我的要求是获取特定标签,如作者,标题等。请建议我如何使用Apache tika获取特定的元数据标签。

由于

1 个答案:

答案 0 :(得分:0)

您可以按如下方式提取元数据名称(我的示例是用于解析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));
    }
}