Zum Fußzeileninhalt springen
IRONPDF NUTZEN

Wie man Daten aus einem PDF in ASP.NET Core liest

Mit PDF-Dateien in .NET Core-Anwendungen zu arbeiten, kann kniffliger sein, als es scheint. Möglicherweise müssen Sie Text aus hochgeladenen Rechnungen extrahieren, Formulardaten aus Umfragen erfassen oder Tabellen für Ihre Datenbank analysieren. Ich habe viele Projekte gesehen, die verzögert wurden, weil Entwickler zu komplexe Bibliotheken verwendet haben. Hier kommt IronPDF ins Spiel. Es ermöglicht Ihnen, PDF-Dokumente zu lesen und zu verarbeiten, ohne sich mit chaotischen Abhängigkeiten herumzuschlagen oder Unmengen an benutzerdefiniertem Parsing-Code zu schreiben.

Egal, ob Sie einfachen Text, digitale Signaturen oder strukturierte Daten verarbeiten, IronPDF macht es einfach. Dieser Leitfaden zeigt Ihnen, wie Sie Daten aus einer PDF-Datei in ASP.NET lesen, IFormFile verarbeiten, mit Byte-Arrays arbeiten und sogar Dateien an den Benutzer zurückgeben oder als HTML-String rendern können. Sie können es auch in Ihre Lösung integrieren, Ausgaben im Browser anzeigen oder in einer Datenbank speichern.

Wie richten Sie IronPDF in ASP.NET Core ein?

Mit IronPDF in Ihrem ASP.NET Core-Projekt zu beginnen, dauert nur wenige Minuten. 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

Sobald es installiert ist, fügen Sie den IronPDF-Namespace zu Ihrem Klassenprogramm, Controller oder Diensten hinzu:

using IronPdf;
using IronPdf;
Imports IronPdf
$vbLabelText   $csharpLabel

For detailed installation options including Docker deployment, Azure setup, and additional information, check the comprehensive documentation.

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.

// 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
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

Die ExtractAllText-Methode gibt einen String zurück, der den gesamten lesbaren Text aus dem PDF enthält, wobei Zeilenumbrüche und Abstände beibehalten werden. Für seitenbezogene Extraktionen ermöglicht ExtractTextFromPage das Anvisieren einzelner Seiten mit Null-basiertem Index. Dieser Ansatz funktioniert nahtlos mit verschlüsselten PDFs, wenn Sie das richtige Passwort angeben.

Hier ist eine praktische ASP.NET Core-Controller-Implementierung, die zeigt, wie man Daten aus PDF-Dateien liest, indem man dieses PDF verwendet:

Beispielcode

[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 });
    }
}
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

Dieser Beispielcode behandelt hochgeladene PDF-Dateien effizient. Der IFormFile-Parameter funktioniert mit Razor Pages oder MVC-Controllern, während der MemoryStream eine reibungslose Verarbeitung ohne Erstellen temporärer Dateien gewährleistet und letztendlich die Antwortzeit verbessert. Entwickler können den extrahierten Text herunterladen, speichern oder für die Speicherung in einer Datenbank, die Erstellung von Berichten oder die Anzeige von Inhalten im Browser verarbeiten.

Wie lesen Sie PDF-Formulardaten?

PDF-Formulare enthalten interaktive Felder, die Benutzer ausfüllen. IronPDF simplifies extracting this form data through its comprehensive forms API, supporting all standard AcroForm field types. You can easily extract all form field data, including text boxes, checkboxes, and content type details.

Die Antwort kann dann in einer Datenbank gespeichert, an den Benutzer zurückgegeben oder in Ihrem ASP.NET-Anwendungs-Workflow integriert werden. 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 });
        }
IRON VB CONVERTER ERROR developers@ironsoftware.com
$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.

Ausgabe

Wie man Daten aus einem PDF in ASP.NET Core liest: Abbildung 3 - HTTP Postman

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 und bewahrt dabei den Abstand, den Sie dann analysieren können, um Daten aus der PDF-Datei in ASP.NET zu lesen:

[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 });
}
IRON VB CONVERTER ERROR developers@ironsoftware.com
$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.

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.

Ausgabe

Wie man Daten aus einem PDF in ASP.NET Core liest: Abbildung 4

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. This approach works seamlessly with Razor Pages and MVC controllers:

[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
            });
        }
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

Diese asynchrone Aufgabe gewährleistet eine nicht blockierende Verarbeitung und funktioniert mit object sender, eventargs e und Standard-.NET-Bibliotheken. Verwenden Sie ReturnFile mit Content-Disposition-Headern, um Benutzern zu ermöglichen, verarbeitete PDF-Dateien sicher herunterzuladen. Für zusätzliche Sicherheit sollten Sie die Implementierung der Dateiprüfung in Betracht ziehen, bevor Sie fortfahren.

Abschluss

IronPDF macht es einfach, PDF-Dokumente in ASP.NET Core und anderen .NET Core-Anwendungen zu lesen, extrahieren, verarbeiten und speichern. Ob Sie mit Formularen, Tabellen, einfachem Text oder digitalen Signaturen arbeiten, diese .NET-Bibliothek vereinfacht Aufgaben, die normalerweise Stunden dauern, in nur wenige Codezeilen. Sie können Ausgaben in HTML, Browser oder sogar Bildformate erstellen, konvertieren, darauf zugreifen und anzeigen.

Starten Sie mit einer kostenlosen Testversion, um die gesamten Möglichkeiten von IronPDF in Ihrem ASP.NET Core zu entdecken. Sie können Ihre PDF-Extraktions-Workflows erstellen und testen, bevor Sie sich zu einer Lizenz verpflichten. Für die Produktion bietet IronPDF flexible Optionen, die sowohl für Einzelentwickler als auch für große Lösungen geeignet sind. Ehrlich gesagt, die Verwendung von IronPDF ist einer der schnellsten Wege, die ich gefunden habe, um PDF-Dateien in ASP.NET Core zu verarbeiten, ohne die üblichen Kopfschmerzen.

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