IRONSOFTWAREHOME
IRONPDF NUTZEN

Wie man ein Bild zu PDF in C# konvertiert [Code-Beispiel-Tutorial]

Curtis Chau
Curtis Chau
Updated: 19. Juli 2026

Das Extrahieren von strukturierten Tabellendaten aus PDF-Dokumenten ist eine häufige Anforderung für C#-Entwickler, die für Datenanalyse, Berichterstellung oder die Integration von Informationen in andere Systeme entscheidend ist. Allerdings sind PDFs in erster Linie für eine konsistente visuelle Darstellung konzipiert, nicht für die einfache Datenextraktion. Dies kann das programmgesteuerte Lesen von Tabellen aus PDF-Dateien in C# zu einer herausfordernden Aufgabe machen, insbesondere da Tabellen stark variieren können - von einfachen textbasierten Gitterlayouts bis hin zu komplexen Layouts mit zusammengeführten Zellen oder sogar Tabellen, die als Bilder in gescannte Dokumente eingebettet sind.

Dieser Leitfaden bietet ein umfassendes C#-Tutorial zur Herangehensweise an die PDF-Tabellenerfassung mit IronPDF. Wir werden hauptsächlich die leistungsstarken Textextraktionsfunktionen von IronPDF nutzen, um Zugang zu tabellarischen Daten in textbasierten PDFs zu erhalten und diese dann zu analysieren. Wir werden die Effektivität dieser Methode diskutieren, Strategien zur Analyse bereitstellen und Einblicke in den Umgang mit den extrahierten Informationen geben. Zusätzlich werden wir Strategien für den Umgang mit komplexeren Szenarien, einschließlich gescannter PDFs, ansprechen.


Wichtige Schritte zum Extrahieren von Tabellendaten aus PDFs in C#

  1. Installieren Sie die IronPDF C#-Bibliothek (https://nuget.org/packages/IronPdf/) für die PDF-Verarbeitung.
  2. (Optionaler Demo-Schritt) Erstellen Sie mit IronPDFs RenderHtmlAsPdf eine Beispiel-PDF-Datei mit einer Tabelle aus einer HTML-Zeichenfolge. (Siehe Abschnitt: (Demo-Schritt) Erstellen eines PDF-Dokuments mit Tabellendaten)
  3. Laden Sie ein beliebiges PDF-Dokument und verwenden Sie die Methode ExtractAllText, um dessen Rohdateninhalt abzurufen. (See section: Extract All Text Containing Table Data from the PDF)
  4. Implementiere C#-Logik, um den extrahierten Text zu analysieren und Tabellenzeilen und -zellen zu identifizieren. (See section: Parsing Extracted Text to Reconstruct Table Data in C#)
  5. Gib die strukturierten Tabellendaten aus oder speichere sie zur weiteren Verwendung in einer CSV-Datei. (See section: Parsing Extracted Text to Reconstruct Table Data in C#)
  6. Ziehe fortschrittliche Techniken wie OCR für gescannte PDFs in Betracht (später behandelt).

IronPDF - C# PDF-Bibliothek

IronPDF ist eine C# .NET-Bibliothek für die PDF-Manipulation in .NET (https://ironpdf.com/), die Entwicklern hilft, PDF-Dokumente einfach in ihren Softwareanwendungen zu lesen, zu erstellen und zu bearbeiten. Sein robustes Chromium Engine rendert PDF-Dokumente aus HTML mit hoher Genauigkeit und Geschwindigkeit. Es ermöglicht Entwicklern, reibungslos von verschiedenen Formaten zu PDF und umgekehrt zu konvertieren. Es unterstützt die neuesten .NET-Frameworks einschließlich .NET 7, .NET 6, 5, 4, .NET Core und Standard.

Darüber hinaus ermöglicht die IronPDF for .NET API Entwicklern, PDFs zu manipulieren und zu bearbeiten, Kopf- und Fußzeilen hinzuzufügen und insbesondere Text, Bilder und (wie wir sehen werden) Tabellendaten aus PDFs mühelos zu extrahieren.

Einige wichtige Funktionen sind:

Schritte zur Extraktion von Tabellendaten in C# mit der IronPDF-Bibliothek

Um Tabellendaten aus PDF-Dokumenten zu extrahieren, richten wir ein C#-Projekt ein:

  1. Visual Studio: Stellen Sie sicher, dass Visual Studio (z. B. Version 2022) installiert ist. Falls nicht, laden Sie es von der Visual Studio-Website herunter (https://visualstudio.microsoft.com/downloads/).
  2. Projekt erstellen:
    • Öffnen Sie Visual Studio 2022 und klicken Sie auf Ein neues Projekt erstellen.

      Wie man eine PDF-Tabelle in C# liest, Abbildung 1: Startbildschirm von Visual Studio Startbildschirm von Visual Studio

  • Wählen Sie "Konsolenanwendung" (oder Ihren bevorzugten C#-Projekttyp) und klicken Sie auf Weiter.

    Wie man eine PDF-Tabelle in C# liest, Abbildung 2: Erstellen einer neuen Konsolenanwendung in Visual Studio Erstellen Sie eine neue Konsolenanwendung in Visual Studio

  • Benennen Sie Ihr Projekt (z. B. "ReadPDFTableDemo") und klicken Sie auf Weiter. Wie man eine PDF-Tabelle in C# liest, Abbildung 3: Konfigurieren der neu erstellten Anwendung Konfigurieren Sie die neu erstellte Anwendung

  • Wähle dein gewünschtes .NET-Framework (z. B. .NET 6 oder später). So lesen Sie eine PDF-Tabelle in C#, Abbildung 4: Wählen Sie ein .NET Framework aus Wähle ein .NET-Framework

  • Klicke auf Erstellen. Das Konsolenprojekt wird erstellt.

  1. Installieren Sie IronPDF:
    • Verwendung des Visual Studio NuGet -Paketmanagers:

(Demo Schritt) Erstellen Sie ein PDF-Dokument mit Tabellendaten

Für dieses Tutorial erstellen wir zuerst ein Beispiel-PDF, das eine einfache Tabelle aus einem HTML-String enthält. Dies gibt uns eine bekannte PDF-Struktur, um den Extraktionsprozess zu demonstrieren. In einem realen Szenario würdest du deine bereits existierenden PDF-Dateien laden.

Füge den IronPDF-Namespace hinzu und setze optional deinen Lizenzschlüssel (IronPDF ist für die Entwicklung kostenlos, erfordert jedoch eine Lizenz für die kommerzielle Nutzung ohne Wasserzeichen):

using IronPdf;
using System;       // For StringSplitOptions, Console
using System.IO;    // For StreamWriter

// Apply your license key if you have one. Otherwise, IronPDF runs in trial mode.
// License.LicenseKey = "YOUR-TRIAL/PURCHASED-LICENSE-KEY";

Hier ist der HTML-String für unsere Beispiel-Tabelle:

string HTML = "<html>" +
        "<style>" +
            "table, th, td {" +
                "border:1px solid black;" +
            "}" +
        "</style>" +
        "<body>" +
            "<h1>A Simple table example</h1>" + // Corrected typo: h1 not h2
            "<table>" +
                "<tr>" +
                    "<th>Company</th>" +
                    "<th>Contact</th>" +
                    "<th>Country</th>" +
               "</tr>" +
                "<tr>" +
                    "<td>Alfreds Futterkiste</td>" +
                    "<td>Maria Anders</td>" +
                    "<td>Germany</td>" +
                "</tr>" +
                "<tr>" +
                    "<td>Centro comercial Moctezuma</td>" +
                    "<td>Francisco Chang</td>" +
                    "<td>Mexico</td>" +
                "</tr>" +
            "</table>" +
            "<p>To understand the example better, we have added borders to the table.</p>" +
        "</body>" +
        "</html>";
HTML

Verwenden Sie nun ChromePdfRenderer, um aus diesem HTML-Code ein PDF zu erstellen:

var renderer = new ChromePdfRenderer();
PdfDocument pdfDocument = renderer.RenderHtmlAsPdf(HTML);
pdfDocument.SaveAs("table_example.pdf");
Console.WriteLine("Sample PDF 'table_example.pdf' created.");

Die Methode SaveAs speichert die PDF-Datei. Der generierte Code table_example.pdf sieht folgendermaßen aus (konzeptionelles Bild basierend auf HTML):

Wie man eine PDF-Tabelle in C# liest, Abbildung 7: Suche nach IronPDF in der NuGet Paketmanager-Benutzeroberfläche Suchen Sie nach IronPDF im NuGet-Paket-Manager UI

Alle Textinhalte mit Tabellendaten aus der PDF extrahieren

Um Tabellendaten zu extrahieren, laden wir zuerst die PDF-Datei (entweder die gerade erstellte oder eine bereits vorhandene) und verwenden die Methode ExtractAllText. Diese Methode ruft alle Textinhalte von den PDF-Seiten ab.

// Load the PDF (if you just created it, it's already loaded in pdfDocument)
// If loading an existing PDF:
// PdfDocument pdfDocument = PdfDocument.FromFile("table_example.pdf"); 
// Or use the one created above:
string allText = pdfDocument.ExtractAllText();

Die Variable allText enthält nun den gesamten Textinhalt aus der PDF-Datei. Du kannst es anzeigen, um die Roh-Extraktion zu sehen:

Console.WriteLine("\n--- Raw Extracted Text ---");
Console.WriteLine(allText);

Wie man eine PDF-Tabelle in C# liest, Abbildung 8: Die PDF-Datei zum Extrahieren von Text Die PDF-Datei, um Text zu extrahieren

Extrahierten Text parsen, um Tabellendaten in C# zu rekonstruieren

Mit dem extrahierten Rohtext besteht die nächste Herausforderung darin, diesen String zu analysieren, um die tabellarischen Daten zu identifizieren und zu strukturieren. Dieser Schritt hängt stark von der Konsistenz und dem Format der Tabellen in deinen PDFs ab.

Allgemeine Parsing-Strategien:

  1. Zeilentrennzeichen identifizieren: Gebräuchliche Zeilentrennzeichen sind Zeilenumbruchzeichen (\n oder \r\n).
  2. Spalten-Trennzeichen identifizieren: Zellen innerhalb einer Zeile könnten durch mehrere Leerzeichen, Tabs oder spezifische bekannte Zeichen getrennt sein (wie '|' oder ';'). 3. Nicht-Tabellen-Inhalt filtern: Die ExtractAllText-Methode erhält den gesamten Text.
  3. Nicht-Tabelleninhalte filtern: Die Methode ExtractAllText ruft den gesamten Text ab. Die C# String.Split-Methode ist ein einfaches Werkzeug dafür.

Die C#-Methode String.Split ist ein grundlegendes Werkzeug dafür. Dieser Code teilt den Text in Zeilen.

Console.WriteLine("\n--- Parsed Table Data (Simple Heuristic) ---");
string[] textLines = allText.Split(new[] { '\r', '\n' }, StringSplitOptions.RemoveEmptyEntries);
foreach (string line in textLines)
{
    // Simple filter: skip lines with a period, assuming they are not table data in this example
    // and skip lines that are too short or headers if identifiable
    if (line.Contains(".") || line.Contains("A Simple table example") || line.Length < 5) 
    {
        continue;
    }
    else
    {
        // Further split line into cells based on expected delimiters (e.g., multiple spaces)
        // This part requires careful adaptation to your PDF's table structure
        // Example: string[] cells = line.Split(new[] { "  ", "\t" }, StringSplitOptions.None);
        Console.WriteLine(line); // For now, just print the filtered line
    }
}

Dieser Code teilt den Text in Zeilen. Die Bedingung if ist ein sehr einfacher Filter für den Nicht-Tabellentext in diesem speziellen Beispiel . Ausgabe des einfachen gefilterten Textes:

Ausgabe des einfach gefilterten Textes:

Wie man eine PDF-Tabelle in C# liest, Abbildung 9: Die Konsole zeigt die extrahierten Texte an Die Konsole zeigt extrahierte Texte an

Wichtige Überlegungen zur Textanalyse-Methode:

  • Am besten geeignet für: Textbasierte PDFs mit einfachen, konsistenten Tabellenstrukturen und klaren textuellen Trennzeichen.
  • Beschränkungen: Diese Methode kann Schwierigkeiten haben mit:
    • Tabellen mit zusammengeführten Zellen oder komplexen geschachtelten Strukturen.
    • Tabellen, die als Bilder eingebettet sind (erfordern OCR).
    • Tabellen, die als Bilder eingebettet sind (erfordern OCR).
      Du kannst die gefilterten Zeilen (die idealerweise Tabellenzeilen darstellen) in einer CSV-Datei speichern:

Strategien zur komplexeren PDF-Tabellenextraktion in C#

using (StreamWriter file = new StreamWriter("parsed_table_data.csv", false))
{
    file.WriteLine("Company,Contact,Country"); // Write CSV Header
    foreach (string line in textLines)
    {
        if (line.Contains(".") || line.Contains("A Simple table example") || line.Length < 5)
        {
            continue;
        }
        else
        {
            // For a real CSV, you'd split 'line' into cells and join with commas
            // E.g., string[] cells = line.Split(new[] {"  "}, StringSplitOptions.RemoveEmptyEntries);
            // string csvLine = string.Join(",", cells);
            // file.WriteLine(csvLine);
            file.WriteLine(line.Replace("  ", ",").Trim()); // Basic replacement for this example
        }
    }
}
Console.WriteLine("\nFiltered table data saved to parsed_table_data.csv");

Strategien für komplexere PDF-Tabellenextraktion in C#

IronPDF bietet Funktionen, die helfen können: IronPDF bietet Funktionen, die helfen können:

  • Verwendung der IronOCR-Funktionen für gescannte Tabellen: Wenn sich Tabellen in Bildern befinden (z. B. gescannte PDFs), werden sie mit ExtractAllText() allein nicht erfasst. IronOCRs Texterkennung-Funktionalität kann diese Bilder zuerst in Text umwandeln.
// Conceptual OCR usage (refer to IronOCR's documentation for detailed implementation)
// Install Package IronOcr
using IronOcr;
using (var ocrInput = new OcrInput("scanned_pdf_with_table.pdf"))
{
     ocrInput.TargetDPI = 300; // Good DPI for OCR accuracy
     var ocrResult = new IronOcr().Read(ocrInput);
     string ocrExtractedText = ocrResult.Text;
     // Now, apply parsing logic to 'ocrExtractedText'
     Console.WriteLine("\n--- OCR Extracted Text for Table Parsing ---");
     Console.WriteLine(ocrExtractedText);
}

Für detaillierte Anleitungen besuchen Sie die IronOCR-Dokumentation (https://ironsoftware.com/csharp/ocr/). Nach OCR würden Sie den resultierenden Textstring analysieren.

  • Koordinatenbasierte Textextraktion (Fortgeschritten): Während IronPDFs ExtractAllText() den Textstrom liefert, kann es in einigen Szenarien von Vorteil sein, die x,y-Koordinaten jedes Textabschnitts zu kennen. Wenn IronPDF APIs bietet, um Text mit Informationen zu seinem Begrenzungsrahmen zu erhalten (überprüfen Sie die aktuelle Dokumentation), könnte dies eine anspruchsvollere räumliche Analyse ermöglichen, um Tabellen basierend auf visueller Ausrichtung zu rekonstruieren.

  • Konvertierung von PDF in ein anderes Format: IronPDF kann PDFs in strukturierte Formate wie HTML konvertieren. * Verwendung von IronOCR für gescannte Tabellen: Bei Tabellen in Bildern erfasst ExtractAllText() sie nicht.

PdfDocument pdfToConvert = PdfDocument.FromFile("your_document.pdf");
string htmlOutput = pdfToConvert.ToHtmlString();
// Then use an HTML parsing library (e.g., HtmlAgilityPack) to extract tables from htmlOutput.
  • Mustererkennung und reguläre Ausdrücke: Für Tabellen mit sehr vorhersehbaren Mustern, aber inkonsistenten Trennzeichen, können komplexe reguläre Ausdrücke, die auf den extrahierten Text angewendet werden, manchmal Tabellendaten isolieren.

Die Wahl der richtigen Strategie hängt von der Komplexität und Konsistenz Ihrer Quelldateien ab. Für viele gängige Geschäftsdokumente mit textbasierten Tabellen ist IronPDFs ExtractAllText in Kombination mit intelligenter C#-Parsing-Logik sehr effektiv. Für bildbasierte Tabellen sind die OCR-Funktionen unerlässlich.

Zusammenfassung

Dieser Artikel demonstrierte, wie man mit IronPDF in C# Tabellendaten aus einem PDF-Dokument extrahiert , wobei der Schwerpunkt auf der Nutzung der Methode ExtractAllText() und der anschließenden String-Analyse lag. IronPDF bietet .NET-Entwicklern ein vielseitiges Toolkit, das viele PDF-bezogene Aufgaben erleichtert, von der Erstellung und Bearbeitung bis zur umfassenden Datenextraktion.

Es bietet Methoden wie ExtractTextFromPage für seitenbezogene Extraktion und unterstützt Konvertierungen aus Formaten wie Markdown oder DOCX zu PDF. Es bietet Methoden wie ExtractTextFromPage zur seitenbezogenen Extraktion und unterstützt Konvertierungen von Formaten wie Markdown oder DOCX in PDF.

IronPDF ist kostenlos für die Entwicklung und bietet eine kostenlose Testlizenz zur Erprobung aller kommerziellen Funktionen. Für die Produktionsbereitstellung stehen verschiedene Lizenzierungsoptionen zur Verfügung.

Weitere Details und fortgeschrittene Anwendungsfälle finden Sie in der offiziellen IronPDF-Dokumentation und den Beispielen (https://ironpdf.com/)

Curtis Chau
Technischer Autor

Curtis Chau hat einen Bachelor-Abschluss in Informatik von der Carleton University und ist spezialisiert auf Frontend-Entwicklung mit Expertise in Node.js, TypeScript, JavaScript und React. Leidenschaftlich widmet er sich der Erstellung intuitiver und ästhetisch ansprechender Benutzerschnittstellen und arbeitet gerne mit modernen Frameworks sowie der Erstellung gut strukturierter, optisch ansprechender Handbücher.

...
Weiterlesen

Verwandte Artikel

Key in blue circle

Holen Sie sich sofort Ihren kostenlosen 30-Tage-Testschlüssel.

Your trial license will be sent to your email address

Keine Einschränkungen. 100 % freigeschaltet. Keine Kreditkarte.

bullet_checkedIhr Testlizenzschlüssel wurde Ihnen per E-Mail gesendet.Keine Einschränkungen. 100 % freigeschaltet. Keine Kreditkarte.
  • Logo Aetna
  • Logo NASA
  • Logo GE
  • Logo Porsche
  • Logo USDA
  • Logo Qatar
Join Millions of Engineers who’ve tried IronPDF
Buchen Sie Ihre kostenlose Live-Demo
Booking Badge

Von Millionen von Ingenieur*innen weltweit vertraut

Kundenlogos von Iron Software
Erhalten Sie Ihre unverbindliche Beratung
Füllen Sie das Formular unten aus oder senden Sie eine E-Mail an sales@ironsoftware.com
Ihre Daten werden immer vertraulich behandelt.
Von Millionen von Ingenieur*innen weltweit vertraut
Kundenlogos von Iron Software
Erhalten Sie sofort Ihren kostenlosen 30-Tage-Testschlüssel.
Ihr Testlizenzschlüssel wurde Ihnen per E-Mail gesendet.