Portable Document Format (PDF) ist ein beliebtes und weit verbreitetes Dokumentformat, das von Adobe entwickelt wurde. Die PDF-Dokumente können eine Vielzahl von Inhalten enthalten, darunter formatierten Text, Bilder, Anmerkungen, Formularfelder usw. Das programmatische Analysieren von PDF-Dokumenten ist ein beliebter Anwendungsfall, und es gibt mehrere Möglichkeiten, den Text zu extrahieren. Das Extrahieren von Bildern aus einem PDF-Dokument ist jedoch eine komplexe Aufgabe. Dieser Artikel zeigt, wie einfach Sie Bilder aus den PDF-Dokumenten programmgesteuert in C# mit [GroupDocs.Parser for .NET](https://products.groupdocs. com/parser)-API. Fangen wir also an.

Schritte zum Extrahieren von Bildern aus einem PDF-Dokument

1. Erstellen Sie ein neues Projekt.

2. Laden Sie GroupDocs.Parser for .NET herunter oder installieren Sie es mit [NuGet](https://www.nuget.org/packages /GroupDocs.Parser).

3. Fügen Sie die folgenden Namespaces hinzu.

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

4. Laden Sie das PDF-Dokument.

// Erstellen Sie eine Instanz der Parser-Klasse
using (Parser parser = new Parser("sample.pdf"))
{
  // Ihr Code kommt hierher.
}

5. Bilder aus dem Dokument extrahieren.

// Bilder extrahieren
IEnumerable<PageImageArea> images = parser.GetImages();
// Überprüfen Sie, ob die Bildextraktion unterstützt wird
if (images == null)
{
  Console.WriteLine("Images extraction isn't supported");
  return;
}

6. Greifen Sie auf jedes Bild aus der Sammlung zu und speichern Sie es.

// Iterieren Sie über Bilder
foreach (PageImageArea image in images)
{
  // Bilder speichern
  Image.FromStream(image.GetImageStream()).Save(string.Format("{0}.Jpeg", counter++), ImageFormat.Jpeg);                    
}

Vollständiger Code

// Erstellen Sie eine Instanz der Parser-Klasse
using (Parser parser = new Parser("C:\\candy.pdf"))
{
	// Bilder extrahieren
	IEnumerable<PageImageArea> images = parser.GetImages();
	// Überprüfen Sie, ob die Bildextraktion unterstützt wird
	if (images == null)
	{
		Console.WriteLine("Images extraction isn't supported");
		return;
	}
	
	int counter = 1;
	// Iterieren Sie über Bilder
	foreach (PageImageArea image in images)
	{
		// Speichern Sie jedes Bild
		Image.FromStream(image.GetImageStream()).Save(string.Format("{0}.Jpeg", counter++), ImageFormat.Jpeg);                    
	}
}

Ergebnisse

PDF-Dokument

PDF-Dokument zum Extrahieren von Bildern.

Extrahierte Bilder

extrahierte Bilder aus dem PDF.

Eine vollständige Liste der von GroupDocs.Parser für die .NET-API bereitgestellten Funktionen finden Sie in der Dokumentation. Prost!