
在上一篇文章中,我們討論了使用 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 信息,鼓勵讀者參考:
任何問題或進一步討論可以直接到提供的論壇。