Soubor EPUB je formát digitální elektronické knihy, který obsahuje text, obrázky a multimediální prvky, formátovaný pomocí standardních webových technologií, jako jsou HTML a CSS. Metadata EPUB odkazují na základní informace vložené do souborů EPUB, včetně podrobností, jako je název, autor, vydavatel a jazyk, což umožňuje přesnou katalogizaci a organizaci digitálních elektronických knih. V tomto článku probereme, jak programově číst, upravovat a aktualizovat hodnoty metadat EPUB včetně sady položek Dublin Core pomocí C#.
Níže jsou uvedeny rychlé odkazy na probíraná témata:
.NET API pro úpravy metadat
GroupDocs.Metadata poskytuje .NET API pro automatizaci správy metadat různých formátů souborů v rámci aplikací .NET. API umožňuje číst, aktualizovat, přidávat, čistit a odstraňovat metadata pro mnoho formátů souborů. Dnes budeme toto API používat k práci s metadaty elektronických knih ve formátu EPUB.
Můžete si stáhnout DLL nebo instalační program MSI z části ke stažení nebo nainstalovat API do vaší aplikace .NET prostřednictvím NuGet.
PM> Install-Package GroupDocs.Metadata
Úprava metadat EPUB pomocí C#
Pokud chcete jako vývojář .NET změnit vlastnosti metadat EPUB, můžete to udělat takto:
- Načtěte elektronickou knihu EPUB pomocí třídy Metadata.
- Extrahujte kořenový balíček metadat pomocí metody GetRootPackage.
- Nyní můžete snadno načíst a zobrazit všechny vlastnosti metadat balíčku EPUB.
- Podle potřeby aktualizujte hodnoty vlastností.
- Uložte soubor elektronické knihy s aktualizovanými hodnotami metadat pomocí metody Uložit.
Zde jsou krátké části kódu C#, které ukazují výše uvedené kroky ke čtení a aktualizaci vlastností metadat EPUB:
Přečtěte si metadata EPUB
// Čtení metadat EPUB pomocí 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);
}
Aktualizujte metadata EPUB
Následující zdrojový kód C# načítá a aktualizuje vlastnosti metadat EPUB souboru EPUB.
// Aktualizujte metadata EPUB pomocí 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");
}
Úprava metadat EPUB Dublin Core pomocí C#
Dublin Core metadata je sada několika položek, které popisují fyzické a digitální zdroje. Vlastnosti metadat Dublin Core můžete snadno změnit pomocí velmi podobného kódu C#.
Přečtěte si Dublin Core
Na následujících několika řádcích jsou extrahovány položky metadat Dublin Core k analýze:
// Číst metadata Dublin Core pomocí 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);
}
Aktualizujte Dublin Core
Poté můžete odpovídajícím způsobem změnit konkrétní vlastnosti Dublin Core, jak je znázorněno v kódu níže:
// Aktualizujte metadata Dublin Core pomocí 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");
}
Získání bezplatné licence
Pokud chcete zažít radost z tohoto API v jeho plné kapacitě, můžete získat dočasnou licenci zdarma.
Závěr
V tomto článku jsme prozkoumali svět manipulace s metadaty EPUB. Nejprve prozkoumáme, jak programově číst a upravovat vlastnosti metadat EPUB pomocí C#. Potom jsme udělali totéž pro sadu položek Dublin Core pro elektronické knihy.
Podrobné informace o rozhraní API čtenářům doporučujeme nahlédnout do odkaz na rozhraní API, GitHub a dokumentace.
Dotazy a další diskuse můžete směřovat na poskytnuté fórum.