HTML in C# in PDF konvertieren (Entwicklerhandbuch)
Die Konvertierung von HTML in PDF in C# erscheint oft einfach, bis reale Anforderungen auftauchen. Entwickler stoßen schnell an Grenzen, die sich auf die Genauigkeit der Darstellung, den Einsatz und die Skalierbarkeit auswirken.
Neben dem Rendering ist auch die Kompatibilität der Infrastruktur entscheidend. Die Teams müssen sicherstellen, dass die PDF-Generierung in modernen .NET-Laufzeiten, Cloud-Plattformen und containerisierten Umgebungen ohne Leistungseinbußen funktioniert.
Um diese Lücken zu schließen, bieten moderne Chrome-basierte Lösungen wie IronPDF eine höhere Rendering-Treue, eine breitere Plattformunterstützung und produktionsreife Bereitstellungs-Workflows, die im weiteren Verlauf dieses Leitfadens Schritt für Schritt erläutert werden.
TL;DR: Schnellstart — HTML in PDF konvertieren
Mit Hilfe der IronPDF -Bibliothek, die die Methode ChromePdfRenderer.RenderHtmlAsPdf zur Erstellung hochwertiger PDF-Dateien aus HTML, CSS und JavaScript bereitstellt, können Sie HTML in C# ganz einfach in PDF konvertieren.
-
Installieren Sie IronPDF mit NuGet Package Manager
PM > Install-Package IronPdf -
Kopieren Sie diesen Codeausschnitt und führen Sie ihn aus.
IronPdf.ChromePdfRenderer .StaticRenderHtmlAsPdf("<p>Hello World</p>") .SaveAs("pixelperfect.pdf"); -
Bereitstellen zum Testen in Ihrer Live-Umgebung
Beginnen Sie noch heute, IronPDF in Ihrem Projekt zu verwenden, mit einer kostenlosen Testversion
Nachdem Sie IronPDF gekauft oder sich für eine 30-tägige Testversion angemeldet haben, finden Sie den Lizenzschlüssel, der an Ihre E-Mail gesendet wurde. Fügen Sie Ihren Lizenzschlüssel am Anfang Ihrer Anwendung hinzu.
IronPdf.License.LicenseKey = "KEY";
IronPdf.License.LicenseKey = "KEY";
Imports IronPdf
IronPdf.License.LicenseKey = "KEY"
Warum .NET-Entwickler einen HTML-zu-PDF-Konverter benötigen
IronPDF nutzt eine eingebettete Google Chromium-Rendering-Engine, um hochdetaillierte Konvertierungen zu gewährleisten, die das Layout und die Stilgebung Ihrer Webinhalte genau bewahren.
✅ Robuste Chrome-Rendering-Engine: Chromes Blink-Engine für genaue HTML-zu-PDF-Konvertierung, jetzt verbessert mit Korrekturen für Speicher, Formulare und Genauigkeit beim Rendern (v2025.9.4)
✅ Pixelgenaue Genauigkeit: Generierte PDFs entsprechen genau der Webseite, nicht einer druckerfreundlichen Version. Aktuelle Korrekturen decken benutzerdefinierte Kopf-/Fußzeilen-Clipping, Graustufen-Texterhaltung und Sonderzeichen/Emojis in Metadaten ab (Stand v2025.9.4)
✅ Volle Unterstützung moderner Webtechnologien: Komplettunterstützung für CSS3, HTML5, JavaScript für alle HTML-Elemente. Aktuelle Verbesserungen betreffen die Behandlung von Formularfeldern für lange Textbereiche und Checkboxen.
✅ 5-20x Leistungssteigerung: Deutlich schneller als Browser-Automatisierung oder Web-Treiber, jetzt mit Speicherleck-Korrekturen und reduzierten Dateigrößen für wiederkehrende Elemente wie Stempel/Kopfzeilen in Batch-Operationen.
✅ PDF/UA-Konformität: Zugängliche PDF-Erzeugung, die den Standards von Section 508 entspricht, verbessert für plattformübergreifendes (z. B. Linux) Formular-Rendering.
✅ Keine externen Abhängigkeiten: Keine auszuführenden Dateien auf Servern zu installieren
✅ Entwickelt für C#, F# & VB.NET auf .NET 10, 9, 8, 7, 6, Core, Standard oder Framework
IronPDF vereinfacht den Prozess für .NET-Entwickler und bietet eine unkomplizierte und effiziente Lösung zur Erzeugung professionell aussehender PDF-Dokumente aus dem HTML Ihrer Webanwendung. Von Rechnungen und Berichten bis zu Zertifikaten und Archiven können Entwickler mit ihrem vertrauten Web-Stack arbeiten, während IronPDF das Komplexe in nur wenigen Codezeilen handhabt.
RELATED: IronPDF Changelog: Updates, milestones, roadmap
Was Sie lernen werden
-
Wie man erweiterte PDF-Erzeugungs- und Sicherheitsfunktionen verwendet
- So generieren Sie eine HTML-Vorlage für die Stapel-PDF-Erstellung
- Wie generiere ich PDF unter Verwendung der Async-Methode
- Wie man erweiterte Sicherheitsfunktionen hinzufügt
- So konvertieren Sie HTML-Formulare in ausfüllbare PDFs
- So konvertieren Sie bestimmte HTML-Elemente in PDF
- So rendern Sie authentifizierte Seiten als PDF
-
Vergleich von IronPDF mit anderen .NET PDF-Bibliotheken
- Schnelle Entscheidungsmatrix: IronPDF im Vergleich zu anderen .NET-PDF-Konvertern
- Detaillierter Vergleich: IronPDF im Vergleich zu anderen .NET-PDF-Konvertern
- Real-life HTML to PDF Conversion Comparison: Rendering von Reddits Homepage
- Schlussfolgerung zur Leistung und Qualität der PDF-Ausgabe
- Zusammenfassung
- Fehlerbehebung und technischer Support
1. How to Convert HTML to PDF C
Egal, ob Sie mit HTML-Strings, URLs oder HTML-Dateien arbeiten, IronPDF bietet flexible Optionen, um hochwertige PDF-Dokumente zu erzeugen, die Ihren spezifischen Anforderungen entsprechen.
In diesem Tutorial führen wir Sie durch die häufigsten Szenarien, einschließlich HTML-String zu PDF, URL zu PDF und HTML-Datei zu PDF. Zusätzlich bietet IronPDF auch eine Vielzahl von Operationen zur Bearbeitung von PDF-Dokumenten:
Wie man HTML-String zu PDF konvertiert
Die grundlegendste Operation ist der HTML-String zu PDF. Diese Methode ist perfekt für dynamisch generierte HTML-Inhalte. Die Methode RenderHtmlAsPdf unterstützt HTML5, CSS3, JavaScript und Bilder vollständig, wenn Sie HTML direkt in PDF konvertieren.
using IronPDF;
// Create the Chrome renderer
var renderer = new ChromePdfRenderer();
// Convert HTML string to PDF
var pdf = renderer.RenderHtmlAsPdf("<h1>Hello IronPdf</h1>");
// Save the PDF
pdf.SaveAs("output.pdf");
using IronPDF;
// Create the Chrome renderer
var renderer = new ChromePdfRenderer();
// Convert HTML string to PDF
var pdf = renderer.RenderHtmlAsPdf("<h1>Hello IronPdf</h1>");
// Save the PDF
pdf.SaveAs("output.pdf");
Imports IronPDF
' Create the Chrome renderer
Dim renderer As New ChromePdfRenderer()
' Convert HTML string to PDF
Dim pdf = renderer.RenderHtmlAsPdf("<h1>Hello IronPdf</h1>")
' Save the PDF
pdf.SaveAs("output.pdf")
Wenn Ihre HTML-Zeichenfolge auf lokale Ressourcen wie Bilder oder Stylesheets verweist, verwenden Sie den Parameter BaseUrlPath, um HTML-Inhalte mit allen Ressourcen korrekt zu konvertieren:
using IronPDF;
var renderer = new ChromePdfRenderer();
// Convert HTML content with local image and CSS references
string html = @"
<link rel='stylesheet' href='styles.css'>
<img src='logo.png' alt='Company Logo'>
<h1>Company Report</h1>
<p>Annual report content...</p>";
// Set base path for resolving relative URLs in HTML to PDF conversion
var pdf = renderer.RenderHtmlAsPdf(html, @"C:\MyProject\Assets\");
pdf.SaveAs("report.pdf");
using IronPDF;
var renderer = new ChromePdfRenderer();
// Convert HTML content with local image and CSS references
string html = @"
<link rel='stylesheet' href='styles.css'>
<img src='logo.png' alt='Company Logo'>
<h1>Company Report</h1>
<p>Annual report content...</p>";
// Set base path for resolving relative URLs in HTML to PDF conversion
var pdf = renderer.RenderHtmlAsPdf(html, @"C:\MyProject\Assets\");
pdf.SaveAs("report.pdf");
Imports IronPDF
Dim renderer As New ChromePdfRenderer()
' Convert HTML content with local image and CSS references
Dim html As String = "
<link rel='stylesheet' href='styles.css'>
<img src='logo.png' alt='Company Logo'>
<h1>Company Report</h1>
<p>Annual report content...</p>"
' Set base path for resolving relative URLs in HTML to PDF conversion
Dim pdf = renderer.RenderHtmlAsPdf(html, "C:\MyProject\Assets\")
pdf.SaveAs("report.pdf")
RELATED HOW-TO ARTICLE: How to Convert HTML String to PDF in C#
Wie man eine bestehende URL in PDF exportiert
Das Rendern ganzer Webseiten zu PDFs mit C# ermöglicht es Teams, PDF-Design und Backend-Rendering-Arbeiten zu trennen. Dieser Ansatz ermöglicht es Ihnen, jede angegebene URL direkt in das PDF-Format zu konvertieren.
Print vs. Screen CSS
Sie können IronPDF so konfigurieren, dass es mit jedem CSS-Medientyp rendert.
using IronPDF;
using IronPdf.Rendering;
// Initialize HTML to PDF converter
var renderer = new ChromePdfRenderer();
// Configure CSS media type for rendering specified URLs
renderer.RenderingOptions.CssMediaType = PdfCssMediaType.Print;
// Screen media type shows the entire web page as displayed on screen
using IronPDF;
using IronPdf.Rendering;
// Initialize HTML to PDF converter
var renderer = new ChromePdfRenderer();
// Configure CSS media type for rendering specified URLs
renderer.RenderingOptions.CssMediaType = PdfCssMediaType.Print;
// Screen media type shows the entire web page as displayed on screen
Imports IronPDF
Imports IronPdf.Rendering
' Initialize HTML to PDF converter
Dim renderer As New ChromePdfRenderer()
' Configure CSS media type for rendering specified URLs
renderer.RenderingOptions.CssMediaType = PdfCssMediaType.Print
' Screen media type shows the entire web page as displayed on screen
JavaScript-Unterstützung
IronPDF unterstützt JavaScript, jQuery und sogar AJAX vollständig, wenn Sie HTML in PDF konvertieren. Für dynamische HTML-Inhalte können Sie IronPDF so konfigurieren, dass es auf den Abschluss von JavaScript wartet, bevor es Webseiten in PDF rendert. Dies ist perfekt für Single-Page-Anwendungen und dynamische Websites.
using IronPDF;
// Configure JavaScript rendering for dynamic HTML content to PDF
var renderer = new ChromePdfRenderer();
// Enable JavaScript execution during PDF generation
renderer.RenderingOptions.EnableJavaScript = true;
// WaitFor.RenderDelay pauses before capturing the HTML
renderer.RenderingOptions.WaitFor.RenderDelay = 500; // milliseconds
using IronPDF;
// Configure JavaScript rendering for dynamic HTML content to PDF
var renderer = new ChromePdfRenderer();
// Enable JavaScript execution during PDF generation
renderer.RenderingOptions.EnableJavaScript = true;
// WaitFor.RenderDelay pauses before capturing the HTML
renderer.RenderingOptions.WaitFor.RenderDelay = 500; // milliseconds
Imports IronPDF
' Configure JavaScript rendering for dynamic HTML content to PDF
Dim renderer As New ChromePdfRenderer()
' Enable JavaScript execution during PDF generation
renderer.RenderingOptions.EnableJavaScript = True
' WaitFor.RenderDelay pauses before capturing the HTML
renderer.RenderingOptions.WaitFor.RenderDelay = 500 ' milliseconds
Die JavaScript-Ausführung kann auch angezeigt werden, wenn ein fortgeschrittener d3.js-Akkord-Diagramm von einer Webseite in das PDF-Format gerendert wird:
using IronPDF;
// Create renderer for JavaScript-heavy HTML
var renderer = new ChromePdfRenderer();
// Convert d3.js visualization web page to PDF
var pdf = renderer.RenderUrlAsPdf("https://bl.ocks.org/mbostock/4062006");
// Save the interactive chart as static PDF
pdf.SaveAs("chart.pdf");
using IronPDF;
// Create renderer for JavaScript-heavy HTML
var renderer = new ChromePdfRenderer();
// Convert d3.js visualization web page to PDF
var pdf = renderer.RenderUrlAsPdf("https://bl.ocks.org/mbostock/4062006");
// Save the interactive chart as static PDF
pdf.SaveAs("chart.pdf");
Imports IronPDF
' Create renderer for JavaScript-heavy HTML
Dim renderer As New ChromePdfRenderer()
' Convert d3.js visualization web page to PDF
Dim pdf = renderer.RenderUrlAsPdf("https://bl.ocks.org/mbostock/4062006")
' Save the interactive chart as static PDF
pdf.SaveAs("chart.pdf")
Responsive CSS
Da responsive Webseiten für die Anzeige im Browser konzipiert sind und IronPDF kein echtes Browserfenster auf dem Server-Betriebssystem öffnet, werden responsive HTML-Elemente möglicherweise in ihrer kleinsten Größe dargestellt. Es wird empfohlen, dieses Problem beim Rendern ganzer Webseiten zu beheben (siehe PdfCssMediaType.Print).
// Configure for optimal responsive design handling in HTML to PDF
renderer.RenderingOptions.CssMediaType = IronPdf.Rendering.PdfCssMediaType.Print;
// Configure for optimal responsive design handling in HTML to PDF
renderer.RenderingOptions.CssMediaType = IronPdf.Rendering.PdfCssMediaType.Print;
```vbnet
' Configure for optimal responsive design handling in HTML to PDF
renderer.RenderingOptions.CssMediaType = IronPdf.Rendering.PdfCssMediaType.Print
```
RELATED HOW-TO ARTICLE: How to Render URL to PDF
Wie man HTML-Datei zu PDF konvertiert
Das Konvertieren lokaler HTML-Dateien in PDF bewahrt alle relativen Ressourcen, einschließlich CSS, Bilder und JavaScript, als ob sie mit dem file://-Protokoll geöffnet würden. Diese HTML-zu-PDF-Methode eignet sich am besten zum Konvertieren von Vorlagen oder vordesignierten HTML-Seiten in PDF-Dokumente.
using IronPDF;
// Initialize ChromePdfRenderer for HTML file conversion
var renderer = new ChromePdfRenderer();
// Convert HTML file to PDF documents
// Preserves all relative paths and linked resources in HTML
var pdf = renderer.RenderHtmlFileAsPdf("Assets/TestInvoice1.html");
// Save the HTML file as PDF
pdf.SaveAs("Invoice.pdf");
// All CSS, JavaScript, and images load correctly in the generated PDF
using IronPDF;
// Initialize ChromePdfRenderer for HTML file conversion
var renderer = new ChromePdfRenderer();
// Convert HTML file to PDF documents
// Preserves all relative paths and linked resources in HTML
var pdf = renderer.RenderHtmlFileAsPdf("Assets/TestInvoice1.html");
// Save the HTML file as PDF
pdf.SaveAs("Invoice.pdf");
// All CSS, JavaScript, and images load correctly in the generated PDF
Imports IronPDF
' Initialize ChromePdfRenderer for HTML file conversion
Dim renderer As New ChromePdfRenderer()
' Convert HTML file to PDF documents
' Preserves all relative paths and linked resources in HTML
Dim pdf = renderer.RenderHtmlFileAsPdf("Assets/TestInvoice1.html")
' Save the HTML file as PDF
pdf.SaveAs("Invoice.pdf")
' All CSS, JavaScript, and images load correctly in the generated PDF
RELATED HOW-TO Article: Render HTML File to PDF
So konvertieren Sie Razor Pages in PDF
Wenn Ihr ASP.NET Core Projekt bereits Razor Pages verwendet, können Sie diese direkt in PDF konvertieren, ohne Ihr HTML neu zu erstellen. Die Razor Erweiterung von IronPDF fügt die Methode RenderRazorToPdf hinzu, die Ihre .cshtml-Seite – komplett mit Modell und Layout – in einem einzigen Aufruf als PDF-Dokument rendert.
PM > Install-Package IronPdf.Extensions.Razor
PM > Install-Package IronPdf.Extensions.Razor
using IronPDF;
var renderer = new ChromePdfRenderer();
// Render a Razor Page directly to PDF
PdfDocument pdf = renderer.RenderRazorToPdf(this);
Response.Headers.Add("Content-Disposition", "inline");
return new FileContentResult(pdf.BinaryData, "application/pdf");
using IronPDF;
var renderer = new ChromePdfRenderer();
// Render a Razor Page directly to PDF
PdfDocument pdf = renderer.RenderRazorToPdf(this);
Response.Headers.Add("Content-Disposition", "inline");
return new FileContentResult(pdf.BinaryData, "application/pdf");
Imports IronPDF
Dim renderer As New ChromePdfRenderer()
' Render a Razor Page directly to PDF
Dim pdf As PdfDocument = renderer.RenderRazorToPdf(Me)
Response.Headers.Add("Content-Disposition", "inline")
Return New FileContentResult(pdf.BinaryData, "application/pdf")
RELATED HOW-TO Article: How to Convert CSHTML to PDF in Razor Pages
Wie man MVC-Ansichten in PDF konvertiert
Teams, die das MVC-Muster verwenden, können PDFs direkt aus ihren bestehenden Views und Controllern generieren. Installieren Sie das MVC Core-Erweiterungspaket und rufen Sie dann RenderRazorViewToPdf mit Ihrem Ansichtspfad und Modell auf — IronPDF übernimmt die Razor Rendering-Pipeline und gibt ein fertiges PDF aus.
Dies ist besonders nützlich für Berichte, Rechnungen und alle Seiten, deren HTML-Code bereits im Browser entworfen und getestet wurde. Die generierte PDF-Datei bewahrt die vollständige Ansichtsausgabe, einschließlich Layoutseiten und Teilansichten.
PM > Install-Package IronPdf.Extensions.Mvc.Core
PM > Install-Package IronPdf.Extensions.Mvc.Core
Registrieren Sie zunächst den Dienst IRazorViewRenderer in Ihrer Program.cs-Datei, damit Ihre Controller ihn einbinden können:
using IronPdf.Extensions.Mvc.Core;
var builder = WebApplication.CreateBuilder(args);
builder.Services.AddControllersWithViews();
// Register the Razor view renderer for IronPDF
builder.Services.AddSingleton<IHttpContextAccessor, HttpContextAccessor>();
builder.Services.AddSingleton<IRazorViewRenderer, RazorViewRenderer>();
using IronPdf.Extensions.Mvc.Core;
var builder = WebApplication.CreateBuilder(args);
builder.Services.AddControllersWithViews();
// Register the Razor view renderer for IronPDF
builder.Services.AddSingleton<IHttpContextAccessor, HttpContextAccessor>();
builder.Services.AddSingleton<IRazorViewRenderer, RazorViewRenderer>();
Imports IronPdf.Extensions.Mvc.Core
Dim builder = WebApplication.CreateBuilder(args)
builder.Services.AddControllersWithViews()
' Register the Razor view renderer for IronPDF
builder.Services.AddSingleton(Of IHttpContextAccessor, HttpContextAccessor)()
builder.Services.AddSingleton(Of IRazorViewRenderer, RazorViewRenderer)()
Anschließend können Sie in Ihrer Controller-Aktion den Renderer einbinden und jede Ansicht in ein PDF konvertieren:
using IronPDF;
using IronPdf.Extensions.Mvc.Core;
var renderer = new ChromePdfRenderer();
// Render an MVC View with model data to PDF
PdfDocument pdf = renderer.RenderRazorViewToPdf(
_viewRenderService, "Views/Home/Report.cshtml", reportModel);
Response.Headers.Add("Content-Disposition", "inline");
return new FileContentResult(pdf.BinaryData, "application/pdf");
using IronPDF;
using IronPdf.Extensions.Mvc.Core;
var renderer = new ChromePdfRenderer();
// Render an MVC View with model data to PDF
PdfDocument pdf = renderer.RenderRazorViewToPdf(
_viewRenderService, "Views/Home/Report.cshtml", reportModel);
Response.Headers.Add("Content-Disposition", "inline");
return new FileContentResult(pdf.BinaryData, "application/pdf");
Imports IronPDF
Imports IronPdf.Extensions.Mvc.Core
Dim renderer As New ChromePdfRenderer()
' Render an MVC View with model data to PDF
Dim pdf As PdfDocument = renderer.RenderRazorViewToPdf(_viewRenderService, "Views/Home/Report.cshtml", reportModel)
Response.Headers.Add("Content-Disposition", "inline")
Return New FileContentResult(pdf.BinaryData, "application/pdf")
RELATED HOW-TO Article: How to Convert Views to PDF in ASP.NET Core MVC
2. Wie man HTML-zu-PDF-Einstellungen konfiguriert
Im Hinblick auf die Bearbeitung von PDF-Dokumenten bietet IronPDF umfangreiche Anpassungsmöglichkeiten durch die ChromePdfRenderer.RenderingOptions-Eigenschaft für gerenderte PDFs.
| Einstellungen | Beschreibung | Beispiel |
|---|---|---|
| Papiergröße | Seitendimensionen für bestehende PDFs einstellen (A4, Letter, Legal, etc.) | `PdfPaperSize.A4` |
| Papierausrichtung | Hoch- oder Querformat für vorhandene PDFs einstellen | `PdfPaperOrientation.Landscape` |
| RandOben/Unten/Links/Rechts | Seitenränder in Millimetern einstellen (Standard: 25mm) | |
| CSS-Medientyp | CSS für HTML zu PDF anzeigen oder drucken | `PdfCssMediaType.Print` |
| PrintHtmlBackgrounds | Hintergrundfarben/Bilder einfügen (Standard: true) | WAHR |
| JavaScript aktivieren | JavaScript vor dem Rendern von HTML-Inhalten ausführen | WAHR |
| WaitFor.RenderDelay | Wartezeit für dynamische HTML-Inhalte (ms) | 500 |
Sehen Sie sich diesen Codeausschnitt für ein vollständiges Konfigurationsbeispiel zur Bearbeitung von PDF-Dokumenten an:
using IronPDF;
using IronPdf.Rendering;
var renderer = new ChromePdfRenderer();
// Apply print-specific CSS rules
renderer.RenderingOptions.CssMediaType = PdfCssMediaType.Print;
// Set custom margins in millimeters
renderer.RenderingOptions.MarginTop = 50;
renderer.RenderingOptions.MarginBottom = 50;
// Enable background colors and images
renderer.RenderingOptions.PrintHtmlBackgrounds = true;
// Set paper size and orientation
renderer.RenderingOptions.PaperSize = PdfPaperSize.A4;
renderer.RenderingOptions.PaperOrientation = PdfPaperOrientation.Landscape;
// Generate PDFs with all settings applied to HTML content
var htmlContent = "<div style='background-color: #f0f0f0; padding: 20px;'><h1>Styled Content</h1></div>";
var pdfDocument = renderer.RenderHtmlAsPdf(htmlContent);
pdfDocument.SaveAs("styled-output.pdf");
using IronPDF;
using IronPdf.Rendering;
var renderer = new ChromePdfRenderer();
// Apply print-specific CSS rules
renderer.RenderingOptions.CssMediaType = PdfCssMediaType.Print;
// Set custom margins in millimeters
renderer.RenderingOptions.MarginTop = 50;
renderer.RenderingOptions.MarginBottom = 50;
// Enable background colors and images
renderer.RenderingOptions.PrintHtmlBackgrounds = true;
// Set paper size and orientation
renderer.RenderingOptions.PaperSize = PdfPaperSize.A4;
renderer.RenderingOptions.PaperOrientation = PdfPaperOrientation.Landscape;
// Generate PDFs with all settings applied to HTML content
var htmlContent = "<div style='background-color: #f0f0f0; padding: 20px;'><h1>Styled Content</h1></div>";
var pdfDocument = renderer.RenderHtmlAsPdf(htmlContent);
pdfDocument.SaveAs("styled-output.pdf");
Imports IronPDF
Imports IronPdf.Rendering
Dim renderer As New ChromePdfRenderer()
' Apply print-specific CSS rules
renderer.RenderingOptions.CssMediaType = PdfCssMediaType.Print
' Set custom margins in millimeters
renderer.RenderingOptions.MarginTop = 50
renderer.RenderingOptions.MarginBottom = 50
' Enable background colors and images
renderer.RenderingOptions.PrintHtmlBackgrounds = True
' Set paper size and orientation
renderer.RenderingOptions.PaperSize = PdfPaperSize.A4
renderer.RenderingOptions.PaperOrientation = PdfPaperOrientation.Landscape
' Generate PDFs with all settings applied to HTML content
Dim htmlContent As String = "<div style='background-color: #f0f0f0; padding: 20px;'><h1>Styled Content</h1></div>"
Dim pdfDocument = renderer.RenderHtmlAsPdf(htmlContent)
pdfDocument.SaveAs("styled-output.pdf")
VERWANDTE HOW-TO-ARTIKEL:
| Maßgeschneiderte PDF-Konvertierung | PDF-Layout verfeinern |
|---|---|
So legen Sie benutzerdefinierte HTTP-Header, Cookies und Anmeldeinformationen fest
Beim Rendern von URLs, die eine Authentifizierung oder spezifische Anfragemetadaten erfordern, ermöglicht IronPDF das Einbinden von Anmeldeinformationen, Session-Cookies und HTTP-Headern in die Anfrage. Dadurch können Intranet-Dashboards, eingeschränkte Berichte oder API-generierte Seiten direkt als PDF gerendert werden, ohne dass der HTML-Code separat abgerufen werden muss.
Für die Basis- oder NTLM-Authentifizierung muss ein LoginCredentials-Objekt auf dem Renderer festgelegt werden. Für token- oder sitzungsbasierten Zugriff müssen Cookies und Header über RenderingOptions weitergeleitet werden, bevor RenderUrlAsPdf aufgerufen wird.
using IronPDF;
var renderer = new ChromePdfRenderer();
// Network authentication (Basic, Digest, NTLM)
renderer.LoginCredentials = new ChromeHttpLoginCredentials
{
NetworkUsername = "user@domain.com",
NetworkPassword = "securePassword"
};
// Session cookies for authenticated pages
renderer.RenderingOptions.CustomCookies["sessionId"] = "abc123";
// Custom HTTP headers (e.g., Bearer tokens, API keys)
renderer.RenderingOptions.CustomHttpRequestHeaders["Authorization"] = "Bearer eyJhbGciOi...";
var pdf = renderer.RenderUrlAsPdf("https://intranet.company.com/quarterly-report");
pdf.SaveAs("quarterly-report.pdf");
using IronPDF;
var renderer = new ChromePdfRenderer();
// Network authentication (Basic, Digest, NTLM)
renderer.LoginCredentials = new ChromeHttpLoginCredentials
{
NetworkUsername = "user@domain.com",
NetworkPassword = "securePassword"
};
// Session cookies for authenticated pages
renderer.RenderingOptions.CustomCookies["sessionId"] = "abc123";
// Custom HTTP headers (e.g., Bearer tokens, API keys)
renderer.RenderingOptions.CustomHttpRequestHeaders["Authorization"] = "Bearer eyJhbGciOi...";
var pdf = renderer.RenderUrlAsPdf("https://intranet.company.com/quarterly-report");
pdf.SaveAs("quarterly-report.pdf");
Imports IronPDF
Dim renderer As New ChromePdfRenderer()
' Network authentication (Basic, Digest, NTLM)
renderer.LoginCredentials = New ChromeHttpLoginCredentials With {
.NetworkUsername = "user@domain.com",
.NetworkPassword = "securePassword"
}
' Session cookies for authenticated pages
renderer.RenderingOptions.CustomCookies("sessionId") = "abc123"
' Custom HTTP headers (e.g., Bearer tokens, API keys)
renderer.RenderingOptions.CustomHttpRequestHeaders("Authorization") = "Bearer eyJhbGciOi..."
Dim pdf = renderer.RenderUrlAsPdf("https://intranet.company.com/quarterly-report")
pdf.SaveAs("quarterly-report.pdf")
VERWANDTE HOW-TO-ARTIKEL: Render PDFs Behind Login Authentication | Custom HTTP Request Headers
So konfigurieren Sie einen Proxy für die PDF-Darstellung
Beim Rendern von HTML, das externe Ressourcen hinter einem Unternehmensproxy lädt, übergeben Sie die Proxy-Adresse als dritten Parameter an RenderHtmlAsPdf(). Dies ist ein Methodenparameter, keine Eigenschaft von ChromePdfRenderOptions — er wird also pro Renderaufruf festgelegt, nicht auf der Renderer-Instanz.
Bei authentifizierten Proxys betten Sie die Anmeldeinformationen direkt in die URL im Format http://user:pass@host:port ein. URL-kodieren Sie Sonderzeichen in Passwörtern mit Uri.EscapeDataString().
using IronPDF;
var renderer = new ChromePdfRenderer();
// Proxy is the third parameter — not a render option
PdfDocument pdf = renderer.RenderHtmlAsPdf(
"<h1>Report</h1><link rel='stylesheet' href='https://cdn.example.com/styles.css'>",
baseUrlOrPath: null,
proxy: "http://proxy.corp.local:8080"
);
pdf.SaveAs("proxied-report.pdf");
using IronPDF;
var renderer = new ChromePdfRenderer();
// Proxy is the third parameter — not a render option
PdfDocument pdf = renderer.RenderHtmlAsPdf(
"<h1>Report</h1><link rel='stylesheet' href='https://cdn.example.com/styles.css'>",
baseUrlOrPath: null,
proxy: "http://proxy.corp.local:8080"
);
pdf.SaveAs("proxied-report.pdf");
Imports IronPDF
Dim renderer As New ChromePdfRenderer()
' Proxy is the third parameter — not a render option
Dim pdf As PdfDocument = renderer.RenderHtmlAsPdf(
"<h1>Report</h1><link rel='stylesheet' href='https://cdn.example.com/styles.css'>",
baseUrlOrPath:=Nothing,
proxy:="http://proxy.corp.local:8080"
)
pdf.SaveAs("proxied-report.pdf")
Beachten Sie, dass RenderUrlAsPdf() keinen Proxy-Parameter akzeptiert. Um eine Live-URL hinter einem Proxy zu rendern, rufen Sie zuerst das HTML mit HttpClient ab, das mit WebProxy konfiguriert ist, und übergeben Sie es dann mit dem Proxy-Parameter zum Laden der Assets an RenderHtmlAsPdf().
RELATED HOW-TO Article: How to Configure Proxy Servers for PDF Rendering
3. Wie man erweiterte PDF-Generierungs- & Sicherheitsfunktionen verwendet
Schalten Sie Unternehmensfunktionen für die HTML-zu-PDF-Konvertierung mit erweiterten Vorlagen, Async-Operationen und Sicherheitsfunktionen frei. Diese PDF-Bearbeitungsmethoden ermöglichen es Ihnen, PDF-Dokumente in großem Maßstab zu erstellen, sensible PDF-Dateien zu schützen und die Echtheit von Dokumenten zu gewährleisten, wenn Sie HTML in professionelles PDF-Format konvertieren.
Wie man eine HTML-Vorlage für Batch-PDF-Erstellung generiert
Einfaches Batching von PDF-Erstellung
Batch-PDF-Erstellung ist unerlässlich für das effiziente Erzeugen mehrerer personalisierter PDF-Dokumente. Für einfache Szenarien eignet sich die String.Format-Methode in C# am besten für die einfache PDF-Manipulation.
// Simple HTML templating with String.Format
string htmlTemplate = String.Format("<h1>Hello {0}!</h1>", "World");
// Results in HTML content: <h1>Hello World!</h1>
// Simple HTML templating with String.Format
string htmlTemplate = String.Format("<h1>Hello {0}!</h1>", "World");
// Results in HTML content: <h1>Hello World!</h1>
' Simple HTML templating with String.Format
Dim htmlTemplate As String = String.Format("<h1>Hello {0}!</h1>", "World")
' Results in HTML content: <h1>Hello World!</h1>
Für längere Vorlagen, wenn Sie PDF-Dokumente generieren müssen, verwenden Sie Platzhalterersetzung in Ihren HTML-Inhalten: using IronPDF;
// Define reusable HTML template for PDF files
var htmlTemplate = "<p>Dear [[NAME]],</p><p>Thank you for your order.</p>";
// Customer names for batch PDF conversion processing
var names = new[] { "John", "James", "Jenny" };
// Create personalized PDF documents for each customer
var renderer = new ChromePdfRenderer();
foreach (var name in names)
{
// Replace placeholder with actual data in HTML string
var htmlInstance = htmlTemplate.Replace("[[NAME]]", name);
// Generate personalized PDF document from HTML content
var pdf = renderer.RenderHtmlAsPdf(htmlInstance);
// Save with customer-specific filename as PDF files
pdf.SaveAs($"{name}-invoice.pdf");
}
// Define reusable HTML template for PDF files
var htmlTemplate = "<p>Dear [[NAME]],</p><p>Thank you for your order.</p>";
// Customer names for batch PDF conversion processing
var names = new[] { "John", "James", "Jenny" };
// Create personalized PDF documents for each customer
var renderer = new ChromePdfRenderer();
foreach (var name in names)
{
// Replace placeholder with actual data in HTML string
var htmlInstance = htmlTemplate.Replace("[[NAME]]", name);
// Generate personalized PDF document from HTML content
var pdf = renderer.RenderHtmlAsPdf(htmlInstance);
// Save with customer-specific filename as PDF files
pdf.SaveAs($"{name}-invoice.pdf");
}
' Define reusable HTML template for PDF files
Dim htmlTemplate As String = "<p>Dear [[NAME]],</p><p>Thank you for your order.</p>"
' Customer names for batch PDF conversion processing
Dim names As String() = {"John", "James", "Jenny"}
' Create personalized PDF documents for each customer
Dim renderer As New ChromePdfRenderer()
For Each name In names
' Replace placeholder with actual data in HTML string
Dim htmlInstance As String = htmlTemplate.Replace("[[NAME]]", name)
' Generate personalized PDF document from HTML content
Dim pdf = renderer.RenderHtmlAsPdf(htmlInstance)
' Save with customer-specific filename as PDF files
pdf.SaveAs($"{name}-invoice.pdf")
Next
HTML zu PDF-Vorlage mit Handlebars.NET
Für komplexe Vorlagen mit Schleifen und Bedingungen beim Konvertieren von HTML in PDF verwenden Sie die erweiterte Vorlagenfunktion mit Handlebars.NET, um PDF-Dokumente mit dynamischem HTML-Inhalt zu generieren.
# First, install Handlebars.NET for HTML to PDF templating
PM > Install-Package Handlebars.NET
# First, install Handlebars.NET for HTML to PDF templating
PM > Install-Package Handlebars.NET
using HandlebarsDotNet;
using IronPDF;
// Define Handlebars template with placeholders for HTML content
var source =
@"<div class=""entry"">
<h1>{{title}}</h1>
<div class=""body"">
{{body}}
</div>
</div>";
// Compile template for reuse in PDF conversion
var template = Handlebars.Compile(source);
// Create data object (can be database records) for HTML to PDF directly
var data = new {
title = "Monthly Report",
body = "Sales increased by 15% this month."
};
// Merge template with data to create HTML content
var htmlResult = template(data);
// Convert templated HTML to PDF using the PDF converter
var renderer = new ChromePdfRenderer();
var pdf = renderer.RenderHtmlAsPdf(htmlResult);
pdf.SaveAs("monthly-report.pdf");
using HandlebarsDotNet;
using IronPDF;
// Define Handlebars template with placeholders for HTML content
var source =
@"<div class=""entry"">
<h1>{{title}}</h1>
<div class=""body"">
{{body}}
</div>
</div>";
// Compile template for reuse in PDF conversion
var template = Handlebars.Compile(source);
// Create data object (can be database records) for HTML to PDF directly
var data = new {
title = "Monthly Report",
body = "Sales increased by 15% this month."
};
// Merge template with data to create HTML content
var htmlResult = template(data);
// Convert templated HTML to PDF using the PDF converter
var renderer = new ChromePdfRenderer();
var pdf = renderer.RenderHtmlAsPdf(htmlResult);
pdf.SaveAs("monthly-report.pdf");
Imports HandlebarsDotNet
Imports IronPDF
' Define Handlebars template with placeholders for HTML content
Dim source As String =
"<div class=""entry"">
<h1>{{title}}</h1>
<div class=""body"">
{{body}}
</div>
</div>"
' Compile template for reuse in PDF conversion
Dim template = Handlebars.Compile(source)
' Create data object (can be database records) for HTML to PDF directly
Dim data = New With {
.title = "Monthly Report",
.body = "Sales increased by 15% this month."
}
' Merge template with data to create HTML content
Dim htmlResult = template(data)
' Convert templated HTML to PDF using the PDF converter
Dim renderer = New ChromePdfRenderer()
Dim pdf = renderer.RenderHtmlAsPdf(htmlResult)
pdf.SaveAs("monthly-report.pdf")
RELATED HOW-TO ARTICLE: Learn more about Handlebars.NET on GitHub
PDF-Seitenumbrüche kontrollieren:
Die Verwaltung des Seitenumbruchs in generierten PDF-Dokumenten gewährleistet professionelle, lesbare Layouts, wenn Sie HTML-Schnipsel konvertieren. Verwenden Sie CSS, um den Seitenumbruch in Ihren PDF-Dateien zu steuern.<!DOCTYPE html>
<html>
<head>
<style type="text/css" media="print">
.page {
page-break-after: always;
page-break-inside: avoid;
}
</style>
</head>
<body>
<div class="page">
<h1>Page 1 Content</h1>
</div>
<div class="page">
<h1>Page 2 Content</h1>
</div>
<div class="page">
<h1>Page 3 Content</h1>
</div>
</body>
</html>
<!DOCTYPE html>
<html>
<head>
<style type="text/css" media="print">
.page {
page-break-after: always;
page-break-inside: avoid;
}
</style>
</head>
<body>
<div class="page">
<h1>Page 1 Content</h1>
</div>
<div class="page">
<h1>Page 2 Content</h1>
</div>
<div class="page">
<h1>Page 3 Content</h1>
</div>
</body>
</html>
Wie man PDF mit der Async-Methode generiert
IronPDF liefert Enterprise-Performance mit voller Async- und Multithreading-Unterstützung für Ihre Anforderungen an die HTML-zu-PDF-Konvertierung, wenn Sie PDF-Dateien in großem Maßstab erzeugen müssen.
using IronPDF;
using System.Threading.Tasks;
// Async method for non-blocking PDF generation from HTML content
public async Task<byte[]> GeneratePdfAsync(string html)
{
var renderer = new ChromePdfRenderer();
// Async HTML to PDF conversion preserves thread pool
var pdf = await renderer.RenderHtmlAsPdfAsync(html);
// Return PDF files as byte array for web responses
return pdf.BinaryData;
}
// Concurrent batch PDF generation for multiple HTML strings
public async Task GenerateMultiplePdfsAsync(List<string> htmlVorlagen)
{
var renderer = new ChromePdfRenderer();
// Create parallel conversion tasks to generate PDF documents
var tasks = htmlVorlagen.Select(html =>
renderer.RenderHtmlAsPdfAsync(html)
);
// Await all PDF conversions simultaneously
var pdfs = await Task.WhenAll(tasks);
// Save generated PDF files from HTML content
for (int i = 0; i < pdfs.Length; i++)
{
pdfs[i].SaveAs($"document-{i}.pdf");
}
}
using IronPDF;
using System.Threading.Tasks;
// Async method for non-blocking PDF generation from HTML content
public async Task<byte[]> GeneratePdfAsync(string html)
{
var renderer = new ChromePdfRenderer();
// Async HTML to PDF conversion preserves thread pool
var pdf = await renderer.RenderHtmlAsPdfAsync(html);
// Return PDF files as byte array for web responses
return pdf.BinaryData;
}
// Concurrent batch PDF generation for multiple HTML strings
public async Task GenerateMultiplePdfsAsync(List<string> htmlVorlagen)
{
var renderer = new ChromePdfRenderer();
// Create parallel conversion tasks to generate PDF documents
var tasks = htmlVorlagen.Select(html =>
renderer.RenderHtmlAsPdfAsync(html)
);
// Await all PDF conversions simultaneously
var pdfs = await Task.WhenAll(tasks);
// Save generated PDF files from HTML content
for (int i = 0; i < pdfs.Length; i++)
{
pdfs[i].SaveAs($"document-{i}.pdf");
}
}
Imports IronPDF
Imports System.Threading.Tasks
' Async method for non-blocking PDF generation from HTML content
Public Async Function GeneratePdfAsync(html As String) As Task(Of Byte())
Dim renderer As New ChromePdfRenderer()
' Async HTML to PDF conversion preserves thread pool
Dim pdf = Await renderer.RenderHtmlAsPdfAsync(html)
' Return PDF files as byte array for web responses
Return pdf.BinaryData
End Function
' Concurrent batch PDF generation for multiple HTML strings
Public Async Function GenerateMultiplePdfsAsync(htmlVorlagen As List(Of String)) As Task
Dim renderer As New ChromePdfRenderer()
' Create parallel conversion tasks to generate PDF documents
Dim tasks = htmlVorlagen.Select(Function(html) renderer.RenderHtmlAsPdfAsync(html))
' Await all PDF conversions simultaneously
Dim pdfs = Await Task.WhenAll(tasks)
' Save generated PDF files from HTML content
For i As Integer = 0 To pdfs.Length - 1
pdfs(i).SaveAs($"document-{i}.pdf")
Next
End Function
- Verwenden Sie 64-Bit-Systeme für optimale PDF-Erzeugungsleistung.
- Sorgen Sie für ausreichende Serverressourcen, wenn Sie PDF-Dokumente generieren (vermeiden Sie unzureichende Gratisangebote)
- Gewähren Sie ausreichende RenderDelay für komplexes JavaScript in HTML-Inhalten.
ChromePdfRendererInstanzen nach Möglichkeit wiederverwenden.- Nutzen Sie die Speicheroptimierungen von v2025.9.4 für Batch-Operationen zur Reduzierung der Ressourcennutzung; testen Sie für reduzierte Dateigrößen mit wiederkehrenden benutzerdefinierten Kopf-/Fußzeilen.
RELATED HOW-TO Article: How to Generate PDFs with Async and Multithreading
Wie man erweiterte Sicherheitsfunktionen hinzufügt
Wie man PDF-Dateien in .NET mit einem Passwort schützt
Schützen Sie empfindliche generierte PDF-Dokumente mit Passwörtern und Berechtigungen, wenn Sie HTML-Inhalte in geschütztes PDF-Format konvertieren.
using IronPDF;
var renderer = new ChromePdfRenderer();
// Convert HTML to PDF with security
var pdf = renderer.RenderHtmlAsPdf("<h1>Confidential Report</h1>");
// Configure security settings for PDF files
pdf.SecuritySettings.UserPassword = "user123"; // Password to open PDF documents
pdf.SecuritySettings.OwnerPassword = "owner456"; // Password to modify PDF files
// Set granular permissions for PDF format
pdf.SecuritySettings.AllowUserCopyPasteContent = false;
pdf.SecuritySettings.AllowUserAnnotations = false;
pdf.SecuritySettings.AllowUserPrinting = PrintPermissions.LowQualityPrint;
// Apply strong encryption to PDF documents
pdf.SecuritySettings.EncryptionAlgorithm = PdfEncryptionAlgorithm.AES256;
pdf.SaveAs("secure-document.pdf");
using IronPDF;
var renderer = new ChromePdfRenderer();
// Convert HTML to PDF with security
var pdf = renderer.RenderHtmlAsPdf("<h1>Confidential Report</h1>");
// Configure security settings for PDF files
pdf.SecuritySettings.UserPassword = "user123"; // Password to open PDF documents
pdf.SecuritySettings.OwnerPassword = "owner456"; // Password to modify PDF files
// Set granular permissions for PDF format
pdf.SecuritySettings.AllowUserCopyPasteContent = false;
pdf.SecuritySettings.AllowUserAnnotations = false;
pdf.SecuritySettings.AllowUserPrinting = PrintPermissions.LowQualityPrint;
// Apply strong encryption to PDF documents
pdf.SecuritySettings.EncryptionAlgorithm = PdfEncryptionAlgorithm.AES256;
pdf.SaveAs("secure-document.pdf");
Imports IronPDF
Dim renderer As New ChromePdfRenderer()
' Convert HTML to PDF with security
Dim pdf = renderer.RenderHtmlAsPdf("<h1>Confidential Report</h1>")
' Configure security settings for PDF files
pdf.SecuritySettings.UserPassword = "user123" ' Password to open PDF documents
pdf.SecuritySettings.OwnerPassword = "owner456" ' Password to modify PDF files
' Set granular permissions for PDF format
pdf.SecuritySettings.AllowUserCopyPasteContent = False
pdf.SecuritySettings.AllowUserAnnotations = False
pdf.SecuritySettings.AllowUserPrinting = PrintPermissions.LowQualityPrint
' Apply strong encryption to PDF documents
pdf.SecuritySettings.EncryptionAlgorithm = PdfEncryptionAlgorithm.AES256
pdf.SaveAs("secure-document.pdf")
Wie man digitale Signaturen zu PDF-Dateien hinzufügt
Fügen Sie kryptografische Signaturen hinzu, um die Echtheit von PDF-Dokumenten zu gewährleisten, wenn Sie PDF-Dateien aus HTML-Inhalten generieren.
using IronPDF;
using IronPdf.Signing;
var renderer = new ChromePdfRenderer();
// Generate PDF from HTML page
var pdf = renderer.RenderHtmlAsPdf("<h1>Contract Agreement</h1>");
// Create digital signature with certificate for PDF files
var signature = new PdfSignature("certificate.pfx", "password")
{
SigningContact = "legal@company.com",
SigningLocation = "New York, NY",
SigningReason = "Contract Approval",
SignerName = "Authorized Signer" // New property in v2025.8.8 for enhanced signature details
};
// Apply signature to PDF documents
pdf.Sign(signature);
pdf.SaveAs("signed-contract.pdf");
using IronPDF;
using IronPdf.Signing;
var renderer = new ChromePdfRenderer();
// Generate PDF from HTML page
var pdf = renderer.RenderHtmlAsPdf("<h1>Contract Agreement</h1>");
// Create digital signature with certificate for PDF files
var signature = new PdfSignature("certificate.pfx", "password")
{
SigningContact = "legal@company.com",
SigningLocation = "New York, NY",
SigningReason = "Contract Approval",
SignerName = "Authorized Signer" // New property in v2025.8.8 for enhanced signature details
};
// Apply signature to PDF documents
pdf.Sign(signature);
pdf.SaveAs("signed-contract.pdf");
Imports IronPDF
Imports IronPdf.Signing
Dim renderer As New ChromePdfRenderer()
' Generate PDF from HTML page
Dim pdf = renderer.RenderHtmlAsPdf("<h1>Contract Agreement</h1>")
' Create digital signature with certificate for PDF files
Dim signature As New PdfSignature("certificate.pfx", "password") With {
.SigningContact = "legal@company.com",
.SigningLocation = "New York, NY",
.SigningReason = "Contract Approval",
.SignerName = "Authorized Signer" ' New property in v2025.8.8 for enhanced signature details
}
' Apply signature to PDF documents
pdf.Sign(signature)
pdf.SaveAs("signed-contract.pdf")
RELATED HOW-TO Article: Digitally Signing PDF Documents with C#
So konvertieren Sie HTML-Formulare in ausfüllbare PDFs
Um Standard-HTML-Formularelemente in interaktive, ausfüllbare PDF-Formularfelder umzuwandeln, aktivieren Sie die Rendering-Option CreatePdfFormsFromHtml. Dadurch bleiben Texteingabefelder, Kontrollkästchen, Optionsfelder und Dropdown-Menüs im generierten PDF-Dokument als bearbeitbare Felder erhalten.
using IronPDF;
var renderer = new ChromePdfRenderer();
// Enable HTML form to PDF form conversion
renderer.RenderingOptions.CreatePdfFormsFromHtml = true;
string htmlForm = @"
<h2>Employee Onboarding Form</h2>
<form>
<label>Full Name:</label>
<input type='text' name='fullName' value='' /><br/>
<label>Department:</label>
<select name='department'>
<option value='engineering'>Engineering</option>
<option value='marketing'>Marketing</option>
<option value='sales'>Sales</option>
</select><br/>
<label>Agree to Terms:</label>
<input type='checkbox' name='agreeTerms' />
</form>";
var pdf = renderer.RenderHtmlAsPdf(htmlForm);
pdf.SaveAs("onboarding-form.pdf");
using IronPDF;
var renderer = new ChromePdfRenderer();
// Enable HTML form to PDF form conversion
renderer.RenderingOptions.CreatePdfFormsFromHtml = true;
string htmlForm = @"
<h2>Employee Onboarding Form</h2>
<form>
<label>Full Name:</label>
<input type='text' name='fullName' value='' /><br/>
<label>Department:</label>
<select name='department'>
<option value='engineering'>Engineering</option>
<option value='marketing'>Marketing</option>
<option value='sales'>Sales</option>
</select><br/>
<label>Agree to Terms:</label>
<input type='checkbox' name='agreeTerms' />
</form>";
var pdf = renderer.RenderHtmlAsPdf(htmlForm);
pdf.SaveAs("onboarding-form.pdf");
Imports IronPDF
Dim renderer = New ChromePdfRenderer()
' Enable HTML form to PDF form conversion
renderer.RenderingOptions.CreatePdfFormsFromHtml = True
Dim htmlForm As String = "
<h2>Employee Onboarding Form</h2>
<form>
<label>Full Name:</label>
<input type='text' name='fullName' value='' /><br/>
<label>Department:</label>
<select name='department'>
<option value='engineering'>Engineering</option>
<option value='marketing'>Marketing</option>
<option value='sales'>Sales</option>
</select><br/>
<label>Agree to Terms:</label>
<input type='checkbox' name='agreeTerms' />
</form>"
Dim pdf = renderer.RenderHtmlAsPdf(htmlForm)
pdf.SaveAs("onboarding-form.pdf")
name Attribut haben. Doppelte Namen führen dazu, dass Felder im generierten PDF denselben Wert haben, was beim Ausfüllen des Formulars zu unerwartetem Verhalten führt.RELATED HOW-TO Article: How to Create Fillable PDF Forms in C#
Wie man bestimmte HTML-Elemente in PDF konvertiert
Um nur einen bestimmten Abschnitt einer Seite anstatt des gesamten Dokuments darzustellen, isolieren Sie das Zielelement vor dem Rendern. Der direkteste Ansatz verwendet die Rendering-Option JavaScript, um den Dokumentkörper durch den Inhalt des Zielelements zu ersetzen, kombiniert mit WaitFor.HtmlQuerySelector(), um sicherzustellen, dass das Element vor der Extraktion vorhanden ist. Der unten stehende Codeausschnitt erhält document.head, sodass Stylesheets und Schriftarten übernommen werden – ohne diesen Schritt würden CSS-Regeln, die auf Vorfahrenselektoren basieren, im extrahierten PDF verloren gehen.
Für serverseitige Szenarien, in denen Sie Zugriff auf das rohe HTML haben, extrahieren Sie das Zielfragment mit einem Parser wie AngleSharp und übergeben Sie es an RenderHtmlAsPdf() — keine JavaScript Ausführung erforderlich.
using IronPDF;
var renderer = new ChromePdfRenderer();
renderer.RenderingOptions.EnableJavaScript = true;
// Replace the body with only the target element
renderer.RenderingOptions.JavaScript = @"
var el = document.querySelector('#invoice-summary');
if (el) {
var head = document.head.innerHTML;
document.body.innerHTML = el.outerHTML;
document.head.innerHTML = head;
}
";
// Wait for the target element before JS executes
renderer.RenderingOptions.WaitFor.HtmlQuerySelector("#invoice-summary", 10000);
var pdf = renderer.RenderHtmlAsPdf(fullPageHtml);
pdf.SaveAs("invoice-summary.pdf");
using IronPDF;
var renderer = new ChromePdfRenderer();
renderer.RenderingOptions.EnableJavaScript = true;
// Replace the body with only the target element
renderer.RenderingOptions.JavaScript = @"
var el = document.querySelector('#invoice-summary');
if (el) {
var head = document.head.innerHTML;
document.body.innerHTML = el.outerHTML;
document.head.innerHTML = head;
}
";
// Wait for the target element before JS executes
renderer.RenderingOptions.WaitFor.HtmlQuerySelector("#invoice-summary", 10000);
var pdf = renderer.RenderHtmlAsPdf(fullPageHtml);
pdf.SaveAs("invoice-summary.pdf");
Imports IronPDF
Dim renderer = New ChromePdfRenderer()
renderer.RenderingOptions.EnableJavaScript = True
' Replace the body with only the target element
renderer.RenderingOptions.JavaScript = "
var el = document.querySelector('#invoice-summary');
if (el) {
var head = document.head.innerHTML;
document.body.innerHTML = el.outerHTML;
document.head.innerHTML = head;
}
"
' Wait for the target element before JS executes
renderer.RenderingOptions.WaitFor.HtmlQuerySelector("#invoice-summary", 10000)
Dim pdf = renderer.RenderHtmlAsPdf(fullPageHtml)
pdf.SaveAs("invoice-summary.pdf")
RELATED HOW-TO Article: How to Convert HTML Elements and Partial Pages to PDF
Wie man authentifizierte Seiten als PDF rendert
Es gibt drei Mechanismen zum Rendern von Seiten, die eine Authentifizierung erfordern: Netzwerk-Anmeldeinformationen, benutzerdefinierte Cookies und HTTP-Anforderungsheader. Diese decken die häufigsten Authentifizierungsszenarien bei der Konvertierung geschützter Webinhalte in PDF ab.
Anmeldeinformationen
Verwenden Sie ChromeHttpLoginCredentials für die Basic-, Digest- oder NTLM-Authentifizierung beim Konvertieren geschützter URLs in PDF.
using IronPDF;
var renderer = new ChromePdfRenderer();
// Configure network authentication
renderer.LoginCredentials = new ChromeHttpLoginCredentials
{
NetworkUsername = "user@domain.com",
NetworkPassword = "securePassword",
AuthenticationType = ChromeHttpLoginCredentials.AuthType.Basic
};
var pdf = renderer.RenderUrlAsPdf("https://intranet.company.com/reports");
pdf.SaveAs("authenticated-report.pdf");
using IronPDF;
var renderer = new ChromePdfRenderer();
// Configure network authentication
renderer.LoginCredentials = new ChromeHttpLoginCredentials
{
NetworkUsername = "user@domain.com",
NetworkPassword = "securePassword",
AuthenticationType = ChromeHttpLoginCredentials.AuthType.Basic
};
var pdf = renderer.RenderUrlAsPdf("https://intranet.company.com/reports");
pdf.SaveAs("authenticated-report.pdf");
Imports IronPDF
Dim renderer As New ChromePdfRenderer()
' Configure network authentication
renderer.LoginCredentials = New ChromeHttpLoginCredentials With {
.NetworkUsername = "user@domain.com",
.NetworkPassword = "securePassword",
.AuthenticationType = ChromeHttpLoginCredentials.AuthType.Basic
}
Dim pdf = renderer.RenderUrlAsPdf("https://intranet.company.com/reports")
pdf.SaveAs("authenticated-report.pdf")
Cookies und HTTP-Header
Für tokenbasierte oder sitzungsbasierte Authentifizierung fügen Sie benutzerdefinierte Cookies und HTTP-Header direkt an die Rendering-Anfrage an.
using IronPDF;
var renderer = new ChromePdfRenderer();
// Add session cookies
renderer.RenderingOptions.CustomCookies["sessionId"] = "abc123token";
renderer.RenderingOptions.CustomCookies["authToken"] = "bearer-xyz";
// Add custom HTTP headers (e.g., API key or Bearer token)
renderer.RenderingOptions.CustomHttpRequestHeaders["Authorization"] = "Bearer eyJhbGciOi...";
var pdf = renderer.RenderUrlAsPdf("https://app.example.com/dashboard");
pdf.SaveAs("dashboard.pdf");
using IronPDF;
var renderer = new ChromePdfRenderer();
// Add session cookies
renderer.RenderingOptions.CustomCookies["sessionId"] = "abc123token";
renderer.RenderingOptions.CustomCookies["authToken"] = "bearer-xyz";
// Add custom HTTP headers (e.g., API key or Bearer token)
renderer.RenderingOptions.CustomHttpRequestHeaders["Authorization"] = "Bearer eyJhbGciOi...";
var pdf = renderer.RenderUrlAsPdf("https://app.example.com/dashboard");
pdf.SaveAs("dashboard.pdf");
Imports IronPDF
Dim renderer As New ChromePdfRenderer()
' Add session cookies
renderer.RenderingOptions.CustomCookies("sessionId") = "abc123token"
renderer.RenderingOptions.CustomCookies("authToken") = "bearer-xyz"
' Add custom HTTP headers (e.g., API key or Bearer token)
renderer.RenderingOptions.CustomHttpRequestHeaders("Authorization") = "Bearer eyJhbGciOi..."
Dim pdf = renderer.RenderUrlAsPdf("https://app.example.com/dashboard")
pdf.SaveAs("dashboard.pdf")
HttpClient zur Authentifizierung verwenden und anschließend die resultierenden Cookies an das CustomCookies Wörterbuch übergeben, um die geschützte Seite zu rendern.RELATED HOW-TO Article: How to Convert HTML Behind Login Authentication to PDF
4. Wie man HTML auf Cloud-Plattformen in PDF umwandelt
Die Bereitstellung der HTML-zu-PDF-Konvertierung in Cloud-Umgebungen erfordert eine spezifische Konfiguration für das Headless-Rendering, temporäre Dateipfade und die Ressourcenzuweisung. Dieser Abschnitt behandelt die gängigsten Cloud-Plattformen und containerisierten Bereitstellungen mit IronPDF.
| Plattform | Min Resources | Paket | AutoConfig | Temporärer Pfad | Schlüssel-Fang |
|---|---|---|---|---|---|
| Azure App Service | Stufe B1 (Grundstufe) | IronPdf.Linux |
true
|
/tmp | Kostenlose/Shared-Tarife scheitern – keine GPU, zu wenig Speicher |
| Azure Functions (Windows) | B1-Ebene | IronPDF |
true
|
/tmp | Deaktivieren Sie die Option "Aus Paketdatei ausführen". |
| AWS Lambda | 512 MB / 330 Sekunden Timeout | IronPdf.Linux |
true
|
/tmp (erforderlich) | Das Standarddateisystem ist schreibgeschützt. |
| Docker (Ubuntu/Debian) | Bildabhängig | IronPdf.Linux |
false
|
Standardbild |
Auf false setzen – Dockerfile kümmert sich um Abhängigkeiten
|
So stellen Sie die Bereitstellung in Azure vor
Bei der Bereitstellung in Azure Functions oder App Service deaktivieren Sie die GPU-Beschleunigung und stellen Sie sicher, dass Ihre Hosting-Ebene genügend Arbeitsspeicher für das Chrome-basierte Rendering bereitstellt. Fügen Sie diese Einstellungen beim Start der Anwendung hinzu, bevor Rendering-Aufrufe erfolgen.
Azure-Sandboxes laufen ohne grafische Oberfläche und ohne GPU-Zugriff, und die kostenlosen/gemeinsamen Tarife (F1, D1) verfügen nicht über die Ressourcen, die Chrome benötigt. Streben Sie eine B1-Einstufung (Basis) oder höher an.
using IronPDF;
// Azure sandboxes block GPU access — always disable
IronPdf.Installation.ChromeGpuMode = IronPdf.Engines.Chrome.ChromeGpuModes.Disabled;
// Required on non-GUI Linux systems
IronPdf.Installation.LinuxAndDockerDependenciesAutoConfig = true;
var renderer = new ChromePdfRenderer();
var pdf = renderer.RenderHtmlAsPdf("<h1>Azure PDF Report</h1>");
pdf.SaveAs("azure-report.pdf");
using IronPDF;
// Azure sandboxes block GPU access — always disable
IronPdf.Installation.ChromeGpuMode = IronPdf.Engines.Chrome.ChromeGpuModes.Disabled;
// Required on non-GUI Linux systems
IronPdf.Installation.LinuxAndDockerDependenciesAutoConfig = true;
var renderer = new ChromePdfRenderer();
var pdf = renderer.RenderHtmlAsPdf("<h1>Azure PDF Report</h1>");
pdf.SaveAs("azure-report.pdf");
Imports IronPDF
' Azure sandboxes block GPU access — always disable
IronPdf.Installation.ChromeGpuMode = IronPdf.Engines.Chrome.ChromeGpuModes.Disabled
' Required on non-GUI Linux systems
IronPdf.Installation.LinuxAndDockerDependenciesAutoConfig = True
Dim renderer As New ChromePdfRenderer()
Dim pdf = renderer.RenderHtmlAsPdf("<h1>Azure PDF Report</h1>")
pdf.SaveAs("azure-report.pdf")
RELATED GET-STARTED Guide: How to Deploy IronPDF on Azure
Wie man auf AWS Lambda bereitstellt
AWS Lambda erfordert eine Docker-basierte Bereitstellung für das Chrome-basierte PDF-Rendering. Das Standard-Lambda-Dateisystem ist schreibgeschützt, daher müssen alle temporären und Bereitstellungspfade auf /tmp verweisen.
Konfigurieren Sie diese Einstellungen am Anfang Ihres Funktionshandlers, bevor Sie Rendering-Aufrufe durchführen.
using Amazon.Lambda.Core;
using IronPDF;
public class PdfFunction
{
public string FunctionHandler(string input, ILambdaContext context)
{
// Lambda's only writable directory
var tmpPath = "/tmp/";
IronPdf.Installation.TempFolderPath = tmpPath;
IronPdf.Installation.CustomDeploymentDirectory = tmpPath;
IronPdf.Installation.ChromeGpuMode = IronPdf.Engines.Chrome.ChromeGpuModes.Disabled;
// Let IronPDF install Chrome dependencies on first cold start
IronPdf.Installation.LinuxAndDockerDependenciesAutoConfig = true;
context.Logger.LogLine("Rendering PDF...");
var renderer = new ChromePdfRenderer();
var pdf = renderer.RenderHtmlAsPdf(input);
// Save to /tmp before uploading to S3 or returning
var outputPath = $"{tmpPath}output.pdf";
pdf.SaveAs(outputPath);
return outputPath;
}
}
using Amazon.Lambda.Core;
using IronPDF;
public class PdfFunction
{
public string FunctionHandler(string input, ILambdaContext context)
{
// Lambda's only writable directory
var tmpPath = "/tmp/";
IronPdf.Installation.TempFolderPath = tmpPath;
IronPdf.Installation.CustomDeploymentDirectory = tmpPath;
IronPdf.Installation.ChromeGpuMode = IronPdf.Engines.Chrome.ChromeGpuModes.Disabled;
// Let IronPDF install Chrome dependencies on first cold start
IronPdf.Installation.LinuxAndDockerDependenciesAutoConfig = true;
context.Logger.LogLine("Rendering PDF...");
var renderer = new ChromePdfRenderer();
var pdf = renderer.RenderHtmlAsPdf(input);
// Save to /tmp before uploading to S3 or returning
var outputPath = $"{tmpPath}output.pdf";
pdf.SaveAs(outputPath);
return outputPath;
}
}
Imports Amazon.Lambda.Core
Imports IronPDF
Public Class PdfFunction
Public Function FunctionHandler(input As String, context As ILambdaContext) As String
' Lambda's only writable directory
Dim tmpPath As String = "/tmp/"
IronPdf.Installation.TempFolderPath = tmpPath
IronPdf.Installation.CustomDeploymentDirectory = tmpPath
IronPdf.Installation.ChromeGpuMode = IronPdf.Engines.Chrome.ChromeGpuModes.Disabled
' Let IronPDF install Chrome dependencies on first cold start
IronPdf.Installation.LinuxAndDockerDependenciesAutoConfig = True
context.Logger.LogLine("Rendering PDF...")
Dim renderer As New ChromePdfRenderer()
Dim pdf = renderer.RenderHtmlAsPdf(input)
' Save to /tmp before uploading to S3 or returning
Dim outputPath As String = $"{tmpPath}output.pdf"
pdf.SaveAs(outputPath)
Return outputPath
End Function
End Class
RELATED GET-STARTED Guide: How to Deploy IronPDF on AWS Lambda
Wie man mit Docker bereitstellt
Für Docker-Bereitstellungen verwenden Sie das NuGet Paket IronPdf.Linux, um die Image-Größe zu reduzieren und das Herunterladen von Assets zur Laufzeit zu vermeiden. Dieses Paket enthält vorkonfigurierte, Linux-native Binärdateien, die für containerisierte Umgebungen optimiert sind.
Setzen Sie LinuxAndDockerDependenciesAutoConfig = false, wenn Ihre Dockerfile die Shared-Library-Abhängigkeiten von Chrome bereits über apt-get installiert. Die automatische Installation zur Laufzeit ist in diesem Fall überflüssig und kann zu Berechtigungsfehlern oder längeren Kaltstarts führen.
| Plattform | Paket | Schlüsselkonfiguration |
|---|---|---|
| Ubuntu 22.04 / Debian | IronPdf.Linux | Standardeinstellung – funktioniert sofort nach dem Auspacken |
| Alpine Linux | IronPdf.Linux | Installieren Sie Chromium über eine APK-Datei in der Dockerfile. |
| Amazon Linux 2 | IronPdf.Linux |
Use LinuxAndDockerDependenciesAutoConfig = true
|
| Windows-Container | IronPDF | Keine zusätzliche Konfiguration erforderlich |
Ein minimales mehrstufiges Dockerfile für ein Ubuntu/Debian-basiertes Image:
FROM mcr.microsoft.com/dotnet/sdk:8.0 AS build
WORKDIR /app
COPY . .
RUN dotnet publish -c Release -o /out
FROM mcr.microsoft.com/dotnet/aspnet:8.0
# Install Chrome dependencies for PDF rendering
RUN apt-get update && apt-get install -y \
libglib2.0-0 libnss3 libatk1.0-0 libatk-bridge2.0-0 \
libcups2 libdrm2 libxkbcommon0 libxcomposite1 \
libxdamage1 libxrandr2 libgbm1 libpango-1.0-0 \
libcairo2 libasound2 libxshmfence1 && \
rm -rf /var/lib/apt/lists/*
WORKDIR /app
COPY --from=build /out .
ENTRYPOINT ["dotnet", "MyApp.dll"]
using IronPDF;
// Dependencies handled by Dockerfile apt-get — disable runtime install
IronPdf.Installation.LinuxAndDockerDependenciesAutoConfig = false;
// No GPU in containers
IronPdf.Installation.ChromeGpuMode = IronPdf.Engines.Chrome.ChromeGpuModes.Disabled;
var renderer = new ChromePdfRenderer();
var pdf = renderer.RenderHtmlAsPdf("<h1>Dockerized PDF</h1>");
pdf.SaveAs("output.pdf");
using IronPDF;
// Dependencies handled by Dockerfile apt-get — disable runtime install
IronPdf.Installation.LinuxAndDockerDependenciesAutoConfig = false;
// No GPU in containers
IronPdf.Installation.ChromeGpuMode = IronPdf.Engines.Chrome.ChromeGpuModes.Disabled;
var renderer = new ChromePdfRenderer();
var pdf = renderer.RenderHtmlAsPdf("<h1>Dockerized PDF</h1>");
pdf.SaveAs("output.pdf");
Imports IronPDF
' Dependencies handled by Dockerfile apt-get — disable runtime install
IronPdf.Installation.LinuxAndDockerDependenciesAutoConfig = False
' No GPU in containers
IronPdf.Installation.ChromeGpuMode = IronPdf.Engines.Chrome.ChromeGpuModes.Disabled
Dim renderer As New ChromePdfRenderer()
Dim pdf = renderer.RenderHtmlAsPdf("<h1>Dockerized PDF</h1>")
pdf.SaveAs("output.pdf")
RELATED GET-STARTED Guide: How to Use IronPDF with Docker
5. Vergleich von IronPDF mit anderen .NET PDF-Bibliotheken
IronPDF ist die Lösung der Wahl für viele Teams, wenn es um C#-PDF-Erzeugung geht, dank seiner robusten Chrom-basierten Rendering-Engine, benutzerfreundlichen APIs und häufigen Produktverbesserungen. Lassen Sie uns IronPDF mit anderen PDF-Konvertern vergleichen, um die beste Lösung für Ihre PDF-Erzeugungsanforderungen zu finden.
Schnelle Entscheidungsmatrix: IronPDF gegenüber anderen .NET PDF-Konvertern
| Lösung | Wann zu verwenden | Am besten geeignet für |
|---|---|---|
| IronPDF | Konvertierung moderner Websites/HTML in PDF mit exakter visueller Treue. | Unternehmensanwendungen, die eine zuverlässige HTML-Rendering-Engine, dynamische Inhalte und professionellen Support erfordern. |
| wkhtmltopdf | Einfache HTML-Konvertierung in unkritischen Anwendungen, bei denen eine veraltete Darstellung akzeptabel ist. | Grundlegende Dokumentenerierung mit Legacy HTML/CSS. |
| Syncfusion | Wenn Sie bereits in das Syncfusion-Ökosystem investiert haben oder für eine kostenlose Community-Lizenz in Frage kommen. | Organisationen, die mehrere Syncfusion-Komponenten verwenden. |
| Aspose.PDF | Komplexe PDF-Bearbeitung, wenn die Qualität der HTML-Darstellung weniger wichtig ist. | Umfassende PDF-Bearbeitungsfunktionen, die über die HTML-Konvertierung hinausgehen. |
VERWANDTE VERGLEICHE:
Detaillierter Vergleich: IronPDF gegenüber anderen .NET PDF-Konvertern
| Merkmal | ★ Empfohlenes IronPDF | wkhtmltopdf | iText 7 | Aspose.PDF | Syncfusion | Apryse | SelectPdf | Spire.PDF | PDFsharp | QuestPDF |
|---|---|---|---|---|---|---|---|---|---|---|
| Rendering & Conversion | ||||||||||
| Rendering-Genauigkeit | Pixelperfekt – das Beste | Druckansicht | Nur programmatisch | Gut | Gut | Gut | Gut | Niedriges Niveau | Keine Darstellung | Code-First-Layout |
| HTML5-Unterstützung | Voll | Veraltet | Hinzufügen Auf | Teilweise | Voll | Modul | Voll | Beschränkt | NEIN | Nein (Code-First) |
| CSS3-Unterstützung | Voll | Beschränkt | Hinzufügen Auf | Teilweise | Voll | Modul | Voll | Beschränkt | NEIN | Nein (Code-First) |
| JavaScript-Ausführung | Full Best | NEIN | NEIN | Umstritten | Beschränkt | Beschränkt | Beschränkt | Sehr begrenzt | NEIN | NEIN |
| HTML→PDF (Modernes Layout) | Eingebettetes Chromium Best | Qt WebKit (veraltet) | Kostenpflichtiges Zusatzangebot | Teilweise; JS umstritten | Blink Engine | Erfordert Modul | Vollständiges HTML→PDF | Bildbasiert | NEIN | Kein HTML-Renderer |
| PDF→Bildwiedergabe | Ja | NEIN | Separates Modul | Separates Produkt | Ja | Ja | NEIN | Beschränkt | NEIN | Nur eigene Dokumente |
| Dokumentenvorgänge | ||||||||||
| PDFs programmatisch generieren | Ja | NEIN | Ja | Ja | Ja | Ja | Nur HTML | Ja | Basic | Ja (Fluent API) |
| Merge, Split & Rearrange | Ja | NEIN | Ja | Ja | Ja | Ja | Ja | Ja | Beschränkt | Ja |
| Kopfzeilen / Fußzeilen / Seitenzahlen | HTML/Text/Bild am besten | Begrenzt | Ja | Über Veranstaltungen | Über Veranstaltungen | Ja | Vorlagen | Handbuch | Nur Handbuch | Spielautomaten erster Klasse |
| Watermarks & Stamping | Text & Bild | NEIN | Ja | Ja | Ja | Ja | Ja | Beschränkt | NEIN | Ja (Overlays) |
| Text aus PDFs extrahieren | Ja | NEIN | Ja | Ja | Ja | Ja | Ja | Ja | Basic | NEIN |
| OCR für gescannte PDFs | Über IronOCR Integrated | NEIN | Hinzufügen Auf | Separates Produkt | Hinzufügen Auf | Hinzufügen Auf | NEIN | Workaround | NEIN | NEIN |
| Security & Compliance | ||||||||||
| Digitale Signaturen | Ja | NEIN | Ja | Ja | Ja | Beispielcode | Ja | NEIN | NEIN | Nicht dokumentiert |
| PDF/A-Konformität | Ja (PDF/A-3B) | NEIN | Vollständiges PDF/A | Validieren & Erstellen | Erfordert ein natives SDK | PDF-Konformität | NEIN | Ja | Beschränkt | PDF/A-2x & 3x |
| Plattform & Developer Experience | ||||||||||
| Plattformübergreifend | Windows · Linux · macOS Alle 3 | Abhängig von Binärdateien | .NET Standard 2.0 | Linux-Zusatzkonfiguration | Blink + .NET Server | Natives SDK | Nur für Windows * | Begrenzte Linux-Dokumentation | Windows-orientiert | Windows/Linux/macOS |
| Cloud & Docker Deploy | Azure · AWS · Docker Best | Komplex; Altlasten | Mehrere Pakete | Teilweise; Container | Blink Extras benötigt | Einheimische Abteilungen | Nur für Windows | Begrenzte Informationen | Einfach; leicht | Docker/K8s; Lokal |
| Support & Dokumentation | ||||||||||
| Dokumentation | Umfangreich + Kopieren /Einfügen | Teilweise CLI-Dokumentation | Umfangreich; KB | Breit; GitHub | Hilfezentrum | Sprachübergreifender Katalog | Leitfäden für Einsteiger | Programm | Community-Leitfäden | Strukturierte + Begleit-App |
| Entwicklerunterstützung | 24/7 Engineers Best | Nur für die Community | Abonnement inklusive | Forum + Bezahlt | 24/5 Direct-Trac | Kommerziell | Forum + E-Mail | Nur für die Community | Community + GitHub | |
| Licensing & Pricing | ||||||||||
| Lizenzmodell | Ewige | Open Source | AGPL / Abonnement | Ewige | Jahresabonnement | Kundenspezifisch / Verbrauch | Ewige | Jahresabonnement | Kostenlos (MIT) | MIT Kostenlose / Bezahlte Stufen |
| Startpreis | 799 $ Dauerlizenz · 1 Entwickler | style="color:#16a34a">Frei | Individuelles Angebot für ca. 45.000 €/Jahr | Ab 1.175 US-Dollar pro Entwickler | 995 $/Jahr Abonnement · Kostenlos unter 1 Mio. $ | Individuelles Angebot ab ca. 9.000 €/Jahr | 499 $ + Dauerhaft | 999 $/Jahr Jahresabonnement | style="color:#16a34a">Frei | style="color:#16a34a">Kostenlose Community MIT <1 Mio. US-Dollar |
| Kostenlose Testversion | 30 Tage · Voller Funktionsumfang · Keine Einschränkungen | Nicht verfügbar (kostenlos) | 30 Tage | Ja (mit Wasserzeichen) | Community <$1M Rev | Ja | Community (5 Seiten) | Kostenlos (10 Seiten) | Nicht verfügbar (kostenlos) | N/A (MIT Free <$1M) |
| Preistransparenz | Veröffentlicht und am besten | Open Source | Komplex AGPL | Viele Ebenen | Angebot anfordern | Keine Preisangaben veröffentlicht | Veröffentlicht | Veröffentlicht | MIT-Lizenz; Keine Einschränkungen | MIT; Vertrauensbasiert |
Vergleich der HTML-zu-PDF-Konvertierung im echten Leben: Rendering der Reddit-Startseite
Um die Qualität der Ausgabe-PDF zu bewerten, haben wir diese Bibliotheken mit der Startseite von Reddit getestet, die dynamische Webinhalte, modernes CSS und HTML-Elemente von JavaScript enthält. Diese Seite dient als ideales Testbeispiel für die Ausgabe-PDF-Erstellung.

IronPDF

IronPDF liefert pixelgenaue Ergebnisse, indem es alle dynamischen Webinhalte, modernen Webfonts, Styling und interaktive Elemente genau so erhält, wie sie in Chrome angezeigt werden - alles in nur wenigen Codezeilen.
Syncfusion

Syncfusion gerenderte PDF mit den meisten Abschnitten und Stylings fehlt, insbesondere mit dynamischen Inhalten. Ursprünglich durch Reddits Sicherheit blockiert. Bessere Ergebnisse erfordern umfangreiche Anpassungen der Befehlszeile, dennoch bleibt das Ergebnis unvollständig.
Aspose.PDF

Aspose.PDF erforderte zunächst einen manuellen HTML-Download (keine direkte URL-Unterstützung). Nach der Konvertierung fehlte es der Ausgabe an ordentlichem Format und fast alle Inhaltsabschnitte fehlten, was sie für moderne Webs mit dynamischen Inhalten ungeeignet machte.
wkhtmltopdf

wkhtmltopdf wurde schnell abgeschlossen, erzeugte aber eine einfache, statische Seite, die wichtige Inhalte wie Live-Updates, dynamische Elemente und interaktive Abschnitte vermisste. Dies demonstriert die Inkompatibilität von wkhtmltopdf mit modernen, JavaScript-gesteuerten Websites.
Schlussfolgerung zur Leistung und Ausgabe-PDF-Qualität
Für .NET-Entwickler, die einen zuverlässigen HTML-zu-PDF-Konverter benötigen, sticht IronPDF mit minimalem Code, einfach zu verwendenden APIs und häufigen Produktverbesserungen heraus.
In einem realen Test mit Webinhalten lieferte es die schnellsten und genausten Ergebnisse, während Syncfusion hinterherhinkte, Aspose zusätzliche Schritte erforderte und wkhtmltopdf moderne Stylings verpasste. IronPDF bietet das beste Gleichgewicht zwischen Geschwindigkeit, Genauigkeit und Einfachheit für heutige HTML-zu-PDF-Konvertierungsworkflows.
Bitte beachten: Aspose, SyncFusion und wkhtmltopdf sind Warenzeichen ihrer jeweiligen Eigentümer. Diese Seite ist nicht mit ihnen verbunden oder wird von ihnen unterstützt. Alle Namen, Logos und Marken gehören ihren Eigentümern und Vergleiche basieren auf öffentlich verfügbaren Informationen zum Zeitpunkt des Schreibens.
Zusammenfassung
Diese Anleitung deckte alles ab, was zum Konvertieren von HTML zu PDF in .NET erforderlich ist: von der grundlegenden Zeichenfolgenkonvertierung bis zu erweiterten Funktionen wie asynchrone Verarbeitung, digitale Signaturen und Stapelerzeugung. Wir haben drei Konvertierungsmethoden demonstriert, wesentliche Konfigurationen, erweiterte Funktionen und Sicherheitseinstellungen sowie IronPDF mit anderen Bibliotheken im Rahmen eines realen Tests der dynamischen Dokumenterzeugung verglichen.
Während Konkurrenten Schwierigkeiten mit modernen Websites hatten oder komplexe Umgehungsmöglichkeiten erforderlich waren, lieferte IronPDF fehlerfreie Ergebnisse mit minimalem Code und einer leistungsstarken Rendering-Engine.
Bereit, Ihren PDF-Workflow zu vereinfachen und vielseitige PDF-Erstellung mit nur wenigen Codezeilen zu erleben? Installieren Sie IronPDF über den NuGet-Paket-Manager (oder wählen Sie NuGet-Paket verwalten in Visual Studio) und konvertieren Sie noch heute Ihr erstes HTML zu PDF.
Starten Sie Ihre kostenlose 30-tägige Testversion für Produkttests ohne Wasserzeichen. Flexible Lizenzierung beginnt bei $799 mit transparenter Teampreisgestaltung, die mit Ihren Bedürfnissen skaliert.
6. Fehlerbehebung und technischer Support
Haben Sie Probleme mit den folgenden Fehlern bei der HTML-zu-PDF-Konvertierung? IronPDF bietet 24/7 Ingenieurunterstützung über das Chat-Widget auf https://ironpdf.com/
Schnelle Lösungen für häufige Fehler
- Langsames erstes Rendering? Normal. Chrome initialisiert in 2-3s, dann beschleunigt es.
- Cloud-Probleme? Verwenden Sie mindestens Azure B1 oder gleichwertige Ressourcen.
- Fehlende Assets? Basiswege setzen oder als Base64 einbetten.
- Fehlende Elemente? RenderDelay für die Ausführung von JavaScript hinzufügen.
- Speicher beim Rendern? Aktualisieren Sie auf v2025.9.4 für Korrekturen bei HTML-zu-PDF, Stempeln und Kopfzeilen/Fußzeilen.
- Formularfeldprobleme (z. B. lange Textbereiche, Kontrollkästchen)? Behoben in v2025.7.17; sichere einzigartige Namen für Kontrollkästchen.
- Benutzerspezifisches Header/Footer-Überlappen oder spezielle Zeichen beschädigt? Gelöst in v2025.8.8; testen Sie Wortumbruch und Metadaten.
Hilfe von den Ingenieuren, die IronPDF entwickelt haben, 24/7
- Umfassende Anleitung zur Fehlersuche
- Leistungsoptimierungsstrategien
- Engineering Support-Anfragen
- Schnell-Checkliste zur Fehlersuche
Nächste Schritte
Häufig gestellte Fragen
Wie kann ich HTML in C# in PDF konvertieren?
Sie können HTML in C# in PDF konvertieren, indem Sie eine Chrome-Rendering-Bibliothek verwenden, die HTML, CSS3 und JavaScript in pixelgenaue PDFs verwandelt. Mit Tools wie IronPDF können Sie aus URLs, HTML-Strings oder Dateien rendern und dabei Kopfzeilen, Authentifizierung und Druckeinstellungen unterstützen.
Welches ist die beste HTML-zu-PDF-Bibliothek for .NET?
Die beste Bibliothek sollte genaue Chrome-Darstellung, plattformübergreifende Bereitstellung und Unternehmensfunktionen unterstützen. IronPDF deckt all dies ab – läuft auf Windows, Linux, macOS und Docker, mit Unterstützung für Sicherheit, Signaturen, Konformität und skalierbare .NET-Anwendungen.
Wie kann ich HTML-Strings mit C# in PDF konvertieren?
Um HTML-Strings in PDF zu konvertieren, verwenden Sie die ChromePdfRenderer-Klasse und ihre RenderHtmlAsPdf-Methode. Übergeben Sie Ihren HTML-String an diese Methode und speichern Sie das PDF dann mit SaveAs.
Was sind die Schritte, um eine Webseiten-URL in ein PDF-Dokument in C# umzuwandeln?
Sie können eine Webseiten-URL direkt in ein PDF konvertieren, indem Sie die RenderUrlAsPdf-Methode verwenden, die es Ihnen ermöglicht, Stile, Bilder und interaktive Elemente wie Formulare und Hyperlinks zu bewahren.
Wie konvertiere ich in C# eine HTML-Datei in PDF?
Verwenden Sie ChromePdfRenderer.RenderHtmlFileAsPdf("path/to/file.html"), um lokale HTML-Dateien in PDF zu konvertieren. IronPDF löst alle relativen Asset-Pfade (Bilder, CSS, JS) automatisch.
Wie konvertiere ich ASP.NET Razor Pages oder MVC Views zu PDF?
IronPDF bietet dedizierte Erweiterungspakete – IronPdf.Extensions.Razor für Razor Pages und IronPdf.Extensions.Mvc.Core für MVC Views. Verwenden Sie RenderRazorToPdf oder RenderRazorViewToPdf mit Dependenz-Injektion, um Views direkt von Ihren Controllern in PDF zu konvertieren. Razor-Handbuch ansehen →
Wie stelle ich sicher, dass JavaScript-Inhalte im PDF korrekt gerendert werden?
Aktivieren Sie die JavaScript-Darstellung, indem Sie RenderingOptions.EnableJavaScript = true setzen, und fügen Sie eine Renderverzögerung mit RenderingOptions.WaitFor.RenderDelay hinzu, um sicherzustellen, dass dynamische Inhalte vor der Konversion vollständig geladen sind. See WaitFor guide →
Was ist die beste Methode, um Header und Footer in ein PDF in C# hinzuzufügen?
Verwenden Sie die TextHeaderFooter-Klasse für einfache Text-Header und -Footer oder die HtmlHeaderFooter-Klasse für komplexere HTML-Inhalte. Sie können dynamische Platzhalter wie {page}, {total-pages} und {date} für die automatische Inhaltserzeugung einfügen. Kopf- und Fußzeilen-Handbuch ansehen →
Wie verwalte ich Seitenumbrüche in der PDF-Ausgabe in C# .NET?
Steuern Sie Seitenumbrüche in Ihren PDFs, indem Sie CSS-Eigenschaften wie page-break-after: always und page-break-inside: avoid innerhalb eines Print-Media-Typ-CSS-Blocks verwenden. Seitenumbrüche-Handbuch ansehen →
Welche Optionen stehen für das Festlegen von Papiergröße und Ausrichtung in PDFs zur Verfügung?
Stellen Sie die Papiergröße mit RenderingOptions.PaperSize ein (Optionen umfassen A4, Letter, Legal usw.) und die Ausrichtung mit RenderingOptions.PaperOrientation für Hoch- oder Querformat. Benutzerdefinierte Größen in Millimetern oder Zoll werden ebenfalls unterstützt. Papiergrößen-Handbuch ansehen →
Kann ich authentifizierte Webseiten in PDF konvertieren?
Ja. IronPDF unterstützt Cookies, benutzerdefinierte HTTP-Header und formularbasierte Authentifizierung. Setzen Sie Cookies über ChromePdfRenderer.RenderingOptions.CustomCookies, oder geben Sie Auth-Header für tokenbasierte Authentifizierung an. Windows NTLM und Kerberos-Authentifizierung werden ebenfalls unterstützt. Cookie-Handbuch ansehen →
Kann ich aus einer einzigen HTML-Vorlage mehrere PDFs in C# erstellen?
Ja, erstellen Sie HTML-Vorlagen mit Platzhaltern und verwenden Sie String-Ersetzungen oder Templating-Bibliotheken wie Handlebars.NET. Ersetzen Sie Platzhalter durch tatsächliche Werte in Ihren Schleifen-Daten und erstellen Sie PDFs mit RenderHtmlAsPdf.
Ist es möglich, meine generierten PDFs mit einem Passwort zu sichern?
Ja, Sie können die SecuritySettings-Eigenschaft verwenden, um Benutzer- und Eigentümerpasswörter festzulegen, Berechtigungen wie Drucken und Kopieren zu konfigurieren und AES256-Verschlüsselung mit SecuritySettings.EncryptionAlgorithm anzuwenden. Verschlüsselungs-Handbuch ansehen →
Kann ich PDF/A-konforme Dokumente aus HTML generieren?
Ja. IronPDF unterstützt die Standards PDF/A-1b, PDF/A-2b, PDF/A-3b und PDF/UA für Archivierung und Barrierefreiheit, die die meisten HTML-zu-PDF-Konverter nicht bieten. Siehe PDF/A-Leitfaden →
Wie kann ich die Leistung bei der Erstellung einer großen Anzahl von PDFs optimieren?
Optimieren Sie die Leistung, indem Sie asynchrone Methoden wie RenderHtmlAsPdfAsync für nicht blockierende Operationen verwenden. Nutzen Sie ChromePdfRenderer-Instanzen erneut, verarbeiten Sie mehrere PDFs gleichzeitig mit Task.WhenAll und stellen Sie sicher, dass Sie über ausreichende Serverressourcen auf einem 64-Bit-System verfügen. Siehe asynchronen Leitfaden →
Wie kann ich mehrere PDFs zusammenführen oder eine Titelseite in mein Dokument einfügen?
Verwenden Sie die statische PdfDocument.Merge-Methode, um mehrere PDFs zu kombinieren. Erstellen Sie Ihre Titelseite separat und fügen Sie sie in Ihr Hauptdokument ein, um ein umfassendes PDF zu erstellen. Siehe Zusammenführungsanleitung →
Kann ich IronPDF auf Azure, AWS oder Docker bereitstellen?
Ja. IronPDF läuft auf Azure App Service, Azure Functions, AWS Lambda und Docker-Containern unter Linux. Spezielle Installationsanleitungen und Docker-Images sind für jede Plattform verfügbar. Siehe Azure-Leitfaden → · Siehe AWS-Leitfaden → · Siehe Docker-Leitfaden →
.NET 10-Kompatibilität: Unterstützt IronPDF for .NET 10 von Anfang an?
Ja — IronPDF ist vollständig kompatibel mit .NET 10. Laut IronPDF-Release-Notes ist die Bibliothek direkt am ersten Tag bereit for .NET 10-Projekte, ohne zusätzliche Konfiguration. Egal, ob Sie Web-, Konsolen-, Desktop- oder Microservice-Anwendungen verwenden, IronPDF funktioniert „out of the box“ mit .NET 10.
Ist IronPDF kostenlos nutzbar?
IronPDF bietet eine kostenlose 30-Tage-Testversion mit voller Funktionalität und ohne Wasserzeichen in der Entwicklung. Für den Produktiveinsatz ist eine kommerzielle Lizenz ab $749 erforderlich. Lite-, Plus-, Professional- und Enterprise-Stufen sind verfügbar. Siehe Preisinformationen →
Wie vergleicht sich die Rendering-Qualität dieser Bibliothek mit anderen Optionen wie wkhtmltopdf?
Diese Bibliothek verwendet eine moderne Chrome-Rendering-Engine für pixelgenaue PDFs, im Gegensatz zu wkhtmltopdfs veralteter WebKit-Engine. Es erfordert keine Server-Executables, unterstützt vollständige JavaScript/CSS3, erhält regelmäßige Updates und bietet professionellen Support.
Warum sollte ich diese Bibliothek gegenüber PDFSharp für HTML-zu-PDF-Konvertierung wählen?
PDFSharp fehlt die eingebaute HTML-zu-PDF-Konvertierung, was komplexe Umgehungsmethoden erfordert. Diese Bibliothek bietet direkte HTML/URL-/Dateikonvertierung mit einer hochrangigen API, Unterstützung für moderne Webtechnologien und regelmäßige Updates mit professionellem Support. Siehe PDFSharp-Vergleich →
Was macht dies zur besseren Wahl als iTextSharp für die HTML-Konvertierung?
Die kostenlose Version von iTextSharp unterstützt keine native HTML-zu-PDF-Konvertierung und hat eine komplexe Low-Level-API. Diese Bibliothek bietet nahtlose HTML-Konvertierung mit einer intuitiven API, volle CSS3-/JavaScript-Unterstützung und keine AGPL-Lizenzbeschränkungen. Siehe iTextSharp-Vergleich →
Wie vergleicht sich die Rendering-Qualität dieser Bibliothek mit der von Aspose.PDF?
Diese Bibliothek erzeugt pixelgenaue PDFs in Chrome-Qualität, während Aspose.PDF oft Stil- und dynamische Inhalte vernachlässigt. Aspose erfordert manuelle HTML-Downloads für die URL-Konvertierung, aber diese Bibliothek konvertiert URLs direkt mit überlegener Genauigkeit. Siehe Aspose-Vergleich →
Warum sollte ich diese Bibliothek gegenüber Syncfusion PDF wählen?
Obwohl Syncfusion leistungsfähig ist, arbeitet der optimierte Chrome-Engine dieser Bibliothek schneller und behandelt dynamische Inhalte effektiver. Es bietet eine einfachere API und zusätzliche Funktionen wie OCR und Barcode-Generierung. Siehe Syncfusion-Vergleich →

