Estrazione di immagini da file PDF è una necessità frequente quando si costruiscono pipeline di elaborazione dei documenti, soprattutto quando è necessario riutilizzare le grafiche per miniature, report o ulteriori analisi. GroupDocs.Parser Cloud SDK for Java fornisce un’API semplice che consente di estrarre ogni immagine incorporata da un PDF con poche righe di codice. Questa guida ti accompagna nella configurazione dell’SDK, nell’esecuzione di un esempio di codice completo, nell’uso di cURL per la stessa operazione e nell’applicazione delle migliori pratiche per garantire un’estrazione affidabile delle immagini PDF.

Estrai immagini da documenti PDF in Java in 5 passaggi

  1. Configura le credenziali API: Crea un oggetto Configuration e imposta il tuo client ID e client secret.
Configuration config = new Configuration();
config.setClientId("YOUR_CLIENT_ID");
config.setClientSecret("YOUR_CLIENT_SECRET");
  1. Inizializza l’API Parser: Crea un ApiClient con la configurazione e istanzia ParserApi.
ApiClient apiClient = new ApiClient(config);
ParserApi parserApi = new ParserApi(apiClient);
  1. Crea la richiesta di estrazione delle immagini: Specifica il percorso del file PDF usando FileInfo e crea un ExtractImagesRequest.
String inputFilePath = "input.pdf";
ExtractImagesRequest request = new ExtractImagesRequest()
        .setFileInfo(new FileInfo().setFilePath(inputFilePath));
  1. Esegui l’estrazione e recupera le immagini: chiama extractImages e ottieni l’elenco degli oggetti Image.
ImagesResult images = parserApi.extractImages(request);
List<Image> images = imagesResult.getImages();
  1. Salva ogni immagine nella memoria locale: Scorri la collezione e scrivi i dati binari nei file.
for (int i = 0; i < images.size(); i++) {
    Image img = images.get(i);
    String outputFileName = "extracted_image_" + (i + 1) + "_" + img.getFileName();
    try (FileOutputStream fos = new FileOutputStream(outputFileName)) {
        fos.write(img.getData());
    }
    System.out.println("Saved image: " + outputFileName);
}

Per ulteriori dettagli su ogni classe, fare riferimento al riferimento API ufficiale.

Esempio di Codice Completo: Estrarre Immagini da Documenti PDF in Java Utilizzando GroupDocs.Parser

Il seguente esempio dimostra l’intero flusso di lavoro dalla configurazione delle credenziali al salvataggio dell’immagine.

import com.groupdocs.parser.cloud.ApiClient;
import com.groupdocs.parser.cloud.Configuration;
import com.groupdocs.parser.cloud.api.ParserApi;
import com.groupdocs.parser.cloud.model.FileInfo;
import com.groupdocs.parser.cloud.model.Image;
import com.groupdocs.parser.cloud.model.ImagesResult;
import com.groupdocs.parser.cloud.model.requests.ExtractImagesRequest;

import java.io.FileOutputStream;
import java.util.List;

public class ExtractImagesFromPdf {
    public static void main(String[] args) {
        // Configure API credentials
        Configuration config = new Configuration();
        config.setClientId("YOUR_CLIENT_ID");
        config.setClientSecret("YOUR_CLIENT_SECRET");
        // config.setBaseUrl("https://api.groupdocs.cloud"); // optional, if needed

// Initialize API client and Parser API
        ApiClient apiClient = new ApiClient(config);
        ParserApi parserApi = new ParserApi(apiClient);

// Path to the PDF file stored in GroupDocs Cloud storage
        String inputFilePath = "input.pdf";

// Build request for image extraction
        ExtractImagesRequest request = new ExtractImagesRequest()
                .setFileInfo(new FileInfo().setFilePath(inputFilePath));

try {
            // Perform extraction
            ImagesResult imagesResult = parserApi.extractImages(request);
            List<Image> images = imagesResult.getImages();

// Save each extracted image to local disk
            for (int i = 0; i < images.size(); i++) {
                Image img = images.get(i);
                String outputFileName = "extracted_image_" + (i + 1) + "_" + img.getFileName();
                try (FileOutputStream fos = new FileOutputStream(outputFileName)) {
                    fos.write(img.getData());
                }
                System.out.println("Saved image: " + outputFileName);
            }
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

Nota: Questo esempio di codice dimostra la funzionalità principale. Prima di utilizzarlo nel tuo progetto, assicurati di aggiornare tutti i percorsi dei file e i valori di configurazione per corrispondere al tuo ambiente reale, verifica che tutte le dipendenze richieste siano correttamente installate e testa accuratamente nel tuo ambiente di sviluppo. Se incontri problemi, consulta la documentazione ufficiale o contatta il team di supporto per assistenza.

Estrazione di immagini PDF tramite cURL e l’API REST

Puoi ottenere lo stesso risultato senza scrivere codice Java chiamando direttamente gli endpoint REST di GroupDocs.Parser Cloud.

  1. Ottieni un token di accesso
curl -X POST "https://api.groupdocs.cloud/v2.0/connect/token" \
     -H "Content-Type: application/x-www-form-urlencoded" \
     -d "grant_type=client_credentials&client_id=YOUR_CLIENT_ID&client_secret=YOUR_CLIENT_SECRET"
  1. Carica il file PDF
curl -X POST "https://api.groupdocs.cloud/v2.0/storage/file/upload?path=input.pdf" \
     -H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
     -F "file=@/path/to/input.pdf"
  1. Richiesta di estrazione delle immagini
curl -X POST "https://api.groupdocs.cloud/v2.0/parser/extractImages" \
     -H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
     -H "Content-Type: application/json" \
     -d '{"fileInfo": {"filePath": "input.pdf"}}'
  1. Scarica le immagini estratte (la risposta contiene dati base64; è possibile decodificarli localmente)

Per un elenco completo dei parametri, consulta la documentazione ufficiale dell’API.

Installazione e configurazione di GroupDocs.Parser Cloud SDK for Java

Aggiungi la dipendenza Maven al tuo pom.xml (o lo snippet Gradle equivalente).

<dependency>
    <groupId>com.groupdocs</groupId>
    <artifactId>groupdocs-parser-cloud</artifactId>
    <version>26.2</version>
</dependency>

L’SDK è fornito come libreria cloud; non sono richiesti binari locali. Scarica l’ultimo pacchetto dalla pagina di rilascio. Assicurati di avere Java 8 o versioni successive e un account GroupDocs Cloud valido con ID client e segreto.

GroupDocs.Parser Cloud SDK for Java Funzionalità per il recupero delle immagini

  • Estrazione completa di immagini PDF - Recupera ogni immagine raster e vettoriale incorporata nel documento.
  • Metadati per ogni immagine - Restituisce nome file, dimensione, formato e numero di pagina.
  • Supporto per tutti i formati immagine comuni - PNG, JPG, BMP, GIF, TIFF, e altro.
  • Integrazione con l’archiviazione cloud - Funziona direttamente con i file memorizzati in GroupDocs Cloud senza scaricarli prima.
  • Elaborazione scalabile basata su REST‑based processing - Gestisce PDF di grandi dimensioni e carichi di lavoro ad alto volume tramite l’API cloud.

Regolazione fine delle impostazioni di estrazione delle immagini

Mentre la richiesta di base funziona subito, è possibile regolare opzioni come:

  • Protezione con password - Imposta la proprietà password su FileInfo per PDF crittografati.
  • Intervallo di pagine - Limita l’estrazione a pagine specifiche aggiungendo un array pages al JSON della richiesta.
  • Conversione del formato immagine - Richiedi la conversione in un formato diverso specificando il tipo di output desiderato nella richiesta (consulta la riferimento API per i campi esatti).

Esempio di impostazione di una password (estratto dal codice principale):

FileInfo fileInfo = new FileInfo()
        .setFilePath("protected.pdf")
        .setPassword("mySecret");

Suggerimenti pratici per l’estrazione efficiente di immagini PDF

  • Convalidare l’esistenza del file prima di inviare la richiesta per evitare chiamate API non necessarie.
  • Elaborare le immagini in streaming quando si gestiscono file di grandi dimensioni per ridurre il consumo di memoria.
  • Utilizzare la paginazione se hai bisogno solo delle immagini di determinate pagine; questo velocizza la risposta.
  • Gestire i limiti di velocità dell’API implementando un back‑off esponenziale sulle risposte HTTP 429.
  • Registrare il nome di ogni file salvato per semplificare la risoluzione dei problemi e le tracce di audit.

Conclusione

Estrazione delle immagini da documenti PDF in Java diventa un compito semplice e affidabile quando si sfrutta la potenza del GroupDocs.Parser Cloud SDK for Java. L’SDK gestisce la gestione delle credenziali, l’interazione con lo storage cloud e la decodifica delle immagini, consentendoti di concentrarti sulla logica della tua applicazione. Per le distribuzioni in produzione, acquista una licenza adeguata nella pagina dei prezzi o ottieni una licenza temporanea per la valutazione. Con l’esempio di codice, la guida cURL e le raccomandazioni di best‑practice in questo articolo, sei pronto a integrare l’estrazione di immagini PDF in qualsiasi soluzione basata su Java.

FAQs

  • Quali formati possono essere estratti da un PDF?
    L’SDK estrae formati raster come PNG, JPG, BMP, GIF e TIFF, nonché grafica vettoriale quando è memorizzata come immagini.

  • Devo scaricare il PDF prima di estrarre le immagini?
    No. L’SDK funziona direttamente con i file archiviati nello storage di GroupDocs Cloud, eliminando la necessità di download locali.

  • Come gestisce l’SDK i PDF di grandi dimensioni?
    L’estrazione viene eseguita sul lato server, quindi l’utilizzo della memoria sul tuo computer rimane basso. È inoltre possibile limitare l’estrazione a pagine specifiche per migliorare le prestazioni.

  • C’è un modo per testare l’estrazione senza scrivere codice?
    Sì, è possibile utilizzare i comandi cURL forniti sopra o provare la console API interattiva nella pagina del prodotto.

Leggi di più