Il PDF, essendo uno dei formati di file più popolari, è utilizzato da quasi tutte le aziende e i settori. I documenti PDF possono contenere contenuti diversi tra cui testo formattato, immagini, annotazioni, ecc. Spesso è necessario estrarre il contenuto dai file PDF. Qui in questo articolo, discuteremo come estrarre a livello di codice le immagini dai documenti PDF in Java.

API Java per estrarre immagini da file PDF

GroupDocs fornisce GroupDocs.Parser per gli sviluppatori Java per l’estrazione di immagini da file PDF. Insieme al file PDF, la stessa API supporta l’analisi e l’estrazione di immagini da vari altri formati di documenti come documenti di elaborazione testi, fogli di calcolo, eBook, presentazioni, e-mail, archivi ZIP e molti altri formati di documenti .

Scarica o configura

Puoi scaricare il file JAR dalla sezione download o semplicemente ottenere il repository e le configurazioni delle dipendenze per pom.xml delle tue applicazioni Java basate su 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>

Passaggi per estrarre immagini da un documento PDF in Java

Di seguito sono riportati i punti passo-passo che mostrano come ottenere immagini dal file PDF utilizzando poche righe di codice Java.

  1. Crea un nuovo progetto.
  2. Scarica l’API come menzionato sopra o esegui l’aggiornamento all’ultima versione dell’API.
  3. Importa le seguenti classi:
import com.groupdocs.parser.Parser;
import com.groupdocs.parser.data.PageImageArea;
  1. Carica il documento PDF utilizzando la classe Parser.
// Carica file PDF
try (Parser parser = new Parser("path/document.pdf")) {
    // Il codice di estrazione dell'immagine va qui.
}
  1. Estrai tutte le immagini dal documento usando il metodo getImages.
// Estrai le immagini dal file caricato
Iterable<PageImageArea> images = parser.getImages();
  1. Accedi a ciascuna immagine dalla raccolta e salvala utilizzando il metodo di salvataggio.
// Salva il file con la loro estensione
for (PageImageArea image : images)  {
    image.save(String.format("path/image_%d" + image.getFileType().getExtension(), imageCounter++));
}

Le immagini possono essere salvate in diversi formati immagine come PNG, JPG, BMP, WebP o GIF.

Codice completo Java: estrazione di immagini da PDF

Ecco il codice sorgente completo che consente di ottenere tutte le immagini dal file PDF fornito.

// Estrai immagini da file PDF in Java
try (Parser parser = new Parser("path/document.pdf")) 
{
    // Ottieni immagini
    Iterable<PageImageArea> images = parser.getImages();
    
    // Controlla se l'estrazione delle immagini è supportata
    if (images == null) 
    {
        System.out.println("Images extraction isn't supported");
        return;
    }
    
    int imageCounter = 0;
    // Itera le immagini estratte
    for (PageImageArea image : images) 
    {
        image.save(String.format("path/image_%d" + image.getFileType().getExtension(), imageCounter++));
    }
}

Risultati

Esempio di documento PDF

Documento PDF con immagini da estrarre.

Immagini estratte

immagini estratte dal PDF.

Se lo desideri, viene anche spiegato in un articolo separato come puoi Estrarre immagini da qualsiasi pagina specifica di un documento PDF in Java.

Leggi di più

Puoi esplorare di più sull’API Java per l’estrazione dei dati utilizzando la sua documentazione. Puoi condividere le tue domande con noi tramite il nostro forum.

Guarda anche