GroupDocs.Metadata for Java 使 Java 开发人员可以通过执行几个简单的步骤,轻松地从其应用程序内编辑 Doc 文件的元数据详细信息。
- 加载要更新的 Doc 文件
- 指定将用于过滤所需元数据属性的谓词。
- 将谓词和新值传递给 UpdateProperties 方法。
- 保存更改。
GroupDocs.Metadata for Java 使 Java 开发人员可以通过执行几个简单的步骤,轻松地从其应用程序内编辑 Doc 文件的元数据详细信息。
// 编辑 DOC 创建日期元数据
public class UpdatingMetadata
{
public static void run()
{
Date threeDaysAgo = new Date(System.currentTimeMillis() - TimeUnit.DAYS.toMillis(3));
try (Metadata metadata = new Metadata("input.doc"))
{
// 如果现有值早于 3 天,则更新文件创建日期/时间
int affected = metadata.updateProperties(new ContainsTagSpecification(Tags.getTime().getCreated()).and(
new OfTypeSpecification(MetadataPropertyType.DateTime)).and(
new UpdatingMetadata().new DateBeforeSpecification(threeDaysAgo)), new PropertyValue(new Date()));
// 处理更新结果
System.out.println(String.format("Affected properties: %s", affected));
// 保存编辑的文件
metadata.save("output.doc");
}
}
// 定义您自己的规范来过滤元数据属性
public class DateBeforeSpecification extends Specification
{
public DateBeforeSpecification(Date date)
{
setValue(date);
}
public final Date getValue()
{
return auto_Value;
}
private void setValue(Date value)
{
auto_Value = value;
}
private Date auto_Value;
public boolean isSatisfiedBy(MetadataProperty candidate)
{
Date date = candidate.getValue().toClass(Date.class);
if (date != null)
{
return date.before(getValue());
}
return false;
}
}
}
<dependencies>
<dependency>
<groupId>com.groupdocs</groupId>
<artifactId>groupdocs-metadata</artifactId>
<version>24.8</version>
</dependency>
</dependencies>
<repositories>
<repository>
<id>repository.groupdocs.com</id>
<name>GroupDocs Repository</name>
<url>https://repository.groupdocs.com/repo/</url>
</repository>
</repositories>
GroupDocs.Metadata API 可让开发人员轻松更新其 Java 应用程序中各种文档格式的隐藏元数据。以编程方式应用、编辑、搜索和删除元数据。
GroupDocs.Metadata 简化了向 Java 应用内的文档和文件添加不同元数据的过程。开发人员可以轻松应用、更新或删除元数据。
该 API 提供了广泛的自定义元数据选项。使用特殊请求可以轻松地在文件中查找元数据并删除或更新它们。
根据文档格式,开发人员可以利用内置元数据,例如图像的 EXIF。这可能包括有关照片的信息,例如相机型号和编号、分辨率、创建日期等。
// 将文件加载到 Metadata 类构造函数
try (Metadata metadata = new Metadata("input.mp3")) {
MP3RootPackage root = metadata.getRootPackageGeneric();
if (root.getLyrics3V2() == null) {
root.setLyrics3V2(new LyricsTag());
}
// 更新歌词数据
root.getLyrics3V2().setLyrics("[00:01]Test lyrics");
root.getLyrics3V2().setArtist("test artist");
root.getLyrics3V2().setAlbum("test album");
root.getLyrics3V2().setTrack("test track");
// 您可以向标签添加完全自定义字段
root.getLyrics3V2().set(new LyricsField("ABC", "custom value"));
// 保存结果
metadata.save("output.mp3");
}
适用于 Java 的多格式文档和图像元数据编辑 API。检索一些流行文件格式的元数据,如下所述