【问题标题】:Apache TIKA - Add new metadata valueApache TIKA - 添加新的元数据值
【发布时间】:2015-10-10 20:45:01
【问题描述】:

我正在使用 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 是一个用于提取文本和元数据而不是对其进行更改的库吗?

标签: java apache metadata apache-tika


【解决方案1】:

目前,Apache Tika 不支持此功能。目前(2015 年 7 月),Apache Tika 仅提供从文件中提取元数据和文本内容的方法。因此,您无法将更改保存到文件中。

这已经在 Apache Tika 社区中讨论过,并且已经创建了一个概念验证Embedded,使用外部程序,针对图像文件。您可以找到interface hereimplementation javadocs here。在某些时候,大多数主要格式可能会支持将更改的元数据嵌入到格式中,但今天这是不可能的。目前,社区的重点主要是提取,而不是保存。

【讨论】:

  • 感谢您的回答
猜你喜欢
  • 1970-01-01
  • 2015-09-02
  • 1970-01-01
  • 2011-09-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多