Apache TIKA - 添加新的元数据值
Apache TIKA - Add new metadata value
我正在使用 Apache TIKA 将新的元数据值添加到 .doc 文件。
File file=new File(filepath);
Parser parser = new AutoDetectParser();
BodyContentHandler handler = new BodyContentHandler();
Metadata metadata = new Metadata();
FileInputStream inputstream=new FileInputStream(file);
ParseContext context =new ParseContext();
parser.parse(inputstream, handler, metadata, context);
metadata.add("Author","My Author");
如果我列出文档的所有元数据值:
String[] metadataNamesafter = metadata.names();
for(String name : metadataNamesafter) {
System.out.println(name + ": " + metadata.get(name));
}
作者已更改,但此 属性 未保存在物理文件中。
有人可以告诉我该怎么做吗?
谢谢大家
目前,Apache Tika 不支持此功能。目前(2015 年 7 月),Apache Tika 仅提供从文件中提取 元数据和文本内容的方法。因此,无法将您的更改保存到文件中。
这是 Apache Tika 社区中已经讨论过的内容,并且已经使用外部程序针对图像文件创建了概念验证 Embedded。您可以找到 interface here and the implementation javadocs here。在某些时候,大多数主要格式可能会支持将更改的元数据嵌入回格式中,但这在今天是不可能的。现在,社区的重点主要是提取,而不是保存。
我正在使用 Apache TIKA 将新的元数据值添加到 .doc 文件。
File file=new File(filepath);
Parser parser = new AutoDetectParser();
BodyContentHandler handler = new BodyContentHandler();
Metadata metadata = new Metadata();
FileInputStream inputstream=new FileInputStream(file);
ParseContext context =new ParseContext();
parser.parse(inputstream, handler, metadata, context);
metadata.add("Author","My Author");
如果我列出文档的所有元数据值:
String[] metadataNamesafter = metadata.names();
for(String name : metadataNamesafter) {
System.out.println(name + ": " + metadata.get(name));
}
作者已更改,但此 属性 未保存在物理文件中。 有人可以告诉我该怎么做吗?
谢谢大家
目前,Apache Tika 不支持此功能。目前(2015 年 7 月),Apache Tika 仅提供从文件中提取 元数据和文本内容的方法。因此,无法将您的更改保存到文件中。
这是 Apache Tika 社区中已经讨论过的内容,并且已经使用外部程序针对图像文件创建了概念验证 Embedded。您可以找到 interface here and the implementation javadocs here。在某些时候,大多数主要格式可能会支持将更改的元数据嵌入回格式中,但这在今天是不可能的。现在,社区的重点主要是提取,而不是保存。