Portable Document Format (PDF) ist ein beliebtes und weit verbreitetes Dokumentformat, das von Adobe entwickelt wurde. PDF-Dokumente können eine Vielzahl von Inhalten enthalten, darunter formatierten Text, Bilder, Anmerkungen, Formularfelder usw. Das programmgesteuerte 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 PDF-Dokumenten programmgesteuert in C# extrahieren können.
.NET-API zum Extrahieren von Bildern aus PDF-Dateien
GroupDocs.Parser for .NET API wird seine Rolle bei der Extraktion von Bildern aus PDF-Dateien spielen. Zusammen mit dem PDF unterstützt die API das Parsen und Extrahieren von Bildern aus Textverarbeitungsdokumenten, Tabellenkalkulationen, eBooks, Präsentationen, E-Mails, ZIP-Archiven und vielen anderen Dokumentformaten.
Sie können die DLLs oder das MSI-Installationsprogramm aus dem Download-Bereich herunterladen oder die API in Ihrer .NET-Anwendung über NuGet installieren.
PM> Install-Package GroupDocs.Parser
Schritte zum Extrahieren von Bildern aus einem PDF-Dokument mit C#
Schauen wir uns Schritt für Schritt an, wie Sie mit ein paar Zeilen C#-Code Bilder aus der PDF-Datei abrufen.
- Erstellen Sie ein neues Projekt.
- Laden Sie die API wie oben erwähnt herunter oder aktualisieren Sie auf die neueste API-Version.
- Fügen Sie die folgenden Namespaces hinzu:
using System;
using System.Collections.Generic;
using System.Text;
using GroupDocs.Parser.Data;
- Laden Sie das PDF-Dokument mit der Klasse Parser.
// Erstellen Sie eine Instanz der Parser-Klasse
using (Parser parser = new Parser("path/document.pdf"))
{
// Ihr Code kommt hierher.
}
- Extrahieren Sie Bilder aus dem Dokument mit der GetImages-Methode.
// 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;
}
- Greifen Sie auf jedes Bild aus der Sammlung zu und speichern Sie es mit der Save-Methode.
// Über abgerufene Bilder iterieren
foreach (PageImageArea image in images)
{
// Bilder speichern
image.Save("imageFilePath/image-" + imageNumber.ToString() + ".jpeg", new ImageOptions(ImageFormat.Jpeg));
imageNumber++;
}
Sie können die Bilder in verschiedenen Bildern wie JPG, PNG, BMP, WebP oder GIF speichern.
Vollständiger C#-Code – Bildextraktion aus PDF
Hier ist der vollständige Code, mit dem Sie alle Bilder aus einer PDF-Datei abrufen können.
// Extrahieren Sie Bilder aus PDF mit C#
using (Parser parser = new Parser("path/document.pdf"))
{
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;
}
ImageOptions options = new ImageOptions(ImageFormat.Jpeg);
int imageNumber = 0;
// Über abgerufene Bilder iterieren
foreach (PageImageArea image in images)
{
// Bilder speichern
image.Save("imageFilePath/image-" + imageNumber.ToString() + ".jpeg", options);
imageNumber++;
}
}
Ergebnisse
Beispiel-PDF-Dokument

Extrahierte Bilder

Bei Bedarf wird auch in einem separaten Artikel erklärt, wie Sie Bilder von einer bestimmten Seite eines PDF-Dokuments mit C# extrahieren können.
Weiterlesen
Weitere Informationen zur .NET-Datenextraktions-API finden Sie in deren Dokumentation. Außerdem können Sie uns Ihre Fragen über unser Forum mitteilen.