Bearbeitung von EPUB-Metadaten mit Java

Im letzten Artikel haben wir die Verwaltung von EPUB-Metadaten und Dublin Core mit C# besprochen. Heute erfahren wir, wie Sie EPUB-Metadateneigenschaften, einschließlich der Dublin Core-Eigenschaftengruppe, mithilfe von Java programmgesteuert lesen, bearbeiten und aktualisieren können.

Eine EPUB-Datei ist ein digitales Buchformat, das Text, Bilder und interaktive Elemente enthält. Es wurde mit gängigen Webtechnologien wie HTML und CSS erstellt.

Unter EPUB-Metadaten versteht man wichtige Informationen, die in EPUB-Dateien gespeichert sind, wie Titel, Autor, Herausgeber und Sprache. Diese Daten helfen bei der ordnungsgemäßen Organisation digitaler Bücher.

Hier sind die Themen, die wir behandeln werden:

Java-API zum Bearbeiten von Metadaten

GroupDocs.Metadata bietet eine Java-API zur Automatisierung der Metadatenverwaltung für verschiedene Dateiformate in Java-Anwendungen. Diese API ermöglicht das Lesen, Aktualisieren, Hinzufügen, Bereinigen und Entfernen von Metadaten aus verschiedenen Dateitypen. In unserer heutigen Diskussion werden wir diese API verwenden, um die Metadaten von E-Books im EPUB-Format zu verarbeiten.

Sie können die JAR-Datei im Download-Bereich herunterladen oder die neuesten Repository- und Abhängigkeits-Maven-Konfigurationen in Ihre Java-Anwendungen integrieren.

<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>

Ändern von EPUB-Metadaten mit Java

Wenn Sie als Java-Entwickler EPUB-Metadateneigenschaften ändern möchten, führen Sie die folgenden Schritte aus:

  1. Laden Sie das EPUB-eBook mit der Klasse Metadata.
  2. Verwenden Sie die Methode getRootPackageGeneric, um das Metadaten-Stammpaket zu extrahieren.
  3. Jetzt können Sie ganz einfach alle Metadateneigenschaften des EPUB-Pakets mithilfe der entsprechenden Getter-Methode anzeigen.
  4. Aktualisieren Sie die Eigenschaftswerte nach Bedarf mit der jeweiligen Setter-Methode.
  5. Speichern Sie die eBook-Datei mit den aktualisierten Metadatenwerten mithilfe der Speichermethode.

Nachfolgend finden Sie Java-Codeausschnitte, die die Schritte zum Lesen und Aktualisieren von EPUB-Metadateneigenschaften veranschaulichen:

Lesen Sie EPUB-Metadaten

Hier erfahren Sie zunächst, wie Sie die EPUB-Metadaten mit Java lesen können:

// Lesen Sie EPUB-Metadaten mit Java
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-Metadaten aktualisieren

Der folgende Java-Quellcode zeigt, wie die EPUB-Metadateneigenschaften der EPUB-Datei abgerufen und aktualisiert werden:

// Aktualisieren Sie EPUB-Metadaten mit Java
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");
}

Ändern der EPUB-Dublin-Core-Metadaten mit Java

Dublin Core Metadaten bestehen aus einigen Elementen, die sowohl physische als auch digitale Ressourcen beschreiben. Sie können Dublin Core-Metadateneigenschaften mithilfe von Java-Code auf ähnliche Weise wie EPUB-Metadaten ändern.

Lesen Sie Dublin Core

Die folgenden Codezeilen veranschaulichen, wie Dublin Core-Metadatenelemente zur Analyse extrahiert werden:

// Lesen Sie Dublin Core-Metadaten mit 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());
}

Aktualisieren Sie Dublin Core

Sie können bestimmte Dublin Core-Eigenschaften nach Bedarf ändern, wie im folgenden Code gezeigt:

// Aktualisieren Sie Dublin Core-Metadaten mit 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");
}

Eine kostenlose Lizenz erhalten

Wenn Sie die Funktionen dieser API vollständig nutzen möchten, können Sie eine kostenlose temporäre Lizenz erwerben.

Abschluss

In diesem Artikel haben wir uns mit der Manipulation von EPUB-Metadaten befasst. Zunächst untersuchten wir, wie EPUB-Metadateneigenschaften mithilfe von Java programmgesteuert gelesen und geändert werden können. Später haben wir dieselben Techniken auf den Dublin Core-Elementsatz in E-Books angewendet.

Ausführliche API-Informationen finden Leser hier:

Bei Fragen oder weiteren Diskussionen können Sie sich an das bereitgestellte Forum richten.

Siehe auch