Редагування метаданих EPUB за допомогою C# .NET

Файл EPUB – це цифровий формат електронної книги, який містить текст, зображення та мультимедійні елементи, відформатовані за допомогою стандартних веб-технологій, таких як HTML і CSS. Метадані EPUB стосуються важливої інформації, вбудованої у файли EPUB, включаючи такі деталі, як назва, автор, видавець і мова, що дозволяє точно каталогізувати та організувати цифрові електронні книги. У цій статті ми обговоримо, як програмно читати, редагувати та оновлювати значення метаданих EPUB, включаючи набір елементів Dublin Core, за допомогою C#.

Нижче наведено швидкі посилання на розглянуті теми:

.NET API для редагування метаданих

GroupDocs.Metadata надає .NET API для автоматизації керування метаданими різних форматів файлів у програмах .NET. API дозволяє читати, оновлювати, додавати, очищати та видаляти метадані для багатьох форматів файлів. Сьогодні ми використаємо цей API для роботи з метаданими електронних книг у форматі EPUB.

Ви можете завантажити DLL або інсталятор MSI із розділу завантажень або встановити API у своїй програмі .NET за допомогою NuGet.

PM> Install-Package GroupDocs.Metadata

Змінення метаданих EPUB за допомогою C#

Якщо ви хочете змінити властивості метаданих EPUB як розробник .NET, ось як це можна зробити:

  • Завантажте електронну книгу EPUB за допомогою класу Metadata.
  • Витягніть кореневий пакет метаданих за допомогою методу GetRootPackage.
  • Тепер ви можете легко отримати для перегляду всі властивості метаданих пакета EPUB.
  • За потреби оновіть значення властивостей.
  • Збережіть файл електронної книги з оновленими значеннями метаданих за допомогою методу збереження.

Ось короткі фрагменти коду C#, які показують наведені вище кроки для читання та оновлення властивостей метаданих EPUB:

Читання метаданих EPUB

// Читання метаданих EPUB за допомогою 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

Наступний вихідний код C# отримує та оновлює властивості метаданих EPUB файлу EPUB.

// Оновіть метадані EPUB за допомогою 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 за допомогою C#

Метадані Dublin Core — це кілька елементів, які описують фізичні та цифрові ресурси. Ви можете легко змінити властивості метаданих Dublin Core, використовуючи дуже схожий код C#.

Читайте Dublin Core

Наступні кілька рядків витягують елементи метаданих Dublin Core для аналізу:

// Читання метаданих Dublin Core за допомогою 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);
}

Оновіть Dublin Core

Потім ви можете відповідно змінити певні властивості Dublin Core, як показано в коді нижче:

// Оновіть метадані Dublin Core за допомогою 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");
}

Отримання безкоштовної ліцензії

Якщо ви хочете відчути насолоду від цього API на повну потужність, ви можете отримати тимчасову ліцензію безкоштовно.

Висновок

У цій статті ми досліджували світ маніпулювання метаданими EPUB. По-перше, ми досліджуємо, як програмно читати та редагувати властивості метаданих EPUB за допомогою C#. Потім ми зробили те саме для набору елементів Dublin Core для електронних книг.

Для отримання детальної інформації щодо API читачам пропонується ознайомитися з довідником API, репозиторієм GitHub і документацією.

Запитання та подальші обговорення можна направляти на наданий форум.

Дивись також