PDF, siendo uno de los formatos de archivo más populares, es utilizado por casi todas las empresas e industrias. Los documentos PDF pueden contener contenido diverso, incluido texto formateado, imágenes, anotaciones, etc. A menudo se requiere extraer el contenido de los archivos PDF. Aquí, en este artículo, discutiremos cómo extraer imágenes mediante programación de documentos PDF en Java.

API de Java para extraer imágenes de archivos PDF

GroupDocs proporciona GroupDocs.Parser para desarrolladores de Java para la extracción de imágenes de archivos PDF. Junto con el archivo PDF, la misma API admite el análisis y la extracción de imágenes de varios otros formatos de documentos, como documentos de procesamiento de texto, hojas de cálculo, libros electrónicos, presentaciones, correos electrónicos, archivos ZIP y muchos otros formatos de documentos .

Descargar o Configurar

Puede descargar el archivo JAR de la sección de descargas, o simplemente obtener el repositorio y las configuraciones de dependencia para pom.xml de sus aplicaciones Java basadas en maven.

<repository>
    <id>groupdocs-artifacts-repository</id>
    <name>GroupDocs Artifacts Repository</name>
    <url>https://releases.groupdocs.com/java/repo/</url>
</repository>
<dependency>
    <groupId>com.groupdocs</groupId>
    <artifactId>groupdocs-parser</artifactId>
    <version>22.11</version>
</dependency>

Pasos para extraer imágenes de un documento PDF en Java

Los siguientes son los puntos paso a paso que muestran cómo obtener imágenes del archivo PDF utilizando unas pocas líneas de código Java.

  1. Crear un nuevo proyecto.
  2. Descargue la API como se mencionó anteriormente o actualice a la última versión de la API.
  3. Importar las siguientes clases:
import com.groupdocs.parser.Parser;
import com.groupdocs.parser.data.PageImageArea;
  1. Cargue el documento PDF utilizando la clase Parser.
// Cargar archivo PDF
try (Parser parser = new Parser("path/document.pdf")) {
    // El código de extracción de imagen va aquí.
}
  1. Extrae todas las imágenes del documento usando el método getImages.
// Extraer imágenes del archivo cargado
Iterable<PageImageArea> images = parser.getImages();
  1. Acceda a cada imagen de la colección y guárdela usando el método de guardar.
// Guarde el archivo con su extensión.
for (PageImageArea image : images)  {
    image.save(String.format("path/image_%d" + image.getFileType().getExtension(), imageCounter++));
}

Las imágenes se pueden guardar en varios formatos de imagen diferentes, como PNG, JPG, BMP, WebP o GIF.

Código completo de Java: extracción de imágenes de PDF

Aquí está el código fuente completo que le permite obtener todas las imágenes del archivo PDF provisto.

// Extraer imágenes de un archivo PDF en Java
try (Parser parser = new Parser("path/document.pdf")) 
{
    // Obtener imágenes
    Iterable<PageImageArea> images = parser.getImages();
    
    // Compruebe si se admite la extracción de imágenes
    if (images == null) 
    {
        System.out.println("Images extraction isn't supported");
        return;
    }
    
    int imageCounter = 0;
    // Iterar imágenes extraídas
    for (PageImageArea image : images) 
    {
        image.save(String.format("path/image_%d" + image.getFileType().getExtension(), imageCounter++));
    }
}

Resultados

Documento PDF de muestra

Documento PDF con imágenes para extraer.

Imágenes extraídas

Imágenes extraídas del PDF.

Si lo requiere, también se explica en un artículo separado cómo puede Extraer imágenes de cualquier página específica de un documento PDF en Java.

Lee mas

Puede explorar más sobre la API de Java de extracción de datos usando su documentación. Puede compartir sus consultas con nosotros a través de nuestro foro.

Ver también