Test in einer Live-Umgebung
Test in der Produktion ohne Wasserzeichen.
Funktioniert überall, wo Sie es brauchen.
Das Extrahieren von Daten aus einer PDF-Datei ist in C# eine ziemliche Herausforderung. Die Daten können in Form von Text, Bildern, Diagrammen, Schaubildern, Tabellen usw. vorliegen. Manchmal müssen Unternehmensanalysten Daten extrahieren, um Datenanalysen durchzuführen und auf der Grundlage dieser Ergebnisse Entscheidungen zu treffen. Die IronPDF C# PDF Library ist eine hervorragende Lösung für die Extraktion von Daten aus PDF-Dateien.
In diesem Artikel wird gezeigt, wie man mit der IronPDF Library Tabellendaten aus PDF-Dokumenten in C# extrahiert.
RenderHtmlAsPdf
methode zum Rendern von PDF-Dokumenten aus HTML-StringsExtractAllText
methode zum Lesen der Tabellendaten aus PDFIronPDF ist eine C# .NET Bibliothekdas Entwicklern das Lesen, Erstellen und Bearbeiten von PDF-Dokumenten in ihren Softwareanwendungen erleichtert. Die Chromium-Engine rendert PDF-Dokumente mit hoher Genauigkeit und Geschwindigkeit. Es ermöglicht Entwicklern die nahtlose Konvertierung von verschiedenen Formaten in PDF und umgekehrt. Es unterstützt das neueste .NET 7-Framework, sowie .NET Framework 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 Text, Bilder und Tabellen aus PDFs zu extrahieren.
Um Tabellendaten aus PDF-Dokumenten zu extrahieren, müssen wir die folgenden Komponenten auf dem lokalen Computersystem installieren:
Visual Studio - Visual Studio 2022 ist die offizielle IDE für die C#-Entwicklung und muss auf dem Computer installiert werden. Bitte laden Sie es herunter und installieren Sie es von der Visual Studio-Website.
Projekt erstellen - Erstellen Sie eine Konsolenanwendung zum Extrahieren von Daten. Führen Sie die folgenden Schritte aus, um ein Projekt zu erstellen:
Öffnen Sie Visual Studio 2022 und klicken Sie dann auf die Schaltfläche Ein neues Projekt erstellen
**Startbildschirm von Visual Studio**
Wählen Sie als nächstes C# Console Application und klicken Sie auf next
**Erstellen einer neuen Konsolenanwendung in Visual Studio**
Geben Sie anschließend den Namen Ihres Projekts "ReadPDFTable " ein und klicken Sie auf "Weiter
**Konfigurieren Sie die neu erstellte Anwendung**
Wählen Sie ".NET Framework 6 Langzeitunterstützung" für Ihr Projekt.
**Wählen Sie ein .NET-Framework**
Install IronPDF - Es gibt 3 verschiedene Methoden, die IronPDF-Bibliothek zu installieren. Sie lauten wie folgt:
Verwendung von Visual Studio. Visual Studio enthält den NuGet Package Manager, mit dessen Hilfe sich alle NuGet-Pakete in C#-Anwendungen installieren lassen.
Klicken Sie im oberen Menü auf Werkzeuge, oder
Klicken Sie mit der rechten Maustaste auf das Projekt im Projektmappen-Explorer
**Werkzeuge und Verwaltung von NuGet-Paketen**
Sobald der NuGet Package Manager geöffnet ist, suchen Sie nach IronPDF und klicken Sie auf "Installieren", wie unten gezeigt:
**Werkzeuge und Verwaltung von NuGet-Paketen**
**Eine weitere einfache Möglichkeit, IronPDF herunterzuladen und zu installieren, ist der Besuch der entsprechenden Seite auf der NuGet-Website.
Bevor Sie etwas erstellen, müssen Sie den IronPDF-Namensraum in die Datei einfügen und den Lizenzschlüssel für die Verwendung der "ExtractText"-Methoden der IronPDF-Bibliothek festlegen.
using IronPdf;
License.LicenseKey = "YOUR-TRIAL/PURCHASED-LICENSE-KEY";
using IronPdf;
License.LicenseKey = "YOUR-TRIAL/PURCHASED-LICENSE-KEY";
Imports IronPdf
License.LicenseKey = "YOUR-TRIAL/PURCHASED-LICENSE-KEY"
In diesem Fall wird aus einem HTML-String, der eine Tabelle enthält, ein PDF-Dokument erstellt, aus dem dann mit IronPDF die Daten extrahiert werden. Der HTML-Code wird in einer String-Variablen gespeichert und sieht wie folgt aus:
string HTML = "<html>" +
"<style>" +
"table, th, td {" +
"border:1px solid black;" +
"}" +
"</style>" +
"<body>" +
"<h1>A Simple table example</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>";
string HTML = "<html>" +
"<style>" +
"table, th, td {" +
"border:1px solid black;" +
"}" +
"</style>" +
"<body>" +
"<h1>A Simple table example</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>";
Dim HTML As String = "<html>" & "<style>" & "table, th, td {" & "border:1px solid black;" & "}" & "</style>" & "<body>" & "<h1>A Simple table example</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>"
Als nächstes wird die chromePdfRenderer wird verwendet, um eine PDF-Datei aus einer HTML-Zeichenkette zu erstellen. Der Code lautet wie folgt:
ChromePdfRenderer renderer = new ChromePdfRenderer();
PdfDocument pdfDocument = renderer.RenderHtmlAsPdf(HTML);
pdfDocument.SaveAs("table_example.pdf");
ChromePdfRenderer renderer = new ChromePdfRenderer();
PdfDocument pdfDocument = renderer.RenderHtmlAsPdf(HTML);
pdfDocument.SaveAs("table_example.pdf");
Dim renderer As New ChromePdfRenderer()
Dim pdfDocument As PdfDocument = renderer.RenderHtmlAsPdf(HTML)
pdfDocument.SaveAs("table_example.pdf")
Die speichern als methode speichert die pdfDocument objekt in eine PDF-Datei mit dem Namen "table_example.pdf ". Die gespeicherte Datei ist unten abgebildet:
Suche nach IronPDF in der NuGet Package Manager UI
Um Daten aus PDF-Tabellen zu extrahieren, öffnen Sie das Dokument mit dem PdfDocument
-Objekt und verwenden dann die extractAllText methode, um die Daten für die weitere Analyse abzurufen. Der folgende Code veranschaulicht, wie diese Aufgabe gelöst werden kann:
PdfDocument pdfDocument = new PdfDocument("table_example.pdf");
string text = pdfDocument.ExtractAllText();
PdfDocument pdfDocument = new PdfDocument("table_example.pdf");
string text = pdfDocument.ExtractAllText();
Dim pdfDocument As New PdfDocument("table_example.pdf")
Dim text As String = pdfDocument.ExtractAllText()
Der obige Code analysiert das gesamte PDF-Dokument mit der Methode ExtractAllText
und gibt die extrahierten Daten, einschließlich der Tabellendaten, in einer String-Variablen zurück. Der Wert der Variablen kann dann angezeigt oder zur späteren Verwendung in einer Datei gespeichert werden. Der folgende Code zeigt sie auf dem Bildschirm an:
Console.WriteLine("The extracted Text is:\n" + text);
Console.WriteLine("The extracted Text is:\n" + text);
Imports Microsoft.VisualBasic
Console.WriteLine("The extracted Text is:" & vbLf & text)
Die PDF-Datei zum Extrahieren von Text
C# bietet eine Methode String.Split
, die dabei hilft, die Zeichenkette auf der Grundlage eines Trennzeichens aufzuteilen. Mit dem folgenden Code können Sie die Ausgabe auf Tabellendaten beschränken.
string [] textList = text.Split("\n");
foreach (string textItem in textList)
{
if (textItem.Contains("."))
{
continue;
}
else
{
Console.WriteLine(textItem);
}
}
string [] textList = text.Split("\n");
foreach (string textItem in textList)
{
if (textItem.Contains("."))
{
continue;
}
else
{
Console.WriteLine(textItem);
}
}
Imports Microsoft.VisualBasic
Dim textList() As String = text.Split(vbLf)
For Each textItem As String In textList
If textItem.Contains(".") Then
Continue For
Else
Console.WriteLine(textItem)
End If
Next textItem
Dieses einfache Codebeispiel hilft dabei, nur die Daten der Tabellenzellen aus dem extrahierten Text zu extrahieren. Zunächst werden die Textzeilen aufgeteilt und in einem String-Array gespeichert. Dann wird jedes Array-Element durchlaufen, und die Elemente mit einem Punkt "." am Ende werden übersprungen. In den meisten Fällen werden nur die tabellarischen Daten aus den extrahierten Daten abgerufen, obwohl auch andere Zeilen abgerufen werden können. Die Ausgabe lautet wie folgt:
Die Konsole zeigt extrahierte Texte an
Aus der obigen Abbildung geht hervor, dass die Formatierung der Tabellendaten und die logische Struktur in der Ausgabe der Methode Console.WriteLine
erhalten bleiben. Weitere Einzelheiten zum Extrahieren von Daten aus PDF-Dokumenten mit IronPDF finden Sie in diesem code-Beispiel.
Die Ausgabe kann auch in einer CSV-Datei gespeichert werden, die später für weitere Datenanalysen formatiert und bearbeitet werden kann. Der Code lautet wie folgt:
using (StreamWriter file = new StreamWriter("table_example.csv", false))
{
string [] textList = text.Split("\n");
foreach (string textItem in textList)
{
if (textItem.Contains("."))
{
continue;
}
else
{
file.WriteLine(textItem);
}
}
}
using (StreamWriter file = new StreamWriter("table_example.csv", false))
{
string [] textList = text.Split("\n");
foreach (string textItem in textList)
{
if (textItem.Contains("."))
{
continue;
}
else
{
file.WriteLine(textItem);
}
}
}
Imports Microsoft.VisualBasic
Using file As New StreamWriter("table_example.csv", False)
Dim textList() As String = text.Split(vbLf)
For Each textItem As String In textList
If textItem.Contains(".") Then
Continue For
Else
file.WriteLine(textItem)
End If
Next textItem
End Using
Die Ausgabe wird in einer CSV-Datei gespeichert, wobei jedes "textItem" eine Spalte darstellt.
Dieser Artikel zeigt, wie man mit IronPDF Daten und Tabellen aus einem PDF-Dokument extrahiert. IronPDF bietet mehrere nützliche Optionen für die Extraktion von Text aus PDF-Dateien. Sie bietet die extrahiereTextVonSeite methode, die die Extraktion von Daten aus einer bestimmten Seite ermöglicht. IronPDF ermöglicht auch die Konvertierung verschiedener Formate in PDF, wie z. B markdown-Dateien oder DOCX-Dateien und von PDF in verschiedene Formate. Dies macht es Entwicklern leicht, PDF-Funktionen in die Anwendungsentwicklung zu integrieren. Außerdem benötigt es keinen Adobe Acrobat Reader, um PDF-Dokumente anzuzeigen und zu bearbeiten.
IronPDF ist für die Entwicklung kostenlos und kann für die kommerzielle Nutzung lizenziert werden. Sie bietet eine kostenlose Testlizenz um die volle Funktionalität der Bibliothek zu testen. Ausführlichere Informationen finden Sie unter diesem Link.
9 .NET API-Produkte für Ihre Bürodokumente