Extraer imágenes PDF

Cómo extraer imágenes PDF usando Cloud Java

Regularmente usamos archivos PDF ya que brindan un soporte increíble para el contenido de texto e imagen. Una vez que estos elementos se han colocado dentro del documento, el diseño del archivo se conserva sin importar qué plataforma utilice para verlos. Pero, es posible que tengamos el requisito de extraer imágenes PDF. Esto se puede lograr utilizando la aplicación de visor de PDF, pero debe recorrer manualmente cada página y guardar individualmente cada imagen. Además, en otro escenario, si tiene un PDF basado en imágenes y necesita realizar un OCR de PDF, primero debe extraer todas las imágenes y luego realizar la operación de OCR. Esto se vuelve realmente difícil cuando tiene un gran conjunto de documentos, pero una solución programática puede ser una solución confiable y rápida. Entonces, en este artículo, vamos a explorar las opciones para extraer imágenes de PDF usando Java Cloud SDK

API de conversión de PDF a JPG

Para convertir PDF a JPG o JPG a PDF en una aplicación Java, Aspose.PDF Cloud SDK for Java es una opción increíble. Al mismo tiempo, también le permite extraer imágenes de PDF, extraer texto de PDF, extraer archivos adjuntos de PDF y proporciona una gran cantidad de opciones para la manipulación de PDF. Entonces, para implementar la función para guardar imágenes PDF en la aplicación Java, primero debemos agregar la referencia de Cloud SDK en nuestro proyecto. Por lo tanto, agregue los siguientes detalles en pom.xml del proyecto de tipo de compilación maven.

<repositories> 
    <repository>
        <id>aspose-cloud</id>
        <name>artifact.aspose-cloud-releases</name>
        <url>http://artifact.aspose.cloud/repo</url>
    </repository>   
</repositories>

<dependencies>
    <dependency>
        <groupId>com.aspose</groupId>
        <artifactId>aspose-pdf-cloud</artifactId>
        <version>21.11.0</version>
    </dependency>
</dependencies>

Una vez que se haya agregado la referencia del SDK y no tenga ninguna cuenta existente en Aspose Cloud, cree una cuenta gratuita con una dirección de correo electrónico válida. A continuación, inicie sesión con la cuenta recién creada y busque/cree el ID del cliente y el secreto del cliente en Cloud Dashboard. Estos detalles son necesarios para fines de autenticación en las siguientes secciones.

Extraer imágenes PDF en Java

Siga los pasos que se indican a continuación para extraer imágenes de PDF y, una vez completada la operación, las imágenes se almacenan en una carpeta separada en el almacenamiento en la nube.

  • Primero necesitamos crear un objeto PdfApi mientras proporcionamos ClientID y Client secret como argumentos
  • En segundo lugar, cargue el archivo PDF de entrada utilizando la instancia de archivo
  • Sube el PDF de entrada al almacenamiento en la nube usando el método uploadFile(…)
  • También vamos a utilizar un parámetro opcional para establecer los detalles de altura y anchura de las imágenes extraídas.
  • Finalmente, llame al método putImagesExtractAsJpeg(…) que toma el nombre del PDF de entrada, el número de página para extraer imágenes, las dimensiones de las imágenes extraídas y el nombre de la carpeta en el almacenamiento en la nube para guardar las imágenes extraídas.
try
    {
    // Obtenga ClientID y ClientSecret de https://dashboard.aspose.cloud/
    String clientId = "bb959721-5780-4be6-be35-ff5c3a6aa4a2";
    String clientSecret = "4d84d5f6584160cbd91dba1fe145db14";
	  
    // crear una instancia de PdfApi
    PdfApi pdfApi = new PdfApi(clientSecret,clientId);

    // nombre del documento PDF de entrada
    String inputFile = "marketing.pdf";

    // leer el contenido del archivo PDF de entrada
    File file = new File("//Users//"+inputFile);
	    
    // subir PDF al almacenamiento en la nube
    pdfApi.uploadFile("input.pdf", file, null);

    // Página de PDF para extraer imágenes
    int pageNumber =1;

    // ancho para imágenes extraídas
    int width = 600;
    // altura de las imágenes extraídas
    int height = 800;
	    
    // carpeta para guardar imágenes extraídas
    String folderName = "NewFolder";
	       
    // Extraiga imágenes PDF y guárdelas en Cloud Storage
    pdfApi.putImagesExtractAsJpeg(inputFile, pageNumber, width, height, null, null, folderName);
	    
    // mensaje de éxito de impresión
    System.out.println("PDF images Successsuly extracted !");
    }catch(Exception ex)
    {
        System.out.println(ex);
    }
Extraer vista previa de imágenes PDF

Imagen 1: - Extraer vista previa de imágenes PDF

El archivo PDF de muestra utilizado en el ejemplo anterior se puede descargar desde input.pdf.

Guarde imágenes PDF usando comandos cURL

Ahora vamos a llamar a la API para la extracción de imágenes PDF usando los comandos cURL. Ahora, como requisito previo para este enfoque, primero debemos generar un token de acceso JWT (basado en las credenciales del cliente) mientras ejecutamos el siguiente comando.

curl -v "https://api.aspose.cloud/connect/token" \
-X POST \
-d "grant_type=client_credentials&client_id=bb959721-5780-4be6-be35-ff5c3a6aa4a2&client_secret=4d84d5f6584160cbd91dba1fe145db14" \
-H "Content-Type: application/x-www-form-urlencoded" \
-H "Accept: application/json"

Una vez que tengamos el token JWT, ejecute el siguiente comando para guardar las imágenes PDF en una carpeta separada en el almacenamiento en la nube.

curl -X PUT "https://api.aspose.cloud/v3.0/pdf/input_file.pdf/pages/1/images/extract/jpeg?width=0&height=0&destFolder=NewFolder" \
-H  "accept: application/json" \
-H  "authorization: Bearer <JWT Token>"

Conclusión

Después de leer este artículo, ha aprendido un enfoque simple pero confiable para extraer imágenes PDF utilizando un fragmento de código Java, así como a través de comandos cURL. Como hemos notado, obtenemos un apalancamiento para extraer imágenes de una página específica del archivo PDF y proporciona más control sobre el proceso de extracción. El producto Documentación está enriquecido con una variedad de temas sorprendentes que explican aún más las capacidades de esta API.

Además, dado que todos nuestros SDK de Cloud se publican con licencia MIT, puede considerar descargar el código fuente completo de GitHub y modificarlo según sus requisitos. En caso de cualquier problema, puede considerar acercarse a nosotros para una resolución rápida a través del [foro de soporte del producto] gratuito 9.

Artículos relacionados

Visite los siguientes enlaces para obtener más información sobre: