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
- Zarządzaj metadanymi EPUB za pomocą C#
- Zarządzaj metadanymi Dublin Core za pomocą języka C#
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.