Электронная книга, широко известная как электронная книга, представляет собой книгу в цифровой форме, которую можно читать на различных электронных устройствах. К таким устройствам относятся специализированные электронные книги, такие как Kindle, или ноутбуки, настольные компьютеры и смартфоны. На рынке используется множество популярных форматов файлов электронных книг, включая; EPUB, FictionBook FB2, Microsoft Compiled HTML Help — CHM, DjVu, MOBI, PDF и многие другие. Эта статья поможет вам как программисту программно извлекать изображения из электронных книг на C# в приложениях .NET.

Ниже будут рассмотрены следующие темы:

.NET API для извлечения изображений из электронных книг

Для извлечения изображений из электронных книг я буду использовать API GroupDocs.Parser for .NET в примерах C# в этой статье. Наряду с электронными книгами этот API поддерживает синтаксический анализ и извлечение изображений из текстовых документов, электронных таблиц, PDF, презентаций, электронных писем, ZIP-архивов и многих других форматов документов.

Вы можете загрузить библиотеки DLL или установщик MSI из раздела загрузок или установить API в своем приложении .NET через NuGet.

PM> Install-Package GroupDocs.Parser

Извлечение изображений из электронной книги EPUB на C#

Давайте начнем с электронной книги EPUB, чтобы проанализировать ее на наличие изображений. Следующие шаги, сопровождаемые кодом C#, анализируют электронную книгу EPUB и извлекают из нее все изображения.

  • Создать объект класса Parser.
  • Используйте метод GetImages для извлечения всех изображений электронной книги EPUB.
  • Перемещайтесь по извлеченным изображениям, чтобы сохранить одно за другим.
Алиса EPUB

Электронная книга EPUB от Adobe [Пример библиотеки электронных книг][12]

Следующий код C# реализует упомянутые шаги синтаксического анализа для синтаксического анализа показанной выше электронной книги EPUB и сохраняет извлеченные изображения одно за другим на диск.

// Разбор электронных книг для извлечения изображений из файлов EPUB, FB2, CHM и сохранения на диск в C#
using (Parser parser = new Parser("ebook.epub"))
{
    // Извлечение изображений из электронной книги
    IEnumerable<PageImageArea> images = parser.GetImages();
    ImageOptions options = new ImageOptions(ImageFormat.Jpeg);
    int imageNumber = 0;
    // Перебирать извлеченные изображения
    foreach (PageImageArea image in images)
    {
        image.Save(("Image-" + imageNumber.ToString() + image.FileType.Extension), options);
        imageNumber++;
    }
}
Извлечь изображение из EPUB в C#

В результате все доступные изображения будут сохранены. Вот одно из изображений, представленных в качестве образца.

Вы можете сохранить извлеченные изображения в любом из следующих поддерживаемых форматов файлов изображений:

  • JPG
  • PNG
  • ВЕБП
  • Гифка
  • БМП

Извлечение изображений из электронных книг FB2, CHM на C#

Если у вас есть электронная книга в формате FB2, CHM или в каком-либо другом, вы можете извлечь ее изображения таким же образом. Вам просто нужно передать свою электронную книгу конструктору Parser при создании объекта. Затем метод GetImages будет извлекать изображения из любых предоставленных электронных книг, используя тот же код C#.

// Pass the FB2, CHM, PDF, or any other eBook to Parser contructor
Parser parser = new Parser("ebook.fb2"); // FB2
// Parser parser = new Parser("ebook.chm"); // CHM
// Parser parser = new Parser("ebook.pdf"); // PDF
IEnumerable<PageImageArea> images = parser.GetImages();

Вывод

Я надеюсь, что теперь вам будет удобно программно получать все изображения из электронных книг с файлами EPUB, FB2, CHM и других форматов в ваших приложениях .NET. Вы даже можете создать собственное приложение для извлечения изображений с помощью GroupDocs.Parser for .NET API.

Чтобы узнать больше об API, вы можете посетить документацию или примеры с открытым исходным кодом на GitHub. Если возникнут дополнительные вопросы, вы можете обратиться в службу поддержки на форуме.

Смотрите также