Un libro electrónico, popularmente conocido como eBook, es un libro en formato digital que se puede leer en varios dispositivos electrónicos. Estos dispositivos incluyen lectores electrónicos dedicados como Kindle, o computadoras portátiles, computadoras de escritorio y teléfonos inteligentes. Hay muchos formatos de archivo populares de libros electrónicos en uso en el mercado que incluyen; EPUB, FictionBook FB2, Ayuda HTML compilada de Microsoft: CHM, DjVu, MOBI, PDF y muchos otros. Como programador, este artículo lo ayudará a extraer mediante programación imágenes de libros electrónicos en C# dentro de aplicaciones .NET.

A continuación se tratarán los siguientes temas:

.NET API para extracción de imágenes de libros electrónicos

Para la extracción de imágenes de libros electrónicos, usaré la API GroupDocs.Parser for .NET en los ejemplos de C# de este artículo. Junto con los libros electrónicos, esta API admite el análisis y la extracción de imágenes de documentos de procesamiento de texto, hojas de cálculo, PDF, presentaciones, correos electrónicos, archivos ZIP y muchos otros formatos de documentos.

Puede descargar las DLL o el instalador MSI desde la sección de descargas o instalar la API en su aplicación .NET a través de NuGet.

PM> Install-Package GroupDocs.Parser

Extraiga imágenes de un libro electrónico EPUB en C#

Comencemos con el libro electrónico EPUB para analizarlo en busca de imágenes. Siguiendo los pasos seguidos por el código C#, se analiza el libro electrónico EPUB y se extraen todas las imágenes que contiene.

  • Crear objeto de clase Parser.
  • Utilice el método GetImages para extraer todas las imágenes del libro electrónico EPUB.
  • Recorra las imágenes extraídas para guardar estas, una por una.
Alicia EPUB

Libro electrónico EPUB de Adobe [Biblioteca de libros electrónicos de muestra][12]

El siguiente código C# implementa los pasos de análisis mencionados para analizar el eBook EPUB que se muestra arriba y guarda las imágenes extraídas una por una en el disco.

// Analice libros electrónicos para extraer imágenes de archivos EPUB, FB2, CHM y guárdelos en el disco en C#
using (Parser parser = new Parser("ebook.epub"))
{
    // Extraer imágenes del eBook
    IEnumerable<PageImageArea> images = parser.GetImages();
    ImageOptions options = new ImageOptions(ImageFormat.Jpeg);
    int imageNumber = 0;
    // Iterar sobre imágenes extraídas
    foreach (PageImageArea image in images)
    {
        image.Save(("Image-" + imageNumber.ToString() + image.FileType.Extension), options);
        imageNumber++;
    }
}
Extraer imagen de EPUB en C#

Como resultado, se guardarán todas las imágenes disponibles. Aquí está una de las imágenes mostradas como muestra.

Puede guardar las imágenes extraídas en cualquiera de los siguientes formatos de archivo de imagen admitidos:

  • JPG
  • PNG
  • WEBP
  • GIF
  • BPM

Extraiga imágenes de FB2, CHM eBooks en C#

Si tienes el eBook en FB2, CHM, o con algún otro formato, puedes extraer sus imágenes de la misma forma. Solo tiene que pasar su libro electrónico al constructor Parser mientras crea el objeto. Luego, el método GetImages extraerá imágenes de cualquiera de los libros electrónicos provistos usando el mismo código 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();

Conclusión

Espero que ahora se sienta cómodo obteniendo mediante programación todas las imágenes de libros electrónicos con EPUB, FB2, CHM y otros formatos de archivo dentro de sus aplicaciones .NET. Incluso puede crear su propia aplicación de extracción de imágenes utilizando la API GroupDocs.Parser for .NET.

Para obtener más información sobre la API, puede visitar documentación o ejemplos de código abierto en GitHub. Para cualquier otro problema, puede ponerse en contacto con el soporte rápido en el foro.

Ver también