Test in einer Live-Umgebung
Test in der Produktion ohne Wasserzeichen.
Funktioniert überall, wo Sie es brauchen.
Die Notwendigkeit der dynamischen Verwaltung und Bearbeitung von Dokumenteninhalten ist in der Welt der C#-Entwicklung weit verbreitet. Entwickler verlassen sich in der Regel auf robuste Bibliotheken, um Aktivitäten wie die Erstellung von PDF-Berichten und die Extraktion von Daten aus Webseiten zu automatisieren. Dieser Artikel untersucht die einfache Integration von IronPDF und HTML Agility Pack in C# und zeigt anhand von Codebeispielen, wie diese Bibliotheken verwendet werden können, um mühelos PDF-Dokumente zu erstellen und HTML-Text zu lesen.
IronPDF hingegen ist eine funktionsreiche .NET-Bibliothek für die Arbeit mit PDF-Dateien. IronPDF ermöglicht Entwicklern die dynamische Generierung von PDF-Dateien aus HTML-Inhalten, URLs oder Rohdaten und ist damit ein wertvolles Werkzeug für die Erstellung von Dokumenten, Berichten und Datenvisualisierung.
Um die Dokumentenerzeugung in .NET-Anwendungen zu rationalisieren, werden wir in diesem Beitrag untersuchen, wie IronPDF mit HtmlAgilityPack verbunden werden kann. Die Kombination dieser Technologien ermöglicht es Programmierern, mit entfernten Systemen zu arbeiten, dynamische PDF-Seiten zu generieren und Daten über Netzwerkverbindungen abzurufen, während sie gleichzeitig die Produktivität und Skalierbarkeit ihrer Programme erhöhen.
Erstellen Sie ein neues C#-Projekt.
Installieren Sie die Bibliothek HtmlAgilityPack.
Importieren Sie den Namespace. Erstellen Sie ein Objekt.
Importieren von Daten aus Url und Parsen des HTML.
HTML-Beweglichkeitspaket ist eine vielseitige und leistungsstarke HTML-Parsing-Bibliothek für .NET-Entwickler. Mit Hilfe der umfangreichen Sammlung von APIs können Entwickler problemlos in HTML-Dokumenten navigieren, sie verändern und Daten aus ihnen extrahieren. HTML Agility Pack vereinfacht die Arbeit mit HTML-Inhalten für alle Entwickler, unabhängig von ihrer Erfahrung.
Die Fähigkeit von HTML Agility Pack, schlecht organisiertes oder fehlerhaftes HTML sanft zu verwalten, ist das, was es einzigartig macht. Es eignet sich perfekt für Online-Scraping-Operationen, bei denen die Qualität der HTML-Auszeichnung variieren kann, da es einen fehlerverzeihenden Parsing-Algorithmus verwendet, der selbst das am schlechtesten konstruierte HTML parsen kann.
Mit den leistungsstarken HTML-Parsing-Funktionen von HTML Agility Pack können Entwickler HTML-Dokumente aus einer Vielzahl von Quellen laden, darunter Dateien, URLs und Strings. Aufgrund seines nachsichtigen Parsing-Ansatzes kann es auch mit schlecht formatiertem oder fehlerhaftem HTML umgehen und eignet sich daher für Web-Scraping-Aktivitäten, bei denen die Qualität des HTML-Markups variieren kann.
Zum Erkunden, Durchsuchen und Arbeiten mit dem HTML Document Object Model (DOM) struktur bietet HAP eine benutzerfreundliche API. HTML-Elemente, Attribute und Textknoten können von Entwicklern programmatisch hinzugefügt, entfernt oder geändert werden, was eine dynamische Bearbeitung von HTML-Inhalten ermöglicht.
Für die Auswahl und Abfrage von HTML-Komponenten unterstützt das HTML Agility Pack LINQ (Sprache Integrierte Abfrage) sowie die XPath-Syntax-Suche. Um Elemente in einem HTML-Dokument nach ihren Attributen, Tags oder ihrer Hierarchie auszuwählen, bieten XPath-Ausdrucksabfragen eine starke und leicht verständliche Syntax. Für Entwickler, die an die Arbeit mit LINQ in C# gewöhnt sind, bieten LINQ-Abfragen eine vertraute Abfragesyntax, die eine reibungslose Integration mit anderen .NET-Komponenten ermöglicht.
Die HtmlAgility Base Class Library wird in einem einzigen gebündelten Paket geliefert, das durch Installation in Nuget verfügbar sein sollte und im C#-Projekt verwendet werden kann. Es bietet einen HTML-Parser und CSS-Selektoren aus dem HTML-Dokument und HTML-URLs.
Viele C#-Anwendungstypen, wie z. B. Windows Forms (WinForms) und Windows-Konsole, implementieren HtmlAgilityPack. Obwohl die Umsetzung von Rahmen zu Rahmen variiert, bleibt der Grundgedanke konstant.
Eines der wichtigsten Werkzeuge im Werkzeugkasten eines C#-Entwicklers für die Navigation, Verarbeitung und Arbeit mit HTML-Dokumenten ist das HTML Agility Pack (HAP). Die Datenextraktion aus HTML-Seiten wird durch die benutzerfreundliche API erleichtert, die wie ein organisierter Baum von Elementen funktioniert. Lassen Sie uns anhand eines einfachen Codebeispiels zeigen, wie man es verwendet.
using HtmlAgilityPack;
// Load HTML content from a file or URL
HtmlWeb web = new HtmlWeb();
var doc = web.Load("https://ironpdf.com/");
// Select specific html nodes and parse html string
HtmlNodeCollection nodes = doc.DocumentNode.SelectNodes("//h1[@class='product-homepage-header product-homepage-header--ironpdf']");
// Iterate through selected nodes and extract content
foreach (HtmlNode node in nodes)
{
Console.WriteLine(node.InnerText);
}
Console.ReadKey();
using HtmlAgilityPack;
// Load HTML content from a file or URL
HtmlWeb web = new HtmlWeb();
var doc = web.Load("https://ironpdf.com/");
// Select specific html nodes and parse html string
HtmlNodeCollection nodes = doc.DocumentNode.SelectNodes("//h1[@class='product-homepage-header product-homepage-header--ironpdf']");
// Iterate through selected nodes and extract content
foreach (HtmlNode node in nodes)
{
Console.WriteLine(node.InnerText);
}
Console.ReadKey();
Imports HtmlAgilityPack
' Load HTML content from a file or URL
Private web As New HtmlWeb()
Private doc = web.Load("https://ironpdf.com/")
' Select specific html nodes and parse html string
Private nodes As HtmlNodeCollection = doc.DocumentNode.SelectNodes("//h1[@class='product-homepage-header product-homepage-header--ironpdf']")
' Iterate through selected nodes and extract content
For Each node As HtmlNode In nodes
Console.WriteLine(node.InnerText)
Next node
Console.ReadKey()
In diesem Beispiel laden wir HTML-Knotenmaterial von einer URL mit dem HTML Agility Pack. Der HTML-Code wird dann zum Parsen und zur Bearbeitung in den var doc
geladen. Um Inhalte zu extrahieren, identifiziert das Programm zunächst den Wurzelknoten des HTML-Dokuments und zielt dann mit XPath-Abfragen gezielt auf Knoten innerhalb des Dokuments. Im obigen Code wählen wir gezielt div-Elemente mit der Klasse product-homepage-header aus den HTML-Daten aus, und dann wird der innere Text jedes ausgewählten Knotens auf der Konsole ausgegeben.
Mit dem HTML Agility Pack können Entwickler verschiedene Transformationen und Manipulationen an HTML-Texten vornehmen. Dies umfasst Vorgänge wie das Hinzufügen, Löschen oder Ändern von Textknoten, Elementen und Attributen sowie die Umstrukturierung der DOM-Hierarchie des HTML-Dokuments.
Da HAP erweiterbar sein soll, können Programmierer neue Funktionen und Verhaltensweisen hinzufügen, um die Funktionalität zu erhöhen. Mithilfe der mitgelieferten API können Entwickler ihre eigenen HTML-Parser, Filter oder Manipulatoren entwerfen, um HAP an ihre individuellen Bedürfnisse und Anwendungsfälle anzupassen.
Große HTML-Texte können von den Algorithmen und Datenstrukturen des HTML Agility Packs, das auf Geschwindigkeit und Effektivität getrimmt ist, gut verarbeitet werden. Sie gewährleistet eine schnelle und reaktionsschnelle Analyse und Bearbeitung von HTML-Inhalten, indem sie die Speichernutzung und den Verarbeitungs-Overhead reduziert.
Die Möglichkeiten für Dokumentenmanagement und Berichterstellung sind endlos, wenn HTML Agility Pack und IronPDF kombiniert werden. Durch den Einsatz von HTML Agility Pack für HTML-Parsing und IronPDF für die PDF-Konvertierung können Entwickler mühelos die Erstellung von PDF-Dokumenten aus dynamischem Online-Material automatisieren. Um mehr über die IronPDF dokumentation, siehe hier.
Install-Package IronPdf
Die Suchergebnisse für das IronPDF-Paket können durchsucht und ausgewählt werden, und dann kann die Schaltfläche "Installieren" angeklickt werden. Visual Studio kümmert sich um die Installation und den Download für Sie.
Weitere Informationen zu den Funktionen, der Kompatibilität und anderen Download-Möglichkeiten von IronPDF finden Sie auf der Seite von IronPDF https://www.nuget.org/packages/IronPdf auf der NuGet-Website.
Alternativ können Sie die DLL-Datei von IronPDF verwenden, um sie direkt in Ihr Projekt zu integrieren. Klicken Sie hier link um die ZIP-Datei zu erhalten, die die DLL enthält. Nach dem Entpacken binden Sie die DLL in Ihr Projekt ein.
Durch die Integration der Funktionen beider Bibliotheken bietet das HTML Agility Pack (HAP) und IronPDF können in C# implementiert werden, um HTML-Informationen zu lesen und sofort PDF-Dokumente zu erzeugen. Die Schritte für die Implementierung sind unten aufgeführt, zusammen mit einem Beispielcode, der jeden Schritt durchläuft:
Laden von HTML-Inhalten mit dem HTML Agility Pack: Um HTML-Material aus einer Quelle wie einer Datei, einem String oder einer URL zu laden, verwenden Sie das HTML Agility Pack. In dieser Phase wird das HTML-Dokument geparst und ein manipulierbares HTML-Dokumentobjekt erstellt.
Extrahieren gewünschter Inhalte: Um bestimmte Inhalte aus dem HTML-Dokument auszuwählen und zu extrahieren, verwenden Sie das HTML Agility Pack in Verbindung mit XPath- oder LINQ-Abfragen. Dies könnte bedeuten, dass Elemente nach ihren Eigenschaften, Tags oder ihrer hierarchischen Struktur ausgewählt werden.
Konvertieren Sie HTML in PDF mit IronPDF: Um aus dem abgerufenen HTML-Inhalt ein PDF-Dokument zu erstellen, verwenden Sie IronPDF. IronPDF konvertiert HTML-Material mühelos in das PDF-Format und behält dabei Stil und Layout bei.
Optional: PDF-Ausgabe anpassen: Mit IronPDF können Sie Kopf- und Fußzeilen, Seitennummerierungen und andere dynamische Komponenten hinzufügen, um die PDF-Ausgabe nach Bedarf anzupassen. Dieser Schritt verbessert das Aussehen und die Benutzerfreundlichkeit des resultierenden PDF-Dokuments.
using HtmlAgilityPack;
StringBuilder htmlContent=new StringBuilder();
// Load HTML content from a file or URL
HtmlWeb web = new HtmlWeb();
HtmlDocument doc = web.Load("https://ironpdf.com/");
// Select specific elements using XPath or LINQ
HtmlNodeCollection nodes = doc.DocumentNode.SelectNodes("//h1[@class='product-homepage-header product-homepage-header--ironpdf']");
// Iterate through selected nodes and extract content
foreach (HtmlNode node in nodes)
{
htmlContent.Append(node.OuterHtml);
Console.WriteLine(node.InnerText);
}
// Convert HTML content to PDF using IronPDF
var Renderer = new IronPdf.HtmlToPdf();
var PDF = Renderer.RenderHtmlAsPdf(htmlContent.ToString());
// Save PDF to file
PDF.SaveAs("output.pdf");
Console.WriteLine("PDF generated successfully!");
Console.ReadKey();
using HtmlAgilityPack;
StringBuilder htmlContent=new StringBuilder();
// Load HTML content from a file or URL
HtmlWeb web = new HtmlWeb();
HtmlDocument doc = web.Load("https://ironpdf.com/");
// Select specific elements using XPath or LINQ
HtmlNodeCollection nodes = doc.DocumentNode.SelectNodes("//h1[@class='product-homepage-header product-homepage-header--ironpdf']");
// Iterate through selected nodes and extract content
foreach (HtmlNode node in nodes)
{
htmlContent.Append(node.OuterHtml);
Console.WriteLine(node.InnerText);
}
// Convert HTML content to PDF using IronPDF
var Renderer = new IronPdf.HtmlToPdf();
var PDF = Renderer.RenderHtmlAsPdf(htmlContent.ToString());
// Save PDF to file
PDF.SaveAs("output.pdf");
Console.WriteLine("PDF generated successfully!");
Console.ReadKey();
Imports HtmlAgilityPack
Private htmlContent As New StringBuilder()
' Load HTML content from a file or URL
Private web As New HtmlWeb()
Private doc As HtmlDocument = web.Load("https://ironpdf.com/")
' Select specific elements using XPath or LINQ
Private nodes As HtmlNodeCollection = doc.DocumentNode.SelectNodes("//h1[@class='product-homepage-header product-homepage-header--ironpdf']")
' Iterate through selected nodes and extract content
For Each node As HtmlNode In nodes
htmlContent.Append(node.OuterHtml)
Console.WriteLine(node.InnerText)
Next node
' Convert HTML content to PDF using IronPDF
Dim Renderer = New IronPdf.HtmlToPdf()
Dim PDF = Renderer.RenderHtmlAsPdf(htmlContent.ToString())
' Save PDF to file
PDF.SaveAs("output.pdf")
Console.WriteLine("PDF generated successfully!")
Console.ReadKey()
Besuchen Sie hier um mehr über das Codebeispiel zu erfahren.
Das Ergebnis der Ausführung ist unten dargestellt:
Ob beim Parsen von HTML-Daten oder beim Erstellen von PDF-Berichten - dank der nahtlosen Integration von HTML Agility Pack und IronPDF in C# können Entwickler das Dokumentenmaterial mühelos verwalten und ändern. Durch die Kombination der PDF-Produktionsfunktionen von IronPDF mit den Parsing-Funktionen von HTML Agility Pack können Entwickler einfach und präzise Vorgänge im Zusammenhang mit Dokumenten automatisieren. Die Kombination dieser beiden Bibliotheken bietet eine leistungsstarke C#-Dokumentenmanagementlösung, unabhängig davon, ob Sie dynamische Berichte erstellen oder Daten aus Webseiten abrufen.
Eine unbefristete Lizenz, ein Jahr Software-Wartung und ein Bibliotheks-Upgrade sind im "Lite-Lizenz"-Paket enthalten. IronPDF bietet eine kostenlose Lizenzierung mit zeitlichen und Weiterverbreitungsbeschränkungen. Während des Testzeitraums können die Nutzer die Lösung testen, ohne ein Wasserzeichen zu sehen. Bitte gehen Sie auf die IronPDF-Lizenzseite, um lernen mehr über die Kosten und die Lizenz. Weitere Informationen über Iron Software-Bibliotheken finden Sie hier seite.
9 .NET API-Produkte für Ihre Bürodokumente