Portable Document Format (PDF) è un formato di documento diffuso 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 del documento PDF a livello di codice è un caso d’uso comune e ci sono diversi modi per estrarre il testo. Tuttavia, l’estrazione di immagini da un documento PDF è un compito complesso. Questo articolo mostra la facilità con cui estrarre immagini dai documenti PDF a livello di codice in C# utilizzando [GroupDocs.Parser for .NET](https://products.groupdocs. com/parser) API. Quindi iniziamo.

Passaggi per estrarre immagini da un documento PDF

1. Crea un nuovo progetto.

2. Scarica GroupDocs.Parser per .NET o installalo utilizzando [NuGet](https://www.nuget.org/packages /GroupDocs.Parser).

3. Aggiungi i seguenti spazi dei nomi.

using GroupDocs.Parser;
using GroupDocs.Parser.Data;
using System.Drawing;
using System.Drawing.Imaging;

4. Carica il documento PDF.

// Crea un'istanza della classe Parser
using (Parser parser = new Parser("sample.pdf"))
{
  // il tuo codice va qui.
}

5. Estrarre le immagini dal documento.

// Estrai immagini
IEnumerable<PageImageArea> images = parser.GetImages();
// Verifica se l'estrazione di immagini è supportata
if (images == null)
{
  Console.WriteLine("Images extraction isn't supported");
  return;
}

6. Accedi a ciascuna immagine dalla raccolta e salvala.

// Iterare sulle immagini
foreach (PageImageArea image in images)
{
  // Salva immagini
  Image.FromStream(image.GetImageStream()).Save(string.Format("{0}.Jpeg", counter++), ImageFormat.Jpeg);                    
}

Codice completo

// Crea un'istanza della classe Parser
using (Parser parser = new Parser("C:\\candy.pdf"))
{
	// Estrai immagini
	IEnumerable<PageImageArea> images = parser.GetImages();
	// Verifica se l'estrazione dell'immagine è supportata
	if (images == null)
	{
		Console.WriteLine("Images extraction isn't supported");
		return;
	}
	
	int counter = 1;
	// Iterare sulle immagini
	foreach (PageImageArea image in images)
	{
		// Salva ogni immagine
		Image.FromStream(image.GetImageStream()).Save(string.Format("{0}.Jpeg", counter++), ImageFormat.Jpeg);                    
	}
}

Risultati

Documento PDF

Documento PDF per estrarre immagini.

Immagini estratte

immagini estratte dal PDF.

Per un elenco completo delle funzionalità fornite da GroupDocs.Parser per l’API .NET, visitare la documentazione. Saluti!