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.
- Crear un nuevo proyecto.
- Descargue la API como se mencionó anteriormente o actualice a la última versión de la API.
- Importar las siguientes clases:
import com.groupdocs.parser.Parser;
import com.groupdocs.parser.data.PageImageArea;
- 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í.
}
- Extrae todas las imágenes del documento usando el método getImages.
// Extraer imágenes del archivo cargado
Iterable<PageImageArea> images = parser.getImages();
- 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
Imágenes extraídas
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.