在上一篇文章中,我们讨论了使用 C# 管理 EPUB 元数据和 Dublin Core。今天,我们将学习如何使用 Java 以编程方式读取、编辑和更新 EPUB 元数据属性,包括 Dublin Core 属性集。
EPUB 文件是一种数字图书格式,包括文本、图片和交互元素。它是使用 HTML 和 CSS 等常见的 Web 技术制作的。
EPUB 元数据是指存储在 EPUB 文件中的重要信息,例如标题、作者、出版商和语言。这些数据有助于正确组织数字图书。
以下是我们将讨论的主题:
用于编辑元数据的 Java API
GroupDocs.Metadata 提供了一个 Java API,旨在自动化 Java 应用程序中不同文件格式的元数据管理。此 API 允许读取、更新、添加、清理和删除各种文件类型的元数据。在今天的讨论中,我们将利用此 API 来处理 EPUB 格式电子书的元数据。
您可以从下载部分获取 JAR 文件,或者将最新的存储库和依赖项 Maven 配置合并到您的 Java 应用程序中。
<repository>
<id>GroupDocsJavaAPI</id>
<name>GroupDocs Java API</name>
<url>https://releases.groupdocs.com/java/repo/</url>
</repository>
<dependency>
<groupId>com.groupdocs</groupId>
<artifactId>groupdocs-metadata</artifactId>
<version>23.10</version>
</dependency>
使用Java修改EPUB元数据
作为 Java 开发人员,如果您想要修改 EPUB 元数据属性,请按照以下步骤操作:
- 使用 Metadata 类加载 EPUB 电子书。
- 使用 getRootPackageGeneric 方法提取元数据根包。
- 现在,您可以使用相应的 getter 方法轻松查看 EPUB 包的所有元数据属性。
- 使用相应的 setter 方法根据需要更新属性值。
- 使用 save 方法保存具有更新的元数据值的电子书文件。
下面是 Java 代码片段,说明了读取和更新 EPUB 元数据属性的步骤:
读取 EPUB 元数据
首先,您可以通过以下方式使用 Java 读取 EPUB 元数据:
// 使用 Java 读取 EPUB 元数据
try (Metadata metadata = new Metadata("path/ebook.epub")) {
EpubRootPackage root = metadata.getRootPackageGeneric();
System.out.println(root.getEpubPackage().getVersion());
System.out.println(root.getEpubPackage().getUniqueIdentifier());
System.out.println(root.getEpubPackage().getImageCover() != null ? root.getEpubPackage().getImageCover().length : 0);
}
更新 EPUB 元数据
以下 Java 源代码演示了如何获取和更新 EPUB 文件的 EPUB 元数据属性:
// 使用 Java 更新 EPUB 元数据
try (Metadata metadata = new Metadata("path/ebook.epub")) {
EpubRootPackage root = metadata.getRootPackageGeneric();
root.getEpubPackage().setCreator("GroupDocs");
root.getEpubPackage().setDescription("test e-book");
root.getEpubPackage().setFormat("EPUB");
root.getEpubPackage().setDate(new Date().toString());
metadata.save("path/ebook.epub");
}
使用 Java 修改 EPUB Dublin 核心元数据
都柏林核心元数据由一些描述物理和数字资源的项目组成。您可以使用 Java 代码以类似于 EPUB 元数据的方式修改 Dublin Core 元数据属性。
阅读都柏林核心
以下代码行演示了如何提取都柏林核心元数据项进行分析:
// 使用 Java 读取都柏林核心元数据
try (Metadata metadata = new Metadata("path/ebook.epub")) {
EpubRootPackage root = metadata.getRootPackageGeneric();
System.out.println(root.getDublinCorePackage().getRights());
System.out.println(root.getDublinCorePackage().getPublisher());
System.out.println(root.getDublinCorePackage().getTitle());
System.out.println(root.getDublinCorePackage().getCreator());
System.out.println(root.getDublinCorePackage().getLanguage());
System.out.println(root.getDublinCorePackage().getDate());
}
更新都柏林核心
您可以根据需要更改特定的 Dublin Core 属性,如下面的代码所示:
// 使用 Java 更新都柏林核心元数据
try (Metadata metadata = new Metadata("path/ebook.epub")) {
EpubRootPackage root = metadata.getRootPackageGeneric();
root.getDublinCorePackage().setProperties(new WithNameSpecification("dc:creator"), new PropertyValue("GroupDocs"));
root.getDublinCorePackage().setProperties(new WithNameSpecification("dc:description"), new PropertyValue("test e-book"));
root.getDublinCorePackage().setProperties(new WithNameSpecification("dc:title"), new PropertyValue("test EPUB"));
root.getDublinCorePackage().setProperties(new WithNameSpecification("dc:date"), new PropertyValue(new Date().toString()));
metadata.save("path/ebook.epub");
}
获得免费许可证
如果您想充分体验该API的功能,可以获取免费临时许可证。
结论
在本文中,我们研究了 EPUB 元数据操作。最初,我们探索了如何使用 Java 以编程方式读取和修改 EPUB 元数据属性。后来,我们将相同的技术应用于电子书中的都柏林核心项目集。
有关详细的 API 信息,鼓励读者参考:
任何问题或进一步讨论可以直接到提供的论坛。