Editace metadat EPUB pomocí C# .NET

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.

Viz také