Zum Fußzeileninhalt springen
IRONPDF NUTZEN

Wie man Daten aus PDF-Dateien in ASP.NET Core liest

IronPDF vereinfacht die PDF-Datenextraktion in ASP.NET Core, indem es Methoden zum Lesen von Text, Formulardaten und Tabellen aus PDF-Dateien mit unkompliziertem C#-Code ohne komplexe Abhängigkeiten oder manuelles Parsen bereitstellt.

Die Arbeit mit PDF-Dateien in .NET Core-Anwendungen kann schwieriger sein, als es scheint. Möglicherweise müssen Sie Text aus hochgeladenen Rechnungen extrahieren, Formulardaten aus Umfragen abrufen oder Tabellen für Ihre Datenbank analysieren. Viele Projekte verlangsamen sich, weil Entwickler übermäßig komplexe Bibliotheken verwenden. Genau hier liegt der Vorteil von IronPDF . Es ermöglicht Ihnen, PDF-Dokumente zu lesen und zu verarbeiten, ohne sich mit unübersichtlichen Abhängigkeiten herumschlagen oder umfangreichen benutzerdefinierten Parsing-Code schreiben zu müssen.

Ob einfacher Text, digitale Signaturen oder strukturierte Daten – mit IronPDF ist alles ganz einfach. Dieser Leitfaden zeigt Ihnen, wie Sie Daten aus PDF-Dateien in ASP.NET lesen, IFormFile verarbeiten, mit Byte-Arrays arbeiten und sogar Dateien an den Benutzer zurückgeben oder als HTML-Strings rendern. Sie können es auch in Ihre containerisierten Bereitstellungen integrieren, Ausgaben im Browser anzeigen oder sie in einer Cloud-basierten Datenbank speichern.

Wie richten Sie IronPDF in ASP.NET Core ein?

Der Einstieg in IronPDF in Ihrem ASP.NET Core-Projekt ist schnell. Installieren Sie das IronPDF NuGet-Paket über die NuGet-Paket-Manager-Konsole mit folgendem Befehl:

Install-Package IronPdf

Oder über die .NET CLI:

dotnet add package IronPdf

Nach der Installation fügen Sie den IronPDF-Namespace Ihrer Program-Klasse, Ihrem Controller oder Ihren Diensten hinzu:

using IronPdf;
using IronPdf;
$vbLabelText   $csharpLabel

Ausführliche Installationsoptionen, einschließlich Docker-Bereitstellung , Azure-Setup und zusätzlicher Linux-Kompatibilität , finden Sie in der vollständigen Dokumentation . Die Bibliothek funktioniert reibungslos in containerisierten Umgebungen mit minimaler Konfiguration und ist daher ideal für Microservices-Architekturen geeignet. Sie können es auch für AWS Lambda- Umgebungen, Windows-Server oder macOS-Systeme konfigurieren. Die Installationsübersicht bietet plattformspezifische Anleitungen, während erweiterte NuGet-Optionen Szenarien für den Einsatz in Unternehmen abdecken.

Wie können Sie Text aus PDF-Dateien extrahieren?

Die ExtractAllText-Methode von IronPDF bietet sofortigen Zugriff auf alle Textinhalte innerhalb eines PDF-Dokuments. Diese Methode behandelt verschiedene Textkodierungen und bewahrt die Lesereihenfolge des Originaldokuments, wodurch eine genaue Datenerfassung aus PDF-Dateien in ASP.NET Core-Anwendungen gewährleistet wird. Der Extraktionsprozess ist threadsicher und für Hochleistungsszenarien optimiert. Es unterstützt die UTF-8-Kodierung für internationale Sprachen .

// Load a PDF document
var pdf = PdfDocument.FromFile("document.pdf");
// Extract all text
string allText = pdf.ExtractAllText();
// Extract text from specific page (0-indexed)
string pageText = pdf.ExtractTextFromPage(0); // current page
// Load a PDF document
var pdf = PdfDocument.FromFile("document.pdf");
// Extract all text
string allText = pdf.ExtractAllText();
// Extract text from specific page (0-indexed)
string pageText = pdf.ExtractTextFromPage(0); // current page
$vbLabelText   $csharpLabel

Die ExtractAllText Methode gibt eine Zeichenkette zurück, die den gesamten lesbaren Text aus der PDF-Datei enthält, wobei Zeilenumbrüche und Abstände erhalten bleiben. Für die seitenbezogene Extraktion ermöglicht ExtractTextFromPage das gezielte Ansteuern einzelner Seiten mithilfe der nullbasierten Indizierung. Diese Methode funktioniert problemlos mit verschlüsselten PDFs, sofern Sie das richtige Passwort angeben. Die Textextraktion unterstützt die UTF-8-Kodierung und internationale Sprachen . Sie können auch bestimmte Bereiche analysieren oder mit PDF-DOM-Objekten arbeiten, um eine feinere Steuerung zu ermöglichen.

Hier ist eine praktische ASP.NET Core-Controller-Implementierung, die zeigt, wie man Daten aus PDF-Dateien mit minimalem Speicherbedarf liest:

Wie implementiert man am besten die Textextraktion in einem Controller?

[ApiController]
[Route("api/[controller]")]
public class PdfController : ControllerBase
{
    [HttpPost("extract-text")]
    public IActionResult ExtractText(IFormFile pdfFile)
    {
        using var stream = new MemoryStream();
        pdfFile.CopyTo(stream);
        var pdf = new PdfDocument(stream.ToArray());
        var extractedText = pdf.ExtractAllText();
        return Ok(new { text = extractedText });
    }
}
[ApiController]
[Route("api/[controller]")]
public class PdfController : ControllerBase
{
    [HttpPost("extract-text")]
    public IActionResult ExtractText(IFormFile pdfFile)
    {
        using var stream = new MemoryStream();
        pdfFile.CopyTo(stream);
        var pdf = new PdfDocument(stream.ToArray());
        var extractedText = pdf.ExtractAllText();
        return Ok(new { text = extractedText });
    }
}
$vbLabelText   $csharpLabel

Dieser Beispielcode behandelt hochgeladene PDF-Dateien effizient. Der Parameter "IFormFile" funktioniert mit Razor Pages oder MVC-Controllern , während der MemoryStream eine reibungslose Verarbeitung ohne temporäre Dateien gewährleistet und so die Antwortzeit verbessert. Sie können den extrahierten Text herunterladen, speichern oder für die Datenbankablage, die Berichtserstellung oder die Anzeige im Browser mithilfe von responsivem HTML-Rendering verarbeiten. Erwägen Sie die Implementierung asynchroner Muster für eine bessere Skalierbarkeit und benutzerdefinierter Protokollierung zur Überwachung von Extraktionsvorgängen. Für Blazor Server- Anwendungen gilt der gleiche Ansatz mit geringfügigen Anpassungen am Komponentenmodell.

Wie lesen Sie PDF-Formulardaten?

PDF-Formulare enthalten interaktive Felder, die Benutzer ausfüllen. IronPDF vereinfacht das Extrahieren dieser Formulardaten durch seine umfassende Formular-API, die alle Standard- AcroForm -Feldtypen unterstützt. Sie können problemlos alle Formularfelddaten extrahieren, einschließlich Textfelder, Kontrollkästchen und Inhaltstypdetails. Die Bibliothek übernimmt digitale Signaturen und die Formularvalidierung automatisch. Es unterstützt außerdem die PDF/A-Konformität für Archivierungsanforderungen und die Barrierefreiheitsstandards nach Section 508 .

Die Antwort kann dann in einer Datenbank gespeichert, an den Benutzer zurückgegeben oder in Ihrem ASP.NET-Anwendungs-Workflow integriert werden. Bei Azure-Bereitstellungen empfiehlt sich die Verwendung von Blob-Speicher für verarbeitete Formulardaten. Der folgende Code zeigt, wie das geht:

[HttpPost("extract-form")]
        public IActionResult ExtractForm([FromForm] IFormFile pdfFile)
        {
            if (pdfFile == null || pdfFile.Length == 0)
            {
                return BadRequest("No PDF file uploaded.");
            }
            using var stream = new MemoryStream();
            pdfFile.CopyTo(stream);
            var pdf = new PdfDocument(stream.ToArray());
            var formData = new Dictionary<string, string>();
            if (pdf.Form != null)
            {
                foreach (var field in pdf.Form)
                {
                    formData[field.Name] = field.Value;
                }
            }
            return Ok(new { formFields = formData });
        }
[HttpPost("extract-form")]
        public IActionResult ExtractForm([FromForm] IFormFile pdfFile)
        {
            if (pdfFile == null || pdfFile.Length == 0)
            {
                return BadRequest("No PDF file uploaded.");
            }
            using var stream = new MemoryStream();
            pdfFile.CopyTo(stream);
            var pdf = new PdfDocument(stream.ToArray());
            var formData = new Dictionary<string, string>();
            if (pdf.Form != null)
            {
                foreach (var field in pdf.Form)
                {
                    formData[field.Name] = field.Value;
                }
            }
            return Ok(new { formFields = formData });
        }
$vbLabelText   $csharpLabel

Der ExtractForm Endpunkt verwendet die Form-Eigenschaft von PdfDocument , um interaktive Felder aus einem hochgeladenen PDF zu lesen. Jedes Feld hat einen Namen und einen Wert, die in einem Wörterbuch gesammelt und als JSON zurückgegeben werden. Dies erleichtert das Erfassen von Daten aus Textfeldern, Kontrollkästchen und anderen Eingaben, sodass PDF-Formulareinsendungen direkt in Ihre Anwendungen oder Datenbanken verarbeitet und integriert werden können. Für eine benutzerdefinierte Protokollierung von Formularverarbeitungsereignissen integrieren Sie Ihr bevorzugtes Protokollierungsframework. Sie können Formulare auch vereinfachen , um weitere Bearbeitungen zu verhindern, oder neue Formularfelder programmatisch hinzufügen .

Warum liefert die Formularextraktion das JSON-Format zurück?

Die API-Antwort zeigt JSON-Daten, die aus einem PDF-Formular extrahiert wurden. Die Felder "Name", "E-Mail" und "Adresse" werden in der Postman-Testoberfläche mit dem Statuscode 200 OK angezeigt.

Das JSON-Format gewährleistet Kompatibilität mit modernen Web-APIs und Microservices-Architekturen. Dieses standardisierte Format funktioniert reibungslos mit RESTful-Diensten , Message Queues und Cloud-Speicherlösungen . Die leichte Architektur minimiert den Netzwerk-Overhead in verteilten Systemen. Es eignet sich auch ideal für AJAX-Anfragen und Angular-Anwendungen . Das Format ermöglicht asynchrone Operationen und ist gut mit der OpenAI-Integration für die intelligente Dokumentenverarbeitung kompatibel.

Wie können Sie Tabellendaten aus PDF-Dokumenten extrahieren?

Tabellen in PDFs sind im Wesentlichen formatierter Text, der Parselogi benötigt, um strukturierte Daten zu extrahieren. IronPDF extrahiert den Text unter Beibehaltung der Abstände, den Sie dann in ASP.NET analysieren können, um Daten aus PDF-Dateien zu lesen. Bei komplexen Tabellen empfiehlt es sich, über den DOM-Objektzugriff programmatisch auf die Dokumentstruktur zuzugreifen. Die Bibliothek verarbeitet mehrspaltige Layouts und erhält die Schriftformatierung während der Extraktion bei:

[HttpPost("extract-table")]
public IActionResult ExtractTable([FromForm] IFormFile pdfFile)
{
    if (pdfFile == null || pdfFile.Length == 0)
        return BadRequest("No PDF file uploaded.");
    using var memoryStream = new MemoryStream();
    pdfFile.CopyTo(memoryStream);
    // Load PDF from byte array
    var pdf = new PdfDocument(memoryStream.ToArray());
    // Extract all text
    string text = pdf.ExtractAllText();
    // Split text into lines (rows)
    string[] lines = text.Split(new[] { '\r', '\n' }, StringSplitOptions.RemoveEmptyEntries);
    var tableData = new List<string[]>();
    foreach (string line in lines)
    {
        // Split line into columns using tab character
        string[] columns = line
            .Split('\t')
            .Where(c => !string.IsNullOrWhiteSpace(c))
            .ToArray();
        if (columns.Length > 0)
            tableData.Add(columns);
    }
    var table = tableData.Select(r => string.Join(" | ", r)).ToList();
    return Ok(new { Table = table });
}
[HttpPost("extract-table")]
public IActionResult ExtractTable([FromForm] IFormFile pdfFile)
{
    if (pdfFile == null || pdfFile.Length == 0)
        return BadRequest("No PDF file uploaded.");
    using var memoryStream = new MemoryStream();
    pdfFile.CopyTo(memoryStream);
    // Load PDF from byte array
    var pdf = new PdfDocument(memoryStream.ToArray());
    // Extract all text
    string text = pdf.ExtractAllText();
    // Split text into lines (rows)
    string[] lines = text.Split(new[] { '\r', '\n' }, StringSplitOptions.RemoveEmptyEntries);
    var tableData = new List<string[]>();
    foreach (string line in lines)
    {
        // Split line into columns using tab character
        string[] columns = line
            .Split('\t')
            .Where(c => !string.IsNullOrWhiteSpace(c))
            .ToArray();
        if (columns.Length > 0)
            tableData.Add(columns);
    }
    var table = tableData.Select(r => string.Join(" | ", r)).ToList();
    return Ok(new { Table = table });
}
$vbLabelText   $csharpLabel

Dieser Code extrahiert Text und teilt ihn basierend auf Abstands-Mustern in potenzielle Tabellenzeilen. Für komplexere Tabellen müssen Sie möglicherweise Tabellengrenzen mit Stichwörtern identifizieren oder anspruchsvollere Parsing-Logiken basierend auf Ihrer spezifischen PDF-Struktur implementieren. Bei großen Dokumenten mit mehreren Tabellen sollte die Parallelverarbeitung in Betracht gezogen werden. Sie können die Tabellen auch in HTML konvertieren, um sie einfacher bearbeiten zu können, oder sie zur weiteren Analyse nach Excel exportieren .

Diese Ausgabe kann heruntergeladen, im Browser angezeigt oder zur weiteren Informationsverarbeitung verwendet werden. Sie können CSS-Formatierung oder HTML-String-Rendering integrieren, um Tabellen dynamisch in Ihrer Lösung anzuzeigen. Für Szenarien mit hohen Leistungsanforderungen sollten analysierte Tabellendaten zwischengespeichert werden, um eine wiederholte Verarbeitung zu vermeiden. Ziehen Sie Komprimierungstechniken in Betracht, um die Dateigrößen beim Speichern extrahierter Daten zu reduzieren.

Wann sollte man Tabellen manuell parsen und wann sollte man integrierte Methoden verwenden?

Die API-Antwort zeigt strukturierte Rechnungsdaten aus der PDF-Datei an, einschließlich Kundendaten, Rechnungsmetadaten und Einzelprodukte mit Preisen im JSON-Format.

Die manuelle Auswertung bietet Flexibilität für nicht standardmäßige Tabellenformate, während integrierte Methoden eine bessere Leistung für Standardlayouts bieten. Wählen Sie die manuelle Analyse bei zusammengeführten Zellen , verschachtelten Tabellen oder benutzerdefinierter Formatierung. Verwenden Sie die integrierte Extraktion für standardisierte Tabellendaten mit einheitlichem Spaltenabstand. Bei komplexen Layouts empfiehlt sich die Vorverarbeitung mit JavaScript oder die Verwendung benutzerdefinierter Rendering-Optionen . Die Chrome-Rendering-Engine gewährleistet eine präzise Textpositionierung für die meisten Tabellenformate.

Wie verarbeiten Sie hochgeladene PDF-Dateien in ASP.NET Core?

Die Verarbeitung hochgeladener PDFs erfordert das Konvertieren der IFormFile in ein Format, das IronPDF lesen kann. Dieser Ansatz funktioniert reibungslos mit Razor Pages und MVC-Controllern . Bei containerisierten Anwendungen müssen die korrekten Speicherzuweisungseinstellungen sichergestellt werden. Der Prozess unterstützt große Dateien und Stapelverarbeitung :

[HttpPost("process-upload")]
        public async Task<IActionResult> ProcessPdf([FromForm] IFormFile file)
        {
            if (file == null || file.Length == 0)
                return BadRequest("No PDF file uploaded.");
            using var ms = new MemoryStream();
            await file.CopyToAsync(ms);
            // Load PDF from byte array
            var pdf = new PdfDocument(ms.ToArray());
            // Extract text and page count
            var text = pdf.ExtractAllText();
            var pageCount = pdf.PageCount;
            return Ok(new
            {
                text = text,
                pages = pageCount
            });
        }
[HttpPost("process-upload")]
        public async Task<IActionResult> ProcessPdf([FromForm] IFormFile file)
        {
            if (file == null || file.Length == 0)
                return BadRequest("No PDF file uploaded.");
            using var ms = new MemoryStream();
            await file.CopyToAsync(ms);
            // Load PDF from byte array
            var pdf = new PdfDocument(ms.ToArray());
            // Extract text and page count
            var text = pdf.ExtractAllText();
            var pageCount = pdf.PageCount;
            return Ok(new
            {
                text = text,
                pages = pageCount
            });
        }
$vbLabelText   $csharpLabel

Diese asynchrone Aufgabe gewährleistet eine nicht blockierende Verarbeitung und funktioniert mit Ereignisbehandlern und Standard-.NET-Bibliotheken. Verwenden Sie ReturnFile mit Content-Disposition-Headern, um Benutzern das sichere Herunterladen verarbeiteter PDF-Dateien zu ermöglichen. Für zusätzliche Sicherheit sollten Sie die Implementierung der Dateiprüfung in Betracht ziehen, bevor Sie fortfahren. Das asynchrone Muster verbessert die Skalierbarkeit bei Cloud-Bereitstellungen . Sie können während der Verarbeitung auch benutzerdefinierte Wasserzeichen oder digitale Signaturen implementieren. Für MAUI-Anwendungen gelten ähnliche Muster mit plattformspezifischen Anpassungen.

Wie lässt sich die Leistung beim Datei-Upload verbessern?

Um den Speicherverbrauch zu reduzieren, sollten Sie Streaming-Uploads für große Dateien implementieren. Konfigurieren Sie geeignete Anforderungsgrößenbeschränkungen in Ihren IIS-Einstellungen oder Ihrer Kestrel-Konfiguration . Bei AWS Lambda-Bereitstellungen sollten Sie die Verwendung von vorab signierten S3-URLs für direkte Uploads in Betracht ziehen, um Ihre API vollständig zu umgehen. Verwenden Sie Renderverzögerungen für JavaScript-intensive Inhalte und benutzerdefinierte Timeouts für große Dokumente. Aktivieren Sie die Linearisierung für eine schnellere Webanzeige und implementieren Sie progressives Rendering für ein besseres Benutzererlebnis. Für kleinere Bereitstellungsgrößen in serverlosen Umgebungen empfiehlt sich IronPdf.Slim .

Was sind die nächsten Schritte für die PDF-Datenextraktion?

IronPDF macht es einfach, PDF-Dokumente in ASP.NET Core und anderen .NET Core-Anwendungen zu lesen, extrahieren, verarbeiten und speichern. Egal ob Sie mit Formularen, Tabellen, einfachem Text oder digitalen Signaturen arbeiten, diese .NET-Bibliothek vereinfacht Aufgaben, die normalerweise Stunden dauern, auf nur wenige Codezeilen. Sie können Ausgaben in HTML , Browser- oder sogar Bildformaten erstellen, konvertieren, darauf zugreifen und sie anzeigen. Die Bibliothek unterstützt die PDF/A-Konformität für die Langzeitarchivierung und die Standards des Abschnitts 508 für Barrierefreiheit.

Bei Produktionsumgebungen empfiehlt sich die Implementierung von Health-Check-Endpunkten zur Überwachung der PDF-Verarbeitungsdienste. Verwenden Sie benutzerdefinierte Protokollierung , um die Extraktionsleistung und Fehler zu verfolgen. Implementieren Sie Wiederholungsstrategien zur Behandlung vorübergehender Fehler in verteilten Systemen. Konfigurieren Sie die Rendering-Optionen für eine optimale Leistung und implementieren Sie Caching-Strategien für häufig aufgerufene Dokumente. Die Bibliothek lässt sich gut in CI/CD-Pipelines integrieren und unterstützt Headless-Rendering für Serverumgebungen.

Starten Sie mit einer kostenlosen Testversion , um die vollen Möglichkeiten von IronPDF in Ihren ASP.NET Core-Projekten zu entdecken. Sie können Ihre PDF-Extraktions-Workflows erstellen und testen, bevor Sie sich zu einer Lizenz verpflichten. Für den Produktionsbereich bietet IronPDF flexible Lizenzoptionen, die sowohl für Einzelentwickler als auch für große Teams geeignet sind. Die Bibliothek unterstützt containerisierte Bereitstellungen und bietet eine vollständige Dokumentation für Teams. Die Verwendung von IronPDF ist eine der schnellsten Möglichkeiten, PDF-Dateien in ASP.NET Core ohne die üblichen Bereitstellungsprobleme zu verarbeiten. Werfen Sie einen Blick in die Schnellstartanleitung für die sofortige Implementierung oder erkunden Sie erweiterte Funktionen wie OCR-Funktionen und Barcode-Generierung für umfassende Dokumentenverarbeitungslösungen.

Häufig gestellte Fragen

Welche Herausforderungen können bei der Arbeit mit PDF-Dateien in .NET Core-Anwendungen auftreten?

Die Arbeit mit PDF-Dateien in .NET Core kann schwierig sein, da Text extrahiert, Formulardaten erfasst oder Tabellen ohne übermäßig komplexe Bibliotheken geparst werden müssen.

Wie kann IronPDF das Lesen von Daten aus PDF-Dateien in ASP.NET vereinfachen?

IronPDF vereinfacht das Lesen und Verarbeiten von PDF-Dokumenten, indem es unnötige Abhängigkeiten oder umfangreiche benutzerdefinierte Parser-Codes überflüssig macht.

Warum ist es wichtig, übermäßig komplexe Bibliotheken bei der Handhabung von PDFs zu vermeiden?

Die Verwendung übermäßig komplexer Bibliotheken kann Projekte verlangsamen und die Entwicklungszeit verlängern, während einfachere Lösungen wie IronPDF den Prozess vereinfachen.

Welche Datentypen kann IronPDF aus PDF-Dateien extrahieren?

IronPDF kann Text, Formulardaten und Tabellen aus PDF-Dateien extrahieren und ist somit vielseitig für verschiedene Datenverarbeitungsanforderungen geeignet.

Kann IronPDF verwendet werden, um hochgeladene Rechnungen in ASP.NET-Anwendungen zu verarbeiten?

Ja, IronPDF kann effizient Text aus hochgeladenen Rechnungen in ASP.NET-Anwendungen lesen und verarbeiten.

Ist es notwendig, benutzerdefinierte Parser-Codes zu schreiben, wenn IronPDF verwendet wird?

Nein, IronPDF ermöglicht die Verarbeitung von PDF-Dokumenten ohne umfangreiche benutzerdefinierte Parser-Codes.

Welche Vorteile bietet die Verwendung von IronPDF in .NET Core-Anwendungen?

IronPDF bietet eine einfache Möglichkeit, PDF-Dateien zu lesen und zu verarbeiten, und verbessert die Datenverarbeitungsfähigkeiten ohne komplexe Abhängigkeiten.

.NET 10 – Ist IronPDF vollständig kompatibel damit?

Ja. IronPDF ist so konzipiert, dass es vollständig mit .NET 10 (sowie .NET 9, 8, 7, 6, 5, Core, Standard und Framework 4.6.2+) kompatibel ist. Dadurch wird sichergestellt, dass Sie alle PDF-Lese- und Schreibfunktionen ohne spezielle Umwege auf der neuesten .NET-Plattform nutzen können.

Unterstützt IronPDF die neuesten APIs in .NET 10 zum Lesen von gestreamten PDF-Inhalten?

Ja. In .NET 10 kann IronPDF PDF-Daten aus Byte-Arrays oder Speicherströmen verarbeiten – mithilfe von APIs wie Stream und MemoryStream – und ermöglicht so das Lesen von PDFs ohne das Speichern temporärer Dateien. Dadurch eignet es sich für Server mit hohem Leistungsbedarf sowie zum Hochladen und Verarbeiten von PDF-Daten in Web-APIs.

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 ...

Weiterlesen