Portable Document Format (PDF) è un formato di documento popolare e ampiamente utilizzato sviluppato da Adobe. I documenti PDF possono contenere una varietà di contenuti tra cui testo formattato, immagini, annotazioni, campi modulo, ecc. L’analisi dei documenti PDF a livello di codice è un caso d’uso popolare e ci sono diversi modi per estrarre il testo. Tuttavia, l’estrazione di immagini da un documento PDF è un’attività complessa. Questo articolo illustra la facilità con cui è possibile estrarre immagini da documenti PDF a livello di programmazione in C#.

API .NET per estrarre immagini da file PDF

GroupDocs.Parser for .NET API farà la sua parte nell’estrazione di immagini da file PDF. Insieme al PDF, l’API supporta l’analisi e l’estrazione di immagini da documenti di elaborazione testi, fogli di calcolo, eBook, presentazioni, e-mail, archivi ZIP e molti altri formati di documenti.

Puoi scaricare le DLL o il programma di installazione MSI dalla sezione download o installare l’API nella tua applicazione .NET tramite NuGet.

PM> Install-Package GroupDocs.Parser

Passaggi per estrarre immagini da un documento PDF utilizzando C#

Vediamo rapidamente passo dopo passo come ottenere immagini dal file PDF usando poche righe di codice C#.

  1. Crea un nuovo progetto.
  2. Scarica l’API come menzionato sopra o esegui l’aggiornamento all’ultima versione dell’API.
  3. Aggiungi i seguenti spazi dei nomi:
using System;
using System.Collections.Generic;
using System.Text;
using GroupDocs.Parser.Data;
  1. Carica il documento PDF utilizzando la classe Parser.
// Crea un'istanza della classe Parser
using (Parser parser = new Parser("path/document.pdf"))
{
  // il tuo codice va qui.
}
  1. Estrarre le immagini dal documento utilizzando il metodo GetImages.
// Estrai immagini
IEnumerable<PageImageArea> images = parser.GetImages();

// Controlla se l'estrazione delle immagini è supportata
if (images == null)
{
    Console.WriteLine("Images extraction isn't supported");
    return;
}
  1. Accedi a ciascuna immagine dalla raccolta e salvala utilizzando il metodo Save.
// Itera sulle immagini recuperate
foreach (PageImageArea image in images)
{
    // Salva immagini
    image.Save("imageFilePath/image-" + imageNumber.ToString() + ".jpeg", new ImageOptions(ImageFormat.Jpeg));
    imageNumber++;
}

Puoi salvare le immagini in diverse immagini come JPG, PNG, BMP, WebP o GIF.

Codice completo C#: estrazione di immagini da PDF

Ecco il codice completo che ti permetterà di ottenere tutte le immagini da un file PDF.

// Estrai immagini da PDF usando C#
using (Parser parser = new Parser("path/document.pdf"))
{
    IEnumerable<PageImageArea> images = parser.GetImages();
    // Controlla se l'estrazione delle immagini è supportata
    if (images == null) 
    {
        Console.WriteLine("Images extraction isn't supported");
        return;
    }
    
    ImageOptions options = new ImageOptions(ImageFormat.Jpeg);
    int imageNumber = 0;
    
    // Itera sulle immagini recuperate
    foreach (PageImageArea image in images)
    {
        // Salva immagini
        image.Save("imageFilePath/image-" + imageNumber.ToString() + ".jpeg", options);
        imageNumber++;
    }
}

Risultati

Esempio di documento PDF

Documento PDF con immagini da estrarre.

Immagini estratte

immagini estratte dal PDF.

Se necessario, viene anche spiegato in un articolo separato come è possibile Estrarre immagini da qualsiasi pagina specifica di un documento PDF utilizzando C#.

Leggi di più

Puoi esplorare di più sull’API di estrazione dei dati .NET utilizzando la sua documentazione. Inoltre, puoi condividere le tue domande con noi tramite il nostro forum.

Guarda anche