Édition des métadonnées EPUB à l'aide de C# .NET

Un fichier EPUB est un format de livre électronique numérique contenant du texte, des images et des éléments multimédias, formatés à l’aide de technologies Web standard telles que HTML et CSS. Les métadonnées EPUB font référence aux informations essentielles intégrées dans les fichiers EPUB, y compris des détails tels que le titre, l’auteur, l’éditeur et la langue, permettant un catalogage et une organisation précis des livres électroniques numériques. Dans cet article, nous verrons comment lire, modifier et mettre à jour par programme les valeurs des métadonnées EPUB, y compris l’ensemble d’éléments Dublin Core à l’aide de C#.

Voici des liens rapides vers les sujets abordés :

API .NET pour l’édition des métadonnées

GroupDocs.Metadata fournit une API .NET pour automatiser la gestion des métadonnées de divers formats de fichiers dans les applications .NET. L’API permet de lire, mettre à jour, ajouter, nettoyer et supprimer les métadonnées de nombreux formats de fichiers. Aujourd’hui, nous utiliserons cette API pour gérer les métadonnées des livres électroniques au format EPUB.

Vous pouvez télécharger les DLL ou le programme d’installation MSI à partir de la section téléchargements ou installer l’API dans votre application .NET via NuGet.

PM> Install-Package GroupDocs.Metadata

Modification des métadonnées EPUB avec C#

Si vous souhaitez modifier les propriétés des métadonnées EPUB en tant que développeur .NET, voici comment procéder :

  • Chargez le livre électronique EPUB à l’aide de la classe Metadata.
  • Extrayez le package racine de métadonnées à l’aide de la méthode GetRootPackage.
  • Vous pouvez désormais facilement récupérer et afficher toutes les propriétés de métadonnées du package EPUB.
  • Mettez à jour les valeurs des propriétés si nécessaire.
  • Enregistrez le fichier eBook avec les valeurs de métadonnées mises à jour à l’aide de la méthode Save.

Voici les courts extraits de code C# qui montrent les étapes ci-dessus pour lire et mettre à jour les propriétés des métadonnées EPUB :

Lire les métadonnées EPUB

// Lire les métadonnées EPUB en utilisant C#
using (Metadata metadata = new Metadata("path/ebook.epub"))
{
    var root = metadata.GetRootPackage<EpubRootPackage>();

    Console.WriteLine(root.EpubPackage.Version);
    Console.WriteLine(root.EpubPackage.UniqueIdentifier);
    Console.WriteLine(root.EpubPackage.ImageCover != null ? root.EpubPackage.ImageCover.Length : 0);
    Console.WriteLine(root.EpubPackage.Description);
    Console.WriteLine(root.EpubPackage.Title);
}

Mettre à jour les métadonnées EPUB

Le code source C# suivant récupère et met à jour les propriétés des métadonnées EPUB du fichier EPUB.

// Mettre à jour les métadonnées EPUB à l'aide de C#
using (Metadata metadata = new Metadata("path/ebook.epub"))
{
    var root = metadata.GetRootPackage<EpubRootPackage>();

    root.EpubPackage.Creator = "GroupDocs";
    root.EpubPackage.Description = "metadata updated e-book";
    root.EpubPackage.Format = "EPUB";
    root.EpubPackage.Date = DateTime.Now.ToString();
 
    metadata.Save("path/ebook.epub");
}

Modification des métadonnées EPUB Dublin Core avec C#

Les métadonnées Dublin Core sont un ensemble de quelques éléments qui décrivent les ressources physiques et numériques. Vous pouvez facilement modifier les propriétés des métadonnées Dublin Core à l’aide d’un code C# très similaire.

Lire le Dublin Core

Les quelques lignes suivantes extraient les éléments de métadonnées Dublin Core à analyser :

// Lire les métadonnées Dublin Core en utilisant C#
using (Metadata metadata = new Metadata("path/ebook.epub"))
{
    var root = metadata.GetRootPackage<EpubRootPackage>();

    Console.WriteLine(root.DublinCorePackage.Rights);
    Console.WriteLine(root.DublinCorePackage.Publisher);
    Console.WriteLine(root.DublinCorePackage.Title);
    Console.WriteLine(root.DublinCorePackage.Creator);
    Console.WriteLine(root.DublinCorePackage.Language);
    Console.WriteLine(root.DublinCorePackage.Date);
}

Mettre à jour le Dublin Core

Ensuite, vous pouvez modifier les propriétés spécifiques du Dublin Core en conséquence, comme indiqué dans le code ci-dessous :

// Mettre à jour les métadonnées du Dublin Core à l'aide de C#
using (Metadata metadata = new Metadata("path/ebook.epub"))
{
    var root = metadata.GetRootPackage<EpubRootPackage>();

    root.DublinCorePackage.SetProperties(p => p.Name == "dc:creator", new PropertyValue("GroupDocs"));
    root.DublinCorePackage.SetProperties(p => p.Name == "dc:description", new PropertyValue("metadata updated e-book"));
    root.DublinCorePackage.SetProperties(p => p.Name == "dc:title", new PropertyValue("Sample EPUB"));
    root.DublinCorePackage.SetProperties(p => p.Name == "dc:date", new PropertyValue(DateTime.Now.ToString()));

    metadata.Save("path/ebook.epub");
}

Obtenir une licence gratuite

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

Conclusion

Dans cet article, nous avons exploré le monde de la manipulation des métadonnées EPUB. Tout d’abord, nous explorons comment lire et modifier par programme les propriétés des métadonnées EPUB à l’aide de C#. Ensuite, nous avons fait la même chose pour l’ensemble d’éléments Dublin Core pour les livres électroniques.

Pour des informations détaillées sur l’API, les lecteurs sont encouragés à consulter la référence API, le référentiel GitHub et la documentation.

Les questions et discussions ultérieures peuvent être adressées au forum fourni.

Voir également