Файл 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, используя класс Метаданные.
- Извлеките корневой пакет метаданных с помощью метода GetRootPackage.
- Теперь вы можете легко просмотреть все свойства метаданных пакета EPUB.
- При необходимости обновите значения свойств.
- Сохраните файл электронной книги с обновленными значениями метаданных, используя метод Save.
Ниже приведены короткие фрагменты кода 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 с помощью 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 с помощью 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 и документации.
Вопросы и дальнейшее обсуждение можно направлять на предусмотренный форум.