使用 Java 編輯 EPUB 元數據

在上一篇文章中,我們討論了使用 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 元資料屬性,請依照下列步驟操作:

  1. 使用 Metadata 類別載入 EPUB 電子書。
  2. 使用 getRootPackageGeneric 方法擷取元資料根包。
  3. 現在,您可以使用對應的 getter 方法輕鬆查看 EPUB 套件的所有元資料屬性。
  4. 使用對應的 setter 方法根據需要更新屬性值。
  5. 使用 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 信息,鼓勵讀者參考:

任何問題或進一步討論可以直接到提供的論壇

也可以看看