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.

  1. Erstellen Sie ein neues Projekt.
  2. Laden Sie die API wie oben erwähnt herunter oder aktualisieren Sie auf die neueste API-Version.
  3. Fügen Sie die folgenden Namespaces hinzu:
using System;
using System.Collections.Generic;
using System.Text;
using GroupDocs.Parser.Data;
  1. 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.
}
  1. 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;
}
  1. 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

PDF-Dokument mit zu extrahierenden Bildern.

Extrahierte Bilder

extrahierte Bilder aus dem PDF.

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.

Siehe auch