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#.
- Crea un nuovo progetto.
- Scarica l’API come menzionato sopra o esegui l’aggiornamento all’ultima versione dell’API.
- Aggiungi i seguenti spazi dei nomi:
using System;
using System.Collections.Generic;
using System.Text;
using GroupDocs.Parser.Data;
- 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.
}
- 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;
}
- 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
Immagini estratte
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.