IRONSOFTWAREHOME

Missordnung bei der Textextraktion aus dicht gedrängten Tabellen

Curtis Chau
Curtis Chau
Updated: 10. Juni 2026

Aus eng gedrängten Tabellen- oder Formularlayouts extrahierter Text erscheint durcheinander. Zeichen aus benachbarten Zeilen sind vermischt, zum Beispiel wird "Unique Number 123456789" als "U123456789nique Number" extrahiert.

Dies ist eine bekannte Einschränkung der page.Lines-Extraktion für dicht gepackte Layouts. page.Lines gruppiert Zeichen mit einer eingebauten vertikalen Toleranz, die nicht konfigurierbar ist. Wenn zwei sichtbare Zeilen in einer Tabellenzelle nur wenige Punkte voneinander entfernt sind, fasst der Gruppierer beide Zeilen zu einer logischen Linie zusammen und sortiert die Zeichen von links nach rechts, wobei sie vermischt werden. Die ExtractTextFromPage(i)-Methode standardmäßig in Inhaltsstrom-Reihenfolge, die möglicherweise nicht der visuellen Lesereihenfolge in Formular-PDFs entspricht.

Lösung

Empfohlen: Verwenden Sie TextChunks mit einer einstellbaren Toleranz zur Extraktion

Jede TextChunk gibt seine BoundingBox preis, was eine Gruppierung nach vertikaler Position und eine Sortierung innerhalb jeder Zeile nach horizontaler Position ermöglicht:

using IronPdf.Pages;
using System.Text;

static string ExtractTextUsingTextChunks(IPdfPage page, double rowTolerance = 2.0)
{
    var rows = page.TextChunks
        .Where(c => !string.IsNullOrWhiteSpace(c.Contents))
        .GroupBy(c => Math.Round(c.BoundingBox.Top / rowTolerance) * rowTolerance)
        .OrderByDescending(g => g.Key);

    var extractedText = new StringBuilder();
    foreach (var row in rows)
    {
        var line = string.Join(" ",
            row.OrderBy(c => c.BoundingBox.Left)
               .Select(c => c.Contents.Trim())
               .Where(text => !string.IsNullOrWhiteSpace(text)));
        extractedText.AppendLine(line);
    }
    return extractedText.ToString();
}

Beginnen Sie mit rowTolerance = 2.0. Wenn sich Zeilen weiterhin verbinden, reduzieren Sie es auf 1.0 oder 0.5. Für feinere Kontrolle ersetzen Sie page.Characters durch page.TextChunks.

Alternative: Extraktion in visueller Reihenfolge

Für PDFs, bei denen nur die Reihenfolge des Content-Streams falsch ist:

pdf.ExtractTextFromPage(i, TextExtractionOrder.VisualOrder);

Für PDFs mit Zeilen, die visuell sehr nah beieinanderliegen, bewältigt der TextChunks-Ansatz enge Toleranzen besser.

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

Bereit anzufangen?

Nuget Downloads 20,878,335Version:2026.9gerade veröffentlicht

Erhalten Sie sofort Ihren kostenlosen 30-Tage-Testschlüssel.
Ihr Testlizenzschlüssel wurde Ihnen per E-Mail gesendet.
C# NuGet-Bibliothek für PDF
Installation mit NuGet

Version: 2026.9

PM > Install-Package IronPdf
nuget.org/packages/IronPdf/
  1. Rechtsklick auf Referenzen, NuGet-Pakete verwalten
  2. Wählen Sie Durchsuchen und suchen Sie nach 'IronPDF'
  3. Paket auswählen und installieren
C# PDF DLL
Download DLL

Version: 2026.9

oder laden Sie den Windows-Installer hier herunter.

  1. Laden Sie IronPDF herunter und entpacken Sie es in ein Verzeichnis wie ~/Libs innerhalb Ihres Lösungsverzeichnisses
  2. Im Visual Studio-Projektmappen-Explorer klicken Sie mit der rechten Maustaste auf Referenzen. Wählen Sie Durchsuchen, "IronPDF.dll"

Lizenzen ab 749 $

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.