Si tiene un documento y desea utilizar las imágenes dentro de ese documento en otros documentos, esta es una de las soluciones. En este artículo, aprenderemos a extraer imágenes mediante programación de documentos PDF, Excel, PowerPoint y Word usando Java.
- API Java de extracción de imágenes
- Extracción de imágenes de documentos PDF en Java
- Extraer imágenes de documentos Word, Excel, PowerPoint en Java
- Extraer imagen de página específica en Java
API de Java de extracción de imágenes
Para la extracción de imágenes utilizaremos GroupDocs.Parser for Java. Esta API de Java admite el análisis de documentos y la extracción de imágenes, texto y metadatos de documentos de procesamiento de texto, hojas de cálculo, presentaciones, archivos , y documentos de correo electrónico. Los siguientes son los formatos de documentos admitidos por la API de Java para la extracción de imágenes.
Tipo de documento | Formatos de archivo |
---|---|
Documentos de procesamiento de textos | DOC, DOCX, DOCM, DOT, DOTX, DOTM, ODT, OTT, RTF |
Hojas de cálculo | XLS, XLSX, XLSM, XLSB, XLT, XLTX, XLTM, ODS, OTS, XLA, XLAM, NUMBERS |
Presentaciones | PPT, PPTX, PPTM, PPS, PPSX, PPSM, POT, POTX, POTM, ODP, OTP |
Documentos portátiles | |
Correos electrónicos | EML, EMLX, MSG |
Archivos | ZIP |
Antes de comenzar con los ejemplos a continuación, recomendaría configurar el entorno descargando la última versión de la API de análisis de documentos de Java desde la sección de descargas o puede establecer las siguientes configuraciones en su *basado en maven * aplicaciones java:
<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>20.8</version>
</dependency>
Extraer imágenes de documentos PDF en Java
Siga estos sencillos pasos para obtener todas las imágenes del documento PDF.
- Crea una instancia del objeto de clase Parser.
- Llame al método getImages de la clase Parser para obtener todas las imágenes.
- Iterar sobre imágenes usando PageImageArea.
- Guarde imágenes utilizando el método de guardado de PageImageArea.
Se hace. Vea el código completo a continuación. Las imágenes extraídas se pueden guardar en formatos BMP, GIF, JPEG, PNG y WebP.
// Extraiga imágenes de Word, Excel, PowerPoint, documentos PDF mediante programación usando GroupDocs.Parser for Java
try (Parser parser = new Parser("path/document.pdf")) {
// Extraer imágenes
Iterable<PageImageArea> images = parser.getImages();
// Crea las opciones para guardar imágenes en formato PNG
ImageOptions options = new ImageOptions(ImageFormat.Png);
int imageNumber = 0;
// Iterar sobre imágenes y guardar
for (PageImageArea image : images) {
// Imprima el índice de página, el rectángulo y el tipo de archivo de imagen:
System.out.println(String.format("Page: %d, R: %s, Type: %s", image.getPage().getIndex(),
image.getRectangle(), image.getFileType()));
image.save(String.format("filesPath/image_%d.png", imageNumber), options);
imageNumber++;
}
}
Estas son las imágenes recuperadas del documento PDF utilizando el código anterior.
Extraiga imágenes de archivos de Word, Excel, PowerPoint en Java
Del mismo modo, todas las imágenes se pueden sacar de los archivos de procesamiento de textos, hojas de cálculo, presentaciones, con la base de código sin cambios. ¿Qué tienes que cambiar? Solo la ruta del documento de origen y la extensión de archivo correcta.
Parser parser = new Parser("path/document.docx") // Word Document
// Parser parser = new Parser("path/document.xlsx") // Excel Spreadsheet
// Parser parser = new Parser("path/document.pptx") // PowerPoint Presentation
// Parser parser = new Parser("path/document.pdf") // PDF Document
Extracción de imágenes de una página de documento específica en Java
Si no quieres extraer todas las imágenes de todo el documento sino de alguna página en concreto. El siguiente código demuestra cómo podemos extraer imágenes de una página particular del documento en Java.
// Extraiga imágenes de una página específica de Word, Excel, PowerPoint, PDF en Java usando GroupDocs.Parser
try (Parser parser = new Parser("path/document.pdf"")) {
// Obtener la información del documento
IDocumentInfo documentInfo = parser.getDocumentInfo();
// Crea las opciones para guardar imágenes en formato PNG
ImageOptions options = new ImageOptions(ImageFormat.Jpeg);
int imageNumber = 0;
// Iterar sobre páginas
for (int pageIndex = 0; pageIndex < documentInfo.getPageCount(); pageIndex++) {
// Imprimir números de página
System.out.println(String.format("Page %d/%d", pageIndex + 1, documentInfo.getPageCount()));
// Iterar sobre imágenes - Ignorando NULL-Checking en los ejemplos
for (PageImageArea image : parser.getImages(pageIndex)) {
// Imprimir información de imagen y guardar archivo
System.out.println(String.format("R: %s, Text: %s", image.getRectangle(), image.getFileType()));
image.save(String.format("filesPath/image_%d.jpeg", imageNumber), options);
imageNumber++;
}
}
}
Conclusión
Hoy aprendimos cómo extraer imágenes de todo el documento y la página específica de documentos de procesamiento de texto, hojas de cálculo, presentaciones y PDF en Java. No hay diferencia en el código si tenemos que extraer imágenes de los archivos de diferentes formatos de archivo. Solo tenemos que pasar la ruta y el nombre correctos. Eso es todo.