Modifica dei metadati EPUB utilizzando C# .NET

Un file EPUB è un formato di ebook digitale che contiene testo, immagini ed elementi multimediali, formattati utilizzando tecnologie web standard come HTML e CSS. I metadati EPUB si riferiscono alle informazioni essenziali incorporate nei file EPUB, inclusi dettagli come titolo, autore, editore e lingua, consentendo una catalogazione e un’organizzazione accurata degli ebook digitali. In questo articolo discuteremo come leggere, modificare e aggiornare a livello di codice i valori dei metadati EPUB, incluso il set di elementi Dublin Core utilizzando C#.

Di seguito sono riportati i collegamenti rapidi agli argomenti trattati:

API .NET per la modifica dei metadati

GroupDocs.Metadata fornisce API .NET per automatizzare la gestione dei metadati di vari formati di file all’interno delle applicazioni .NET. L’API consente di leggere, aggiornare, aggiungere, pulire e rimuovere i metadati per molti formati di file. Oggi utilizzeremo questa API per gestire i metadati degli eBook in formato EPUB.

È possibile scaricare le DLL o il programma di installazione MSI dalla sezione download o installare l’API nell’applicazione .NET tramite NuGet.

PM> Install-Package GroupDocs.Metadata

Modifica dei metadati EPUB con C#

Se desideri modificare le proprietà dei metadati EPUB come sviluppatore .NET, ecco come puoi farlo:

  • Carica l’eBook EPUB utilizzando la classe Metadati.
  • Estrai il pacchetto root dei metadati utilizzando il metodo GetRootPackage.
  • Ora puoi facilmente visualizzare tutte le proprietà dei metadati del pacchetto EPUB.
  • Aggiorna i valori delle proprietà come richiesto.
  • Salva il file eBook con i valori dei metadati aggiornati utilizzando il metodo Salva.

Ecco i brevi pezzi di codice C# che mostrano i passaggi precedenti per leggere e aggiornare le proprietà dei metadati EPUB:

Leggi i metadati EPUB

// Leggi i metadati EPUB utilizzando 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);
}

Aggiorna i metadati EPUB

Il seguente codice sorgente C# recupera e aggiorna le proprietà dei metadati EPUB del file EPUB.

// Aggiorna i metadati EPUB utilizzando 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");
}

Modifica dei metadati EPUB Dublin Core con C#

I metadati Dublin Core sono un insieme di pochi elementi che descrivono le risorse fisiche e digitali. Puoi modificare facilmente le proprietà dei metadati Dublin Core utilizzando un codice C# molto simile.

Leggi Dublin Core

Le seguenti poche righe estraggono elementi di metadati Dublin Core da analizzare:

// Leggi i metadati Dublin Core utilizzando 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);
}

Aggiorna Dublin Core

Quindi puoi modificare le proprietà Dublin Core specifiche di conseguenza, come mostrato nel codice seguente:

// Aggiorna i metadati Dublin Core utilizzando 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");
}

Ottenere una licenza gratuita

Se vuoi provare il piacere di questa API al massimo delle sue capacità, puoi ottieni una licenza temporanea gratuitamente.

Conclusione

In questo articolo, abbiamo esplorato il mondo della manipolazione dei metadati EPUB. Innanzitutto, esploreremo come leggere e modificare a livello di codice le proprietà dei metadati EPUB utilizzando C#. Poi abbiamo fatto lo stesso per il set di articoli Dublin Core per gli eBook.

Per informazioni dettagliate sull’API, i lettori sono incoraggiati a consultare il riferimento API, il repository GitHub e la documentazione.

Domande e ulteriori discussioni possono essere indirizzate al [forum] fornito 10.

Guarda anche