Los libros electrónicos de varios formatos son muy comunes en el uso diario. El libro electrónico puede contener texto e imágenes. Si desea utilizar las imágenes de cualquier libro electrónico en otro lugar, puede extraerlas fácilmente mediante programación dentro de su aplicación Java. En este artículo, aprenderá a automatizar cómo extraer imágenes de archivos de libros electrónicos como EPUB, PDF, FB2, CHM en Java.

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

API de Java para extraer imágenes de libros electrónicos

GroupDocs.Parser para Java La API es una API de automatización rica en funciones para extraer imágenes de libros electrónicos y documentos en Java. Además de esto, la API admite el análisis y la extracción de imágenes, texto y metadatos de documentos de procesamiento de texto, hojas de cálculo, PDF, presentaciones, correos electrónicos, archivos ZIP y muchos otros formatos de documentos admitidos.

Descargar y configurar

Obtenga el archivo JAR de la sección descargas, o simplemente agregue la siguiente configuración pom.xml en sus aplicaciones Java basadas en Maven para probar los ejemplos que se mencionan a continuación. Para obtener más información, puede visitar la Referencia API.

<repository>
	<id>GroupDocsJavaAPI</id>
	<name>GroupDocs Java API</name>
	<url>http://repository.groupdocs.com/repo/</url>
</repository>
<dependency>
	<groupId>com.groupdocs</groupId>
	<artifactId>groupdocs-parser</artifactId>
	<version>21.2</version> 
</dependency>

Extraer imágenes de EPUB eBook en Java

Comencemos con el libro electrónico EPUB para analizarlo en busca de imágenes. Los siguientes pasos analizan el libro electrónico EPUB y extraen todas las imágenes usando código Java.

  • Crear objeto de clase Parser con el libro electrónico.
  • Use el método getImages para extraer todas las imágenes del eBook EPUB.
  • Recorra las imágenes extraídas y guárdelas en el disco.
Libro electrónico EPUB con imágenes

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

El siguiente código Java analiza el eBook EPUB y guarda las imágenes del eBook una por una en el disco.

// Analice libros electrónicos para extraer imágenes de archivos PDF, EPUB, FB2, CHM en Java y guárdelos en el disco.
Parser parser = new Parser("ebook.epub");
// Extraiga imágenes del libro electrónico y guárdelas en formato JPEG.
Iterable<PageImageArea> images = parser.getImages();
ImageOptions options = new ImageOptions(ImageFormat.Jpeg);
int imageNumber = 0;
// Iterar sobre imágenes extraídas
for (PageImageArea image : images) {
    image.save(Constants.getOutputFilePath(String.format("%d.jpeg", imageNumber)), options);
    imageNumber++;
}
Imagen extraída del eBook EPUB

Como resultado, todas las imágenes se guardarán en la ubicación proporcionada. Aquí está una de las imágenes mostradas como muestra.

Las imágenes se pueden guardar en cualquiera de los siguientes formatos de archivo de imagen:

  • JPG
  • PNG
  • WEBP
  • GIF
  • BPM

Extraiga imágenes de libros electrónicos PDF, FB2, CHM en Java

Además del formato EPUB, si tienes tu eBook en PDF, FB2, CHM, o con algún otro formato, puedes extraer sus imágenes de la misma forma. Simplemente pase su libro electrónico al constructor Parser mientras crea el objeto. Después de eso, el método getImages extraerá imágenes de sus libros electrónicos provistos usando el mismo código Java.

// Provide different eBook formats to the Parser constructor to extract the images.
// Parser parser = new Parser("ebook.epub");
Parser parser = new Parser("ebook.pdf");
// Parser parser = new Parser("ebook.fb2");
// Parser parser = new Parser("ebook.chm");

Iterable<PageImageArea> images = parser.getImages();

Conclusión

En este artículo, aprendió a obtener mediante programación todas las imágenes de libros electrónicos PDF, EPUB, FB2, CHM dentro de sus aplicaciones Java. Ahora puede intentar crear su propia aplicación Java de extracción de imágenes utilizando GroupDocs.Parser for Java API.

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