GroupDocs.Metadata for Java 让 Java 开发者只需几个简单步骤,即可在其应用程序中编辑 Jpeg 文件的元数据细节。
- 加载要更新的 Jpeg 文件
- 指定用于过滤所需元数据属性的谓词。
- 将谓词和新值传递给 UpdateProperties 方法。
- 保存更改。
GroupDocs.Metadata for Java 让 Java 开发者只需几个简单步骤,即可在其应用程序中编辑 Jpeg 文件的元数据细节。
// 编辑 JPEG 的创建日期元数据
public class UpdatingMetadata
{
public static void run()
{
Date threeDaysAgo = new Date(System.currentTimeMillis() - TimeUnit.DAYS.toMillis(3));
try (Metadata metadata = new Metadata("input.jpeg"))
{
// 如果现有值早于 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.jpeg");
}
}
// 定义您自己的规范以过滤元数据属性
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。它可能包含照片的相机型号和编号、分辨率、创建日期等信息。
此示例演示了在 MP# 媒体文件中更新隐藏元数据。
// 将文件加载到 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。检索以下列出的一些流行文件格式的元数据。