Edycja metadanych EPUB przy użyciu C# .NET

Plik EPUB to cyfrowy format e-booka zawierający tekst, obrazy i elementy multimedialne, sformatowany przy użyciu standardowych technologii internetowych, takich jak HTML i CSS. Metadane EPUB to istotne informacje zawarte w plikach EPUB, w tym szczegóły takie jak tytuł, autor, wydawca i język, umożliwiające dokładne katalogowanie i organizację cyfrowych e-booków. W tym artykule omówimy, jak programowo odczytywać, edytować i aktualizować wartości metadanych EPUB, w tym zestawu elementów Dublin Core, przy użyciu języka C#.

Poniżej znajdują się szybkie linki do poruszanych tematów:

API .NET do edycji metadanych

GroupDocs.Metadata udostępnia .NET API do automatyzacji zarządzania metadanymi różnych formatów plików w aplikacjach .NET. Interfejs API umożliwia odczytywanie, aktualizowanie, dodawanie, czyszczenie i usuwanie metadanych dla wielu formatów plików. Dzisiaj będziemy używać tego API do obsługi metadanych e-booków w formacie EPUB.

Możesz pobrać biblioteki DLL lub instalator MSI z sekcji pobierania lub zainstalować interfejs API w swojej aplikacji .NET za pośrednictwem NuGet.

PM> Install-Package GroupDocs.Metadata

Modyfikowanie metadanych EPUB za pomocą C#

Jeśli chcesz zmienić właściwości metadanych EPUB jako programista .NET, możesz to zrobić w następujący sposób:

  • Załaduj eBook EPUB, korzystając z klasy Metadata.
  • Wyodrębnij pakiet główny metadanych przy użyciu metody GetRootPackage.
  • Teraz możesz łatwo pobrać i wyświetlić wszystkie właściwości metadanych pakietu EPUB.
  • Zaktualizuj wartości właściwości zgodnie z wymaganiami.
  • Zapisz plik eBook ze zaktualizowanymi wartościami metadanych, korzystając z metody Save.

Oto krótkie fragmenty kodu C# przedstawiające powyższe kroki odczytywania i aktualizowania właściwości metadanych EPUB:

Przeczytaj metadane EPUB

// Czytaj metadane EPUB przy użyciu 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);
}

Zaktualizuj metadane EPUB

Poniższy kod źródłowy języka C# pobiera i aktualizuje właściwości metadanych EPUB pliku EPUB.

// Zaktualizuj metadane EPUB za 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");
}

Modyfikowanie metadanych EPUB Dublin Core za pomocą języka C#

Metadane Dublin Core to zbiór kilku elementów opisujących zasoby fizyczne i cyfrowe. Możesz łatwo zmienić właściwości metadanych Dublin Core, używając bardzo podobnego kodu C#.

Przeczytaj Dublin Core

Poniższe kilka wierszy wyodrębnia elementy metadanych Dublin Core do analizy:

// Odczytywanie metadanych Dublin Core przy użyciu języka 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);
}

Zaktualizuj Dublin Core

Następnie możesz odpowiednio zmienić określone właściwości Dublin Core, jak pokazano w poniższym kodzie:

// Zaktualizuj metadane Dublin Core przy użyciu języka 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");
}

Uzyskanie bezpłatnej licencji

Jeśli chcesz w pełni wykorzystać możliwości tego API, możesz uzyskać tymczasową licencję za darmo.

Wniosek

W tym artykule zbadaliśmy świat manipulacji metadanymi EPUB. Najpierw odkrywamy, jak programowo odczytywać i edytować właściwości metadanych EPUB przy użyciu języka C#. Następnie zrobiliśmy to samo dla zestawu Dublin Core dla e-booków.

Aby uzyskać szczegółowe informacje o interfejsie API, zachęcamy czytelników do zapoznania się z odniesieniami API, repozytorium GitHub i dokumentacją.

Pytania i dalsze dyskusje można kierować na udostępnione forum.

Zobacz też