Édition des métadonnées EPUB à l'aide de Java

Dans le dernier article, nous avons discuté de la gestion des métadonnées EPUB et du Dublin Core à l’aide de C#. Aujourd’hui, nous allons apprendre comment lire, modifier et mettre à jour par programme les propriétés des métadonnées EPUB, y compris l’ensemble de propriétés Dublin Core, à l’aide de Java.

Un fichier EPUB est un format de livre numérique qui comprend du texte, des images et des éléments interactifs. Il est réalisé à l’aide de technologies Web courantes telles que HTML et CSS.

Les métadonnées EPUB désignent les informations importantes stockées dans les fichiers EPUB, telles que le titre, l’auteur, l’éditeur et la langue. Ces données aident à organiser correctement les livres numériques.

Voici les sujets que nous aborderons :

API Java pour la modification des métadonnées

GroupDocs.Metadata propose une API Java conçue pour automatiser la gestion des métadonnées pour différents formats de fichiers dans les applications Java. Cette API permet de lire, mettre à jour, ajouter, nettoyer et supprimer des métadonnées de différents types de fichiers. Dans notre discussion d’aujourd’hui, nous utiliserons cette API pour gérer les métadonnées des livres électroniques au format EPUB.

Vous pouvez obtenir le fichier JAR à partir de la section téléchargements ou incorporer les dernières configurations Maven de référentiel et de dépendances dans vos applications 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>

Modification des métadonnées EPUB avec Java

En tant que développeur Java, si vous souhaitez modifier les propriétés des métadonnées EPUB, procédez comme suit :

  1. Chargez le livre électronique EPUB à l’aide de la classe Metadata.
  2. Utilisez la méthode getRootPackageGeneric pour extraire le package racine de métadonnées.
  3. Désormais, vous pouvez facilement afficher toutes les propriétés de métadonnées du package EPUB à l’aide de la méthode getter respective.
  4. Mettez à jour les valeurs des propriétés selon vos besoins à l’aide de la méthode de définition respective.
  5. Enregistrez le fichier eBook avec les valeurs de métadonnées mises à jour à l’aide de la méthode de sauvegarde.

Vous trouverez ci-dessous des extraits de code Java illustrant les étapes de lecture et de mise à jour des propriétés des métadonnées EPUB :

Lire les métadonnées EPUB

Pour commencer, voici comment lire les métadonnées EPUB en utilisant Java :

// Lire les métadonnées EPUB à l'aide de 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);
}

Mettre à jour les métadonnées EPUB

Le code source Java suivant montre comment récupérer et mettre à jour les propriétés des métadonnées EPUB du fichier EPUB :

// Mettre à jour les métadonnées EPUB à l'aide de 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");
}

Modification des métadonnées EPUB Dublin Core avec Java

Les métadonnées Dublin Core se composent de quelques éléments qui décrivent à la fois les ressources physiques et numériques. Vous pouvez modifier les propriétés des métadonnées Dublin Core à l’aide du code Java d’une manière similaire aux métadonnées EPUB.

Lire le Dublin Core

Les lignes de code suivantes montrent comment extraire les éléments de métadonnées Dublin Core à des fins d’analyse :

// Lire les métadonnées Dublin Core à l'aide de 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());
}

Mettre à jour le Dublin Core

Vous pouvez modifier des propriétés spécifiques du Dublin Core selon vos besoins, comme indiqué dans le code ci-dessous :

// Mettre à jour les métadonnées du Dublin Core à l'aide de 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");
}

Obtention d’une licence gratuite

Si vous souhaitez profiter pleinement des capacités de cette API, vous pouvez obtenir une licence temporaire gratuite.

Conclusion

Dans cet article, nous avons examiné la manipulation des métadonnées EPUB. Initialement, nous avons exploré comment lire et modifier les propriétés des métadonnées EPUB par programmation à l’aide de Java. Plus tard, nous avons appliqué les mêmes techniques à l’ensemble d’éléments Dublin Core dans les livres électroniques.

Pour des informations détaillées sur l’API, les lecteurs sont encouragés à se référer à :

Toutes les questions ou discussions supplémentaires peuvent être adressées au forum fourni.

Voir également