Файл EPUB – це цифровий формат електронної книги, який містить текст, зображення та мультимедійні елементи, відформатовані за допомогою стандартних веб-технологій, таких як HTML і CSS. Метадані EPUB стосуються важливої інформації, вбудованої у файли EPUB, включаючи такі деталі, як назва, автор, видавець і мова, що дозволяє точно каталогізувати та організувати цифрові електронні книги. У цій статті ми обговоримо, як програмно читати, редагувати та оновлювати значення метаданих EPUB, включаючи набір елементів Dublin Core, за допомогою C#.
Нижче наведено швидкі посилання на розглянуті теми:
- .NET API для редагування метаданих
- Керування метаданими EPUB за допомогою C#
- Керування метаданими 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 і документацією.
Запитання та подальші обговорення можна направляти на наданий форум.