
前回の記事では、C# を使用した EPUB メタデータと Dublin Core の管理について説明しました。今日は、Java を使用して、Dublin Core のプロパティ セットを含む EPUB メタデータ プロパティをプログラムで読み取り、編集、更新する方法を学びます。
EPUB ファイルは、テキスト、画像、インタラクティブな要素を含むデジタル ブック形式です。 HTML や CSS などの一般的な Web テクノロジーを使用して作成されています。
EPUB メタデータとは、タイトル、著者、発行者、言語など、EPUB ファイル内に保存されている重要な情報を意味します。このデータは、デジタルブックを適切に整理するのに役立ちます。
ここで取り上げるトピックは次のとおりです。
メタデータ編集用の Java API
GroupDocs.Metadata は、Java アプリケーションのさまざまなファイル形式のメタデータ管理を自動化するように設計された Java API を提供します。この 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 メソッドを使用して、メタデータ ルート パッケージを抽出します。
- これで、それぞれのゲッター メソッドを使用して、EPUB パッケージのすべてのメタデータ プロパティを簡単に表示できるようになりました。
- 必要に応じて、それぞれのセッター メソッドを使用してプロパティ値を更新します。
- save メソッドを使用して、更新されたメタデータ値を含む eBook ファイルを保存します。
以下は、EPUB メタデータ プロパティを読み取り、更新する手順を示す Java コードのスニペットです。
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 Core メタデータの変更
ダブリンコア メタデータは、物理リソースとデジタルリソースの両方を記述するいくつかの項目で構成されます。 EPUB メタデータと同様の方法で Java コードを使用して、Dublin Core メタデータのプロパティを変更できます。
ダブリン・コアを読む
次のコード行は、分析のために Dublin Core メタデータ項目を抽出する方法を示しています。
// Java を使用して Dublin Core メタデータを読み取る
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 を使用して Dublin Core メタデータを更新する
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 の機能を十分に体験したい場合は、[無料で一時ライセンス] を取得できます11。
結論
この記事では、EPUB メタデータの操作について調べました。最初に、Java を使用してプログラムで EPUB メタデータ プロパティを読み取り、変更する方法を検討しました。その後、同じ手法を電子書籍内の Dublin Core アイテム セットに適用しました。
API の詳細情報については、以下を参照することをお勧めします。
質問やさらなる議論は、提供されている フォーラム に送信できます。