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
- Beheer EPUB-metagegevens met C#
- Beheer Dublin Core Metadata met C#
.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.