我在文件夹中有一些文件(sample.pdf、sample.html 等),我正在使用以下 Apache tika 命令来提取元数据。
java -jar tika-app.jar -m -j /sample/sample.pdf > test.txt
执行此命令后,我能够获取 sample.pdf 文件的所有元数据标签,但我的要求是获取特定标签,如作者、标题等。请建议我如何使用 Apache tika 获取特定的元数据标签。
谢谢
我在文件夹中有一些文件(sample.pdf、sample.html 等),我正在使用以下 Apache tika 命令来提取元数据。
java -jar tika-app.jar -m -j /sample/sample.pdf > test.txt
执行此命令后,我能够获取 sample.pdf 文件的所有元数据标签,但我的要求是获取特定标签,如作者、标题等。请建议我如何使用 Apache tika 获取特定的元数据标签。
谢谢
您可以提取元数据名称如下(我的示例是用于解析 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));
}
}