EPUB-metagegevens bewerken met C# .NET

Een EPUB-bestand is een digitaal e-boekformaat dat tekst, afbeeldingen en multimedia-elementen bevat, opgemaakt met behulp van standaard webtechnologieën zoals HTML en CSS. EPUB-metagegevens verwijzen naar essentiële informatie die is ingebed in EPUB-bestanden, inclusief details zoals titel, auteur, uitgever en taal, waardoor een nauwkeurige catalogisering en organisatie van digitale e-boeken mogelijk is. In dit artikel bespreken we hoe u EPUB-metadatawaarden programmatisch kunt lezen, bewerken en bijwerken, inclusief de set items Dublin Core met behulp van C#.

Hieronder volgen snelle links naar de behandelde onderwerpen:

.NET API voor het bewerken van metagegevens

GroupDocs.Metadata biedt .NET API om metadatabeheer van verschillende bestandsformaten binnen .NET-applicaties te automatiseren. Met de API kunt u de metagegevens voor veel bestandsformaten lezen, bijwerken, toevoegen, opschonen en verwijderen. Vandaag zullen we deze API gebruiken om met metadata van eBooks met EPUB-indeling om te gaan.

U kunt de DLL’s of het MSI-installatieprogramma downloaden via de downloadsectie of de API in uw .NET-applicatie installeren via NuGet.

PM> Install-Package GroupDocs.Metadata

EPUB-metagegevens wijzigen met C#

Als u als .NET-ontwikkelaar de eigenschappen van EPUB-metagegevens wilt wijzigen, kunt u dit als volgt doen:

  • Laad het EPUB eBook met behulp van de klasse Metadata.
  • Pak het metadata-hoofdpakket uit met behulp van de GetRootPackage-methode.
  • Nu kunt u eenvoudig alle metagegevenseigenschappen van het EPUB-pakket ophalen.
  • Werk de eigenschapswaarden indien nodig bij.
  • Sla het eBook-bestand op met de bijgewerkte metadatawaarden met behulp van de Save-methode.

Hier zijn de korte stukjes C#-code die de bovenstaande stappen laten zien voor het lezen en bijwerken van de EPUB-metagegevenseigenschappen:

Lees EPUB-metagegevens

// EPUB-metagegevens lezen met 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);
}

EPUB-metagegevens bijwerken

Met de volgende C#-broncode worden de EPUB-metagegevenseigenschappen van het EPUB-bestand opgehaald en bijgewerkt.

// Update EPUB-metagegevens met 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");
}

EPUB Dublin Core-metagegevens wijzigen met C#

Dublin Core metadata zijn een aantal items die de fysieke en digitale bronnen beschrijven. U kunt de Dublin Core-metagegevenseigenschappen eenvoudig wijzigen met zeer vergelijkbare C#-code.

Lees Dublin Core

De volgende paar regels extraheren Dublin Core-metadata-items om te analyseren:

// Dublin Core-metadata lezen met 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);
}

Update Dublin Core

Vervolgens kunt u specifieke Dublin Core-eigenschappen dienovereenkomstig wijzigen, zoals weergegeven in de onderstaande code:

// Update Dublin Core-metadata met 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");
}

Een gratis licentie verkrijgen

Als u het plezier van deze API op volle capaciteit wilt ervaren, kunt u gratis een tijdelijke licentie verkrijgen.

Conclusie

In dit artikel hebben we de wereld van EPUB-metagegevensmanipulatie verkend. Eerst onderzoeken we hoe we EPUB-metadata-eigenschappen programmatisch kunnen lezen en bewerken met behulp van C#. Vervolgens deden we hetzelfde voor de Dublin Core-items voor de eBooks.

Voor gedetailleerde API-informatie worden lezers aangemoedigd om de API-referentie, GitHub repository en documentatie te raadplegen.

Vragen en verdere discussies kunnen worden gericht aan het voorziene forum.

Zie ook