Електронна книга, широко відома як електронна книга, — це книга в цифровій формі, яку можна читати на різних електронних пристроях. Ці пристрої включають спеціальні пристрої для читання електронних книг, такі як 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
  • WEBP
  • GIF
  • БМП

Видобуток зображень із електронних книг 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. Ви навіть можете створити власну програму для вилучення зображень за допомогою API GroupDocs.Parser for .NET.

Щоб дізнатися більше про API, відвідайте документацію або приклади з відкритим кодом на GitHub. З будь-яких додаткових питань ви можете зв’язатися зі службою швидкої підтримки на форумі.

Дивись також