using IronPdf;
// Disable local disk access or cross-origin requests
Installation.EnableWebSecurity = true;
// Instantiate Renderer
var renderer = new ChromePdfRenderer();
// Create a PDF from a HTML string using C#
var pdf = renderer.RenderHtmlAsPdf("<h1>Hello World</h1>");
// Export to a file or Stream
pdf.SaveAs("output.pdf");
// Advanced Example with HTML Assets
// Load external html assets: Images, CSS and JavaScript.
// An optional BasePath 'C:\site\assets\' is set as the file location to load assets from
var myAdvancedPdf = renderer.RenderHtmlAsPdf("<img src='icons/iron.png'>", @"C:\site\assets\");
myAdvancedPdf.SaveAs("html-with-assets.pdf");
So konvertieren Sie HTML in PDF C# ohne Bibliothek
Regan Pun
3. April 2025
Teilen Sie:
Einführung
Wenn es darum geht, HTML zu PDF in C# zu konvertieren, könnten Entwickler in Erwägung ziehen, native .NET-Funktionen zu nutzen, ohne auf externe Bibliotheken zurückzugreifen. Während dieser Ansatz in bestimmten Szenarien machbar sein kann, bringt er seine eigenen Vorteile und Herausforderungen mit sich. Dieser Artikel wird den Prozess, die Vor- und Nachteile erkunden und erörtern, warum eine Bibliothek wie IronPDF möglicherweise eine bessere Option ist.
Wie es funktioniert
Mit den integrierten .NET-Tools können Sie die Umwandlung von HTML zu PDF erreichen, indem Sie den HTML-Inhalt rendern und ihn mit dem WebBrowser-Steuerelement und der PrintDocument-Klasse drucken. Hier ist ein vereinfachter Arbeitsablauf:
Schreibe den HTML-Inhalt in eine temporäre Datei.
Laden Sie das HTML in ein WebBrowser-Steuerelement zur Darstellung.
Verwenden Sie die PrintDocument-Klasse, um einen Druckauftrag zu erstellen, der den gerenderten Inhalt ausgibt.
Während dieser Ansatz externe Abhängigkeiten vermeidet, umfasst er die Arbeit mit Low-Level-Komponenten und das manuelle Definieren der Drucklogik.
Wenn Sie HTML in C# ohne Verwendung externer Bibliotheken in PDF konvertieren möchten, können Sie die integrierten .NET-Funktionen wie System.IO und System.Drawing.Printing verwenden, um das HTML zu rendern und dann ein PDF zu erstellen. Im Folgenden finden Sie ein einfaches Beispiel, um Ihnen den Einstieg zu erleichtern:
So konvertieren Sie HTML in PDF C# ohne Bibliothek
Von Pixabay hinzufügenHochladen
oder ein Bild hierher ziehen und ablegen
Alternativtext für Bild hinzufügen
using System;
using System.IO;
using System.Windows.Forms; // You need to add a reference to System.Windows.Forms
using System.Drawing.Printing;
class Program
{
[STAThread] // Required for using WebBrowser control
static void Main()
{
// HTML content
string htmlContent = "<html><body><h1>Hello, World!</h1></body></html>";
// Write HTML content to a temporary file
string tempFilePath = Path.Combine(Path.GetTempPath(), "temp.html");
File.WriteAllText(tempFilePath, htmlContent);
// Create WebBrowser to render HTML
WebBrowser webBrowser = new WebBrowser();
webBrowser.DocumentCompleted += (sender, e) =>
{
// Print the document to a file
PrintDocument printDoc = new PrintDocument();
printDoc.PrintPage += (s, args) =>
{
args.Graphics.DrawString(htmlContent, new Font("Arial", 12), Brushes.Black, new PointF(100, 100));
};
// Save as PDF (or use PrintDialog for physical printing)
printDoc.PrintController = new StandardPrintController(); // Silent print
printDoc.Print(); // You'd need to replace this with PDF creation logic.
Application.ExitThread(); // Close the application
};
// Load the HTML file
webBrowser.Url = new Uri(tempFilePath);
Application.Run();
}
}
using System;
using System.IO;
using System.Windows.Forms; // You need to add a reference to System.Windows.Forms
using System.Drawing.Printing;
class Program
{
[STAThread] // Required for using WebBrowser control
static void Main()
{
// HTML content
string htmlContent = "<html><body><h1>Hello, World!</h1></body></html>";
// Write HTML content to a temporary file
string tempFilePath = Path.Combine(Path.GetTempPath(), "temp.html");
File.WriteAllText(tempFilePath, htmlContent);
// Create WebBrowser to render HTML
WebBrowser webBrowser = new WebBrowser();
webBrowser.DocumentCompleted += (sender, e) =>
{
// Print the document to a file
PrintDocument printDoc = new PrintDocument();
printDoc.PrintPage += (s, args) =>
{
args.Graphics.DrawString(htmlContent, new Font("Arial", 12), Brushes.Black, new PointF(100, 100));
};
// Save as PDF (or use PrintDialog for physical printing)
printDoc.PrintController = new StandardPrintController(); // Silent print
printDoc.Print(); // You'd need to replace this with PDF creation logic.
Application.ExitThread(); // Close the application
};
// Load the HTML file
webBrowser.Url = new Uri(tempFilePath);
Application.Run();
}
}
Imports System
Imports System.IO
Imports System.Windows.Forms ' You need to add a reference to System.Windows.Forms
Imports System.Drawing.Printing
Friend Class Program
<STAThread>
Shared Sub Main()
' HTML content
Dim htmlContent As String = "<html><body><h1>Hello, World!</h1></body></html>"
' Write HTML content to a temporary file
Dim tempFilePath As String = Path.Combine(Path.GetTempPath(), "temp.html")
File.WriteAllText(tempFilePath, htmlContent)
' Create WebBrowser to render HTML
Dim webBrowser As New WebBrowser()
AddHandler webBrowser.DocumentCompleted, Sub(sender, e)
' Print the document to a file
Dim printDoc As New PrintDocument()
AddHandler printDoc.PrintPage, Sub(s, args)
args.Graphics.DrawString(htmlContent, New Font("Arial", 12), Brushes.Black, New PointF(100, 100))
End Sub
' Save as PDF (or use PrintDialog for physical printing)
printDoc.PrintController = New StandardPrintController() ' Silent print
printDoc.Print() ' You'd need to replace this with PDF creation logic.
Application.ExitThread() ' Close the application
End Sub
' Load the HTML file
webBrowser.Url = New Uri(tempFilePath)
Application.Run()
End Sub
End Class
$vbLabelText $csharpLabel
Code Erläuterung
Die WebBrowser-Steuerung wird verwendet, um das HTML darzustellen.
Die PrintDocument-Klasse wird verwendet, um das Druckverhalten zu definieren.
Dieses Beispiel erstellt nicht direkt ein PDF; Sie müssten es erweitern, um die Logik für die Erstellung von Roh-PDF-Dateien zu integrieren, z. B. durch manuelles Zeichnen von Text und Formen oder die Arbeit mit Streams.
Dieser Ansatz ist begrenzt und kann bei großen oder gestalteten HTML-Dokumenten komplex werden. Wenn Ihr Anwendungsfall es zulässt, ist die Verwendung einer Bibliothek wie IronPDF in der Regel viel effizienter und funktionsreicher.
Vor- und Nachteile der Verwendung integrierter .NET-Funktionen
Profis
Keine externen Abhängigkeiten: Das Vermeiden externer Bibliotheken kann die Komplexität der Verwaltung von Abhängigkeiten Dritter in Ihrem Projekt reduzieren.
Kostenlos: Da diese Methode nur native .NET-Komponenten verwendet, fallen keine Lizenzgebühren oder zusätzlichen Kosten an.
Feinabstimmung der Kontrolle: Sie haben die volle Kontrolle darüber, wie der Inhalt gerendert und gedruckt wird, was eine individuelle Handhabung ermöglicht.
Nachteile
Begrenzte Funktionen: Die integrierten .NET-Tools verfügen nicht über die Fähigkeiten, komplexes HTML, CSS oder JavaScript genau darzustellen. Erweiterte Layouts, responsive Designs oder dynamische Inhalte werden möglicherweise nicht unterstützt.
Zeitaufwendige Implementierung: Sie müssen benutzerdefinierten Code schreiben, um das Rendering, die Paginierung und die PDF-Erstellung zu verwalten, was zu höheren Entwicklungskosten führen könnte.
Geringe Skalierbarkeit: Für groß angelegte oder leistungsstarke Anwendungen kann dieser Ansatz ineffizient sein und zu Engpässen führen.
Keine native PDF-Unterstützung: Der Arbeitsablauf erstellt nicht direkt PDFs; Sie müssten eine benutzerdefinierte Logik implementieren, um eine PDF-Datei aus der Druckausgabe zu generieren.
Einführung in IronPDF
Von Pixabay hinzufügenHochladen
oder ein Bild hierher ziehen und ablegen
Alternativtext für Bild hinzufügen
IronPDF ist eine .NET-Bibliothek, die Entwicklern ermöglicht, HTML mühelos in PDF zu konvertieren. Es unterstützt eine Vielzahl von Funktionen, einschließlich CSS, JavaScript und sogar eingebetteter Bilder. Mit IronPDF können Sie PDFs erstellen, die genau wie Ihre HTML-Webseiten aussehen und so einen nahtlosen Übergang zwischen den Formaten gewährleisten. Diese Bibliothek ist besonders nützlich für Webanwendungen, die dynamische PDF-Dokumente in Echtzeit erzeugen müssen.
IronPDF ermöglicht es Entwicklern, PDF-Funktionalitäten nahtlos in .NET-Anwendungen zu integrieren, ohne die PDF-Dateistrukturen manuell verwalten zu müssen. IronPDF nutzt die Chrome-basierte Rendering-Engine, um HTML-Seiten (einschließlich komplexem CSS, JavaScript und Bildern) in gut strukturierte PDF-Dokumente umzuwandeln. Es kann verwendet werden, um Berichte, Rechnungen, eBooks oder jede Art von Dokument zu erstellen, das im PDF-Format präsentiert werden muss.
IronPDF ist vielseitig und bietet Funktionen, die nicht nur PDFs rendern, sondern auch eine Vielzahl von PDF-Bearbeitungsoptionen wie Bearbeiten, Formularverwaltung, Verschlüsselung und mehr bereitstellen.
Hauptmerkmale von IronPDF
HTML-zu-PDF-Konvertierung
HTML-Rendering: IronPDF kann HTML-Dateiformatdokumente oder Webseiten (einschließlich HTML mit CSS, Bildern und JavaScript) direkt in ein PDF-Dokument konvertieren. Es kann auch mithilfe einer HTML-Vorlage konvertieren. Dies ist ideal für die Erstellung von PDFs aus dynamischen Webinhalten.
Unterstützung für modernes HTML/CSS: IronPDF verarbeitet modernes HTML5, CSS3 und JavaScript und stellt sicher, dass Ihre webbasierten Inhalte genau als PDF gerendert werden, wobei das Layout, die Schriftarten und interaktiven Elemente erhalten bleiben.
Erweiterte Wiedergabe: Es verwendet die Render-Engine von Chrome (über Chromium) für eine präzise und hochwertige PDF-Erstellung, was es zuverlässiger macht als viele andere HTML-zu-PDF-Bibliotheken.
Website-URL in PDF: IronPDF kann die URL der Website als Eingabe nehmen und in eine PDF-Datei umwandeln.
Benutzerdefinierte Kopf- und Fußzeilen
IronPDF ermöglicht es Entwicklern, benutzerdefinierte Kopf- und Fußzeilen zu PDF-Dokumenten hinzuzufügen, die dynamische Inhalte wie Seitenzahlen, Dokumenttitel oder benutzerdefinierten Text enthalten können.
Kopf- und Fußzeilen können auf einzelnen Seiten hinzugefügt werden oder als konsistente Elemente im gesamten Dokument.
Unterstützung für JavaScript in PDFs
IronPDF ermöglicht die Ausführung von JavaScript innerhalb des HTML-Inhalts vor der PDF-Erstellung. Dies ermöglicht das dynamische Rendering von Inhalten, wie zum Beispiel Formularberechnungen oder Interaktivität in den generierten PDFs.
JavaScript ist nützlich, wenn PDFs aus dynamischen Webseiten erstellt oder Berichte generiert werden, die Client-seitige Logik erfordern.
Bereits bestehende PDFs bearbeiten
IronPDF bietet die Möglichkeit, vorhandene PDFs zu bearbeiten. Sie können Text und Bilder ändern sowie Anmerkungen zu bestehenden PDF-Dateien hinzufügen. Diese Funktion ist nützlich zum Hinzufügen von Wasserzeichen zu Dokumenten, zum Hinzufügen von Signaturen oder zum Aktualisieren von Inhalten innerhalb von PDF-Dateien.
Textextraktion und -modifikation ermöglichen es Ihnen, Inhalte innerhalb eines PDF-Dokuments programmgesteuert zu bearbeiten.
PDFs zusammenführen und trennen
IronPDF ermöglicht es Ihnen, mehrere PDF-Dateien in ein einziges Dokument zu kombinieren oder ein großes PDF in kleinere Dateien zu teilen. Dies ist ideal für Arbeitsabläufe, bei denen Dokumente zusammengefügt oder in handlichere Teile aufgeteilt werden müssen.
Unterstützung für interaktive Formulare
Sie können PDF-Formulare mit IronPDF erstellen, ausfüllen und bearbeiten. Es bietet volle Unterstützung für interaktive Formulare (wie Textfelder, Kontrollkästchen und Optionsfelder) und ermöglicht es Ihnen, Formulare mit Daten vorab zu füllen.
IronPDF ermöglicht auch das Extrahieren von Formulardaten aus vorhandenen PDFs, was das Lesen und die Verarbeitung der Formulardaten programmatisch erleichtert.
Seitenmanipulation
IronPDF bietet verschiedene Methoden zur Manipulation einzelner Seiten innerhalb eines PDF-Dokuments an, wie das Drehen von Seiten, das Löschen von Seiten oder das Neuanordnen von Seiten. Dies hilft bei der Anpassung der Struktur des endgültigen Dokuments.
Sie können auch neue Seiten zu einer bestehenden PDF hinzufügen oder unerwünschte Seiten entfernen.
Sicherheit und Verschlüsselung
IronPDF ermöglicht es Ihnen, Passwörter und Verschlüsselung auf PDFs anzuwenden, um die Sicherheit Ihrer Dokumente zu gewährleisten. Sie können Benutzerberechtigungen festlegen, wie z.B. das Verhindern von Drucken, Kopieren oder Bearbeiten der PDF-Datei.
Digitale Signaturen können auch in PDFs hinzugefügt werden, um die Authentizität zu verifizieren und eine Sicherheitsebene für sensible Dokumente bereitzustellen.
Wasserzeichen und Branding
Das Hinzufügen von Wasserzeichen zu PDF-Dokumenten ist mit IronPDF einfach. Sie können Text oder Bilder als Wasserzeichen auf Seiten überlagern, um einen Schutz gegen unbefugtes Kopieren oder Verbreiten Ihrer Dokumente zu bieten.
Dieses Feature wird häufig für das Branding verwendet, bei dem das Logo oder der Text konsistent auf allen Seiten eines Dokuments erscheinen muss.
Text- und Bildextraktion
IronPDF ermöglicht die Extraktion von Text und Bildern aus PDF-Dokumenten, wodurch Entwickler Daten zur Verarbeitung oder Wiederverwendung extrahieren können.
Dies ist hilfreich für Szenarien, in denen Sie den Inhalt eines PDFs analysieren, Informationen aus Formularen extrahieren oder Bilder für die weitere Verwendung abrufen müssen.
Unicode- und Mehrsprachunterstützung
IronPDF bietet umfassende Unicode-Unterstützung, was bedeutet, dass es internationale Zeichen und Schriften verarbeiten kann, wodurch es ideal für die Erstellung von PDFs in mehreren Sprachen ist.
Es unterstützt Sprachen wie Chinesisch, Arabisch, Russisch und mehr, wodurch die Erstellung mehrsprachiger PDF-Dokumente ermöglicht wird.
Optimiert für Leistung
IronPDF ist für Leistung optimiert und in der Lage, große PDF-Dokumente und ein hohes Aufkommen an Anfragen zu verarbeiten. Die Bibliothek stellt sicher, dass die PDF-Erstellung auch bei der Arbeit mit großen Datensätzen oder Bildern schnell und effizient bleibt.
API- und Entwicklerfreundliche Tools
IronPDF bietet eine umfassende und benutzerfreundliche API. Entwickler können schnell loslegen, indem sie einfache Methodenaufrufe verwenden, um komplexe Aufgaben auszuführen.
Die API ist gut dokumentiert, was die Integration von IronPDF in jede C#- oder .NET-Anwendung erleichtert.
Plattformübergreifende Unterstützung
IronPDF ist plattformübergreifend kompatibel, was bedeutet, dass es sowohl in Windows- als auch in Linux-Umgebungen verwendet werden kann, sodass Sie PDFs auf verschiedenen Betriebssystemen erzeugen und bearbeiten können.
Wie man HTML mit IronPDF in PDF umwandelt
class Program
{
static void Main()
{
// Specify license key
License.LicenseKey = "Yoour Key";
// Create a new HtmlToPdf object
var Renderer = new ChromePdfRenderer();
// Define the HTML string/ HTML code to be converted, can use html document
string htmlContent = "<html><body><h1>IronPDF: Easily Convert HTML to PDF</h1></body></html>";
// Convert pdf simple HTML string to a PDF document
var document = Renderer.RenderHtmlAsPdf(htmlContent);
// Save the PDF output document to a file
document.SaveAs("html2Pdf.pdf"); // path to pdf file generated
}
}
class Program
{
static void Main()
{
// Specify license key
License.LicenseKey = "Yoour Key";
// Create a new HtmlToPdf object
var Renderer = new ChromePdfRenderer();
// Define the HTML string/ HTML code to be converted, can use html document
string htmlContent = "<html><body><h1>IronPDF: Easily Convert HTML to PDF</h1></body></html>";
// Convert pdf simple HTML string to a PDF document
var document = Renderer.RenderHtmlAsPdf(htmlContent);
// Save the PDF output document to a file
document.SaveAs("html2Pdf.pdf"); // path to pdf file generated
}
}
Friend Class Program
Shared Sub Main()
' Specify license key
License.LicenseKey = "Yoour Key"
' Create a new HtmlToPdf object
Dim Renderer = New ChromePdfRenderer()
' Define the HTML string/ HTML code to be converted, can use html document
Dim htmlContent As String = "<html><body><h1>IronPDF: Easily Convert HTML to PDF</h1></body></html>"
' Convert pdf simple HTML string to a PDF document
Dim document = Renderer.RenderHtmlAsPdf(htmlContent)
' Save the PDF output document to a file
document.SaveAs("html2Pdf.pdf") ' path to pdf file generated
End Sub
End Class
$vbLabelText $csharpLabel
Code-Snippet-Erklärung
1. Lizenzschlüssel-Einrichtung
Das Programm beginnt mit der Einstellung des IronPDF-Lizenzschlüssels, der erforderlich ist, um die volle Funktionalität der Bibliothek freizuschalten.
2. Erstellen des Renderers
Eine Instanz von ChromePdfRenderer wird initialisiert. Diese Komponente ist dafür verantwortlich, HTML-Inhalte in ein PDF-Dokument zu konvertieren und fungiert als Brücke zwischen dem rohen HTML und dem Endergebnis.
3. Definieren von HTML-Inhalten
Eine Zeichenfolgenvariable, htmlContent, wird erstellt, um die HTML-Struktur zu speichern, die in ein PDF umgewandelt wird. In diesem Beispiel enthält es eine einfache Überschrift.
4. Konvertieren von HTML in PDF
Die Methode RenderHtmlAsPdf() wird auf der ChromePdfRenderer-Instanz aufgerufen, wobei die HTML-Zeichenkette als Eingabe übergeben wird. Diese Funktion verarbeitet den Inhalt und verwandelt ihn in ein PDF-Dokument.
5. Speichern des PDFs
Schließlich wird das generierte PDF mit der Methode SaveAs() in einer Datei mit dem Namen "html2Pdf.pdf" gespeichert und auf der Festplatte für den späteren Zugriff abgelegt.
Ausgabe
Von Pixabay hinzufügenHochladen
oder ein Bild hierher ziehen und ablegen
Alternativtext für Bild hinzufügen
Lizenzinformationen (Testversion verfügbar)
IronPDF erfordert einen gültigen Lizenzschlüssel für die volle Funktionalität. Sie können eine Testlizenz von der offiziellen Website erhalten. Bevor Sie die IronPDF-Bibliothek verwenden, setzen Sie den Lizenzschlüssel wie folgt:
IronPdf.License.LicenseKey = "your key";
IronPdf.License.LicenseKey = "your key";
IronPdf.License.LicenseKey = "your key"
$vbLabelText $csharpLabel
Dies stellt sicher, dass die Bibliothek ohne Einschränkungen funktioniert.
Schlussfolgerung
Während die Verwendung integrierter .NET-Funktionen zur HTML-zu-PDF-Konvertierung für einfache Anwendungsfälle eine praktikable Lösung sein kann, erfordert sie oft erheblichen Aufwand und es fehlen moderne Fähigkeiten. Im Gegensatz dazu bieten Bibliotheken wie IronPDF robuste Funktionalitäten, schnellere Entwicklung und Unterstützung für fortschrittliches HTML-Rendering, was sie zur bevorzugten Wahl für die meisten Entwickler macht. Die Entscheidung hängt letztendlich von Ihren Projektanforderungen, Ihrem Budget und Ihren Entwicklungsprioritäten ab.
Regan schloss sein Studium an der University of Reading mit einem BA in Elektrotechnik ab. Bevor er zu Iron Software kam, konzentrierte er sich in seinen früheren Jobs auf einzelne Aufgaben. Was ihm bei Iron Software am meisten Spaß macht, ist das Spektrum der Aufgaben, die er übernehmen kann, sei es im Vertrieb, im technischen Support, in der Produktentwicklung oder im Marketing. Es macht ihm Spaß, die Art und Weise zu verstehen, wie Entwickler die Bibliothek von Iron Software nutzen, und dieses Wissen zu nutzen, um die Dokumentation und die Produkte kontinuierlich zu verbessern.
< PREVIOUS HTML-zu-PDF-Konverter C# Open Source (.NET-Bibliothekenvergleich)