HTML zu PDF: Ein schnelles Tutorial für C# .NET

Wie man HTML zu PDF in C# konvertiert (Entwicklerleitfaden)

This article was translated from English: Does it need improvement?
Translated
View the article in English

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: Schnellstartanleitung zur Konvertierung von HTML in PDF

Mit der IronPdf-Bibliothek können Sie HTML in C# ganz einfach in PDF konvertieren. Die Bibliothek bietet die Methode ChromePdfRenderer.RenderHtmlAsPdf, um aus HTML, CSS und JavaScript hochwertige PDF-Dateien zu erstellen.

  1. Installieren Sie IronPDF mit NuGet Package Manager

    PM > Install-Package IronPdf
  2. Kopieren Sie diesen Codeausschnitt und führen Sie ihn aus.

    IronPdf.ChromePdfRenderer
           .StaticRenderHtmlAsPdf("<p>Hello World</p>")
           .SaveAs("pixelperfect.pdf");
  3. Bereitstellen zum Testen in Ihrer Live-Umgebung

    Beginnen Sie noch heute, IronPDF in Ihrem Projekt zu verwenden, mit einer kostenlosen Testversion

    arrow pointer

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"
$vbLabelText   $csharpLabel

Warum .NET-Entwickler einen HTML-zu-PDF-Konverter für C# 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. Neuere Verbesserungen umfassen die Handhabung 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 for .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.

VERWANDT: IronPDF Changelog: Updates, Meilensteine, Roadmap

Was Sie lernen werden

  1. Wie konvertiert man HTML in PDF C#

  2. So konfigurieren Sie die HTML-zu-PDF-Einstellungen

  3. Wie man erweiterte PDF-Erzeugungs- und Sicherheitsfunktionen verwendet

  4. Wie man HTML auf Cloud-Plattformen in PDF umwandelt

  5. Vergleich von IronPDF mit anderen .NET PDF-Bibliotheken

  6. 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 RenderHtmlAsPdf-Methode 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")
$vbLabelText   $csharpLabel

Leistung

Die Leistung der IronPDF-Konvertierung von Zeichenfolgen, URLs und HTML in PDF wurde auf einem Lenovo-Laptop mit 16 GB RAM gemessen. Das Testdokument ist eine 3-seitige Enterprise-Rechnung mit Standard-CSS-Grid, Farbverläufen und mehrteiligen Tabellen.

Die Ergebnisse lauten wie folgt:

Metrik Wert
Durchschnittliche Renderzeit ~486 ms
Speicher pro Rendering ~3,6 MB

Gemessen anhand von 5 aufeinanderfolgenden Renderings auf einer 16-Kern-Workstation (Windows 11, .NET 8). Der erste Aufruf umfasst auch eine einmalige Initialisierung der Chromium-Engine (~1,3 s)

Als ich den Test zum ersten Mal durchführte, war die Renderzeit sehr langsam (über eine Sekunde pro Aufruf!). Nachdem ich mir die Situation angesehen hatte, stellte ich fest, dass mehrere Chromium-Instanzen geöffnet waren und ich im Akkubetrieb arbeitete – beides Faktoren, die verhinderten, dass die Bibliothek ihre wahre Geschwindigkeit unter Beweis stellen konnte. Nachdem ich die konkurrierenden Prozesse geschlossen und den Stecker eingesteckt hatte, lief es besser: Warme Läufe lagen im Durchschnitt bei ~486 ms, wobei der schnellste Wert bei knapp 473 ms lag.

Tipps(Aktualisiert für v2025.9.4) Aktuelle Updates beheben Probleme mit Sonderzeichen/Emojis in HTML-Metadaten und sorgen für eine bessere Handhabung von HTML-Formularfeldern, einschließlich chinesischer Zeichen unter Linux. Testen Sie dynamische Inhalte mit <spanEnableJavaScript = true, um optimale Ergebnisse zu erzielen.
</span style="color: red;"> )}]

Wenn Ihre HTML-Zeichenkette 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")
$vbLabelText   $csharpLabel

TippsBaseUrlPath gibt IronPDF an, wo Ihre CSS-, JavaScript- und Bilddateien zu finden sind. Alle relativen Pfade in Ihrem HTML-String werden von diesem Verzeichnis aus aufgelöst.

WarnungEin Punkt, auf den man achten sollte, und warum das Testen der Ausgabe unabhängig davon, welche Bibliothek man für die automatisierte Dokumentgenerierung verwendet, wichtig ist, ist, dass das Enterprise-Dokument möglicherweise fehlerhafte Elemente oder fehlende Assets enthält, wenn Verweise auf die Systemeinstellungen zurückfallen. IronPDF bietet Ihnen den Parameter BaseUrlPath, um relative Pfade auf das richtige Verzeichnis zu verweisen, sodass eine kurze Überprüfung der Ausgabe vor Massenausführungen in der Regel ausreicht, um Fehler zu erkennen.

VERWANDTER HOW-TO-ARTIKEL: Wie man HTML-String in PDF in C# konvertiert

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
$vbLabelText   $csharpLabel

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
$vbLabelText   $csharpLabel

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")
$vbLabelText   $csharpLabel

Responsive CSS

Da responsive Webseiten für die Anzeige in einem Browser konzipiert sind und IronPDF kein echtes Browserfenster im Betriebssystem Ihres Servers öffnet, werden responsive HTML-Elemente möglicherweise in ihrer kleinsten Größe gerendert. PdfCssMediaType.Print wird empfohlen, um dieses Problem beim Rendern ganzer Webseiten zu umgehen.

// 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
```
$vbLabelText   $csharpLabel

VERWANDTER HOW-TO-ARTIKEL: Wie man URL zu PDF rendert

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
$vbLabelText   $csharpLabel

Leistung

Die Leistung wurde erneut gemessen, indem alle Variablen konstant gehalten wurden, um die vorherige 3-seitige Enterprise-Rechnung aus einer Datei auf der Festplatte zu rendern:

Metrik Wert
Durchschnittliche Renderzeit ~502 ms
Speicher pro Rendering ~3,1 MB

Gemessen anhand von 5 aufeinanderfolgenden Renderings auf derselben 16-Kern-Workstation (Windows 11, .NET 8). Das dateibasierte Rendering weicht vom In-Memory-String-Rendering um maximal 3 % ab; Das Einlesen des HTML-Codes von der Festplatte verursacht keinen nennenswerten Mehraufwand.

TippsBewahren Sie Ihre HTML-Dateien in einem separaten Ordner mit ihren Ressourcen (CSS, Bilder) auf, um sie im Browser zu bearbeiten und zu testen, bevor Sie HTML-Dateien in PDF konvertieren. Dies stellt sicher, dass Ihr HTML perfekt für hochwertige PDF-Dokumente gerendert wird.

VERBUNDENE HOW-TO Artikel: HTML-Datei in PDF rendern

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-Paket IronPdf.Extensions.Razor
PM > Install-Paket IronPdf.Extensions.Razor
SHELL
using IronPdf;
using Microsoft.AspNetCore.Mvc;
using Microsoft.AspNetCore.Mvc.RazorPages;

public class ReportModel : PageModel
{
    public IActionResult OnGet()
    {
        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;
using Microsoft.AspNetCore.Mvc;
using Microsoft.AspNetCore.Mvc.RazorPages;

public class ReportModel : PageModel
{
    public IActionResult OnGet()
    {
        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
Imports Microsoft.AspNetCore.Mvc
Imports Microsoft.AspNetCore.Mvc.RazorPages

Public Class ReportModel
    Inherits PageModel

    Public Function OnGet() As IActionResult
        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")
    End Function
End Class
$vbLabelText   $csharpLabel

Hinweis:RenderRazorToPdf erfordert ein ASP.NET Core Web App-Projekt. Es funktioniert nicht in Konsolenanwendungen oder Klassenbibliotheken – die Razor View-Engine muss in der Host-Pipeline verfügbar sein.

VERWANDTER ANLEITUNGSARTIKEL: So konvertieren Sie CSHTML in Razor Pages in PDF

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 View-Pfad und Ihrem 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-Paket IronPdf.Extensions.Mvc.Co/re
PM > Install-Paket IronPdf.Extensions.Mvc.Co/re
SHELL

Registrieren Sie zunächst den Dienst IRazorViewRenderer in Ihrer Program.cs, damit Ihre Controller ihn einbinden können:

using IronPdf.Extensions.Mvc.Co/re;

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.Co/re;

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)()
$vbLabelText   $csharpLabel

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.Co/re;
using Microsoft.AspNetCore.Mvc;

public class ReportController : Controller
{
    private readonly IRazorViewRenderer _viewRenderService;

    // Inject the view renderer via constructor
    public ReportController(IRazorViewRenderer viewRenderService)
    {
        _viewRenderService = viewRenderService;
    }

    public IActionResult Download()
    {
        var reportModel = new { Title = "Quarterly Report", Total = 1250.00 };
        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.Co/re;
using Microsoft.AspNetCore.Mvc;

public class ReportController : Controller
{
    private readonly IRazorViewRenderer _viewRenderService;

    // Inject the view renderer via constructor
    public ReportController(IRazorViewRenderer viewRenderService)
    {
        _viewRenderService = viewRenderService;
    }

    public IActionResult Download()
    {
        var reportModel = new { Title = "Quarterly Report", Total = 1250.00 };
        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
Imports Microsoft.AspNetCore.Mvc

Public Class ReportController
    Inherits Controller

    Private ReadOnly _viewRenderService As IRazorViewRenderer

    ' Inject the view renderer via constructor
    Public Sub New(viewRenderService As IRazorViewRenderer)
        _viewRenderService = viewRenderService
    End Sub

    Public Function Download() As IActionResult
        Dim reportModel = New With {.Title = "Quarterly Report", .Total = 1250.0}
        Dim renderer = 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")
    End Function
End Class
$vbLabelText   $csharpLabel

VERWANDTER ANLEITUNGSARTIKEL: So konvertieren Sie Ansichten in ASP.NET Core MVC in PDF

2. Wie man HTML-zu-PDF-Einstellungen konfiguriert

Was die Bearbeitung von PDF-Dokumenten angeht, bietet IronPDF umfangreiche Anpassungsmöglichkeiten über die Eigenschaft ChromePdfRenderer.RenderingOptions für gerenderte PDFs.

Einstellungen Beschreibung Beispiel
Papiergröße Seitendimensionen für bestehende PDFs einstellen (A4, Letter, Legal, etc.) PdfPaperSize.A4
Papierorientation Hoch- oder Querformat für vorhandene PDFs einstellen PdfPaperOrientation.Landscape
MarginTop/Bottom/Left/Right Seitenränder in Millimetern einstellen (Standard: 25mm)
CssMediaType CSS für HTML zu PDF anzeigen oder drucken PdfCssMediaType.Print
PrintHtmlBackgrounds Hintergrundfarben/Bilder einfügen (Standard: true) WAHR
EnableJavaScript 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 As PdfDocument = renderer.RenderHtmlAsPdf(htmlContent)
pdfDocument.SaveAs("styled-output.pdf")
$vbLabelText   $csharpLabel

TippsVerwenden Sie PdfCssMediaType für sauberere, druckoptimierte Layouts im gerenderten PDF-Dateiformat. Verwenden Sie Screen, um genau das wiederzugeben, was Benutzer in ihrem Browser sehen.

VERWANDTE HOW-TO-ARTIKEL:

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 setzen Sie ein LoginCredentials-Objekt auf dem Renderer. Für tokenbasierten oder sitzungsbasierten Zugriff übergeben Sie Cookies und Header über RenderingOptions, bevor Sie RenderUrlAsPdf aufrufen.

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.com/pany.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.com/pany.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.com/pany.com/quarterly-report")
pdf.SaveAs("quarterly-report.pdf")
$vbLabelText   $csharpLabel

VERWANDTE ANLEITUNGSARTIKEL: PDFs hinter Anmeldeauthentifizierung rendern | Benutzerdefinierte HTTP-Anfrageheader

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 Render-Aufruf gesetzt, nicht auf der Renderer-Instanz.

Bei authentifizierten Proxys sind die Anmeldedaten direkt in die URL im Format http://user:pass@host:port einzubetten. Sonderzeichen in Passwörtern mit Uri.EscapeDataString() URL-kodieren.

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.co/rp.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.co/rp.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.co/rp.local:8080"
)
pdf.SaveAs("proxied-report.pdf")
$vbLabelText   $csharpLabel

Beachten Sie, dass RenderUrlAsPdf() keinen Proxy-Parameter akzeptiert. Um eine Live-URL hinter einem Proxy darzustellen, rufen Sie zunächst den HTML-Code mit HttpClient ab, das mit einem WebProxy konfiguriert ist, und übergeben Sie ihn dann an RenderHtmlAsPdf() mit dem Proxy-Parameter zum Laden der Assets.

VERWANDTER ANLEITUNGSARTIKEL: So konfigurieren Sie Proxy-Server für die PDF-Darstellung

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 grundlegende Szenarien eignet sich die Methode String.Format in C# am besten für einfache PDF-Bearbeitung.

// 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>
$vbLabelText   $csharpLabel

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");
}
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");
}
Imports IronPdf

' 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
$vbLabelText   $csharpLabel

HTML zu PDF-Vorlage mit Handlebars.NET

Verwenden Sie bei komplexen Vorlagen mit Schleifen und Bedingungen beim Konvertieren von HTML in PDF die erweiterte Vorlagenfunktion mit Handlebars.NET, um PDF-Dokumente mit dynamischen HTML-Inhalten zu erstellen.

# First, install Handlebars.NET for HTML to PDF templating
PM > Install-Paket Handlebars.NET
# First, install Handlebars.NET for HTML to PDF templating
PM > Install-Paket Handlebars.NET
SHELL
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.Com/pile(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.Com/pile(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")
$vbLabelText   $csharpLabel

VERWANDTER HOW-TO-Artikell: Erfahren Sie mehr über Handlebars.NET auf 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>
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.Co/llections.Generic;
using System.Linq;
using System.Threading.Tasks;

public class PdfGenerationService
{
    // 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.Co/llections.Generic;
using System.Linq;
using System.Threading.Tasks;

public class PdfGenerationService
{
    // 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.Collections.Generic
Imports System.Linq
Imports System.Threading.Tasks

Public Class PdfGenerationService
    ' 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
End Class
$vbLabelText   $csharpLabel

TippsTipps zur Leistungsoptimierung bei der HTML-zu-PDF-Konvertierung

  • 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.
  • Verwenden Sie ChromePdfRenderer-Instanzen nach Möglichkeit wieder.
  • 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.

VERBUNDENE HOW-TO-Artikel: Wie man PDFs mit Async und Multithreading erzeugt

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")
$vbLabelText   $csharpLabel

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")
$vbLabelText   $csharpLabel

VERBUNDENE HOW-TO-Artikel: Digitales Signieren von PDF-Dokumenten mit C#

So konvertieren Sie HTML-Formulare in ausfüllbare PDFs

Um standardmäßige 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 As 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")
$vbLabelText   $csharpLabel

WarnungJedes Formularfeld in Ihrem HTML-Code muss ein eindeutiges 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.

VERWANDTER ANLEITUNGSARTIKEL: Wie man ausfüllbare PDF-Formulare in C# erstellt

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 nutzt die Rendering-Option JavaScript, um den Dokumenttext durch den Inhalt des Zielelements zu ersetzen, kombiniert mit WaitFor.HtmlQuerySelector(), um sicherzustellen, dass das Element vor der Extraktion vorhanden ist. Der folgende Ausschnitt bewahrt document.head, damit Stylesheets und Schriftarten übernommen werden – ohne diesen Schritt würden CSS-Regeln, die auf Vorfahren-Selektoren basieren, in der extrahierten PDF-Datei verloren gehen.

Für serverseitige Szenarien, in denen Sie Zugriff auf den rohen HTML-Code haben, extrahieren Sie das Zielfragment mit einem Parser wie AngleSharp und übergeben Sie es an RenderHtmlAsPdf() – eine JavaScript-Ausführung ist nicht erforderlich.

using IronPdf;

// Full page HTML containing the target element
string fullPageHtml = @"
<html>
<body>
    <header><h1>Acme Corp Invoice</h1></header>
    <div id='invoice-summary'>
        <h2>Invoice #12345</h2>
        <p>Total: $1,250.00</p>
    </div>
    <footer>Confidential</footer>
</body>
</html>";

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;

// Full page HTML containing the target element
string fullPageHtml = @"
<html>
<body>
    <header><h1>Acme Corp Invoice</h1></header>
    <div id='invoice-summary'>
        <h2>Invoice #12345</h2>
        <p>Total: $1,250.00</p>
    </div>
    <footer>Confidential</footer>
</body>
</html>";

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

' Full page HTML containing the target element
Dim fullPageHtml As String = "
<html>
<body>
    <header><h1>Acme Corp Invoice</h1></header>
    <div id='invoice-summary'>
        <h2>Invoice #12345</h2>
        <p>Total: $1,250.00</p>
    </div>
    <footer>Confidential</footer>
</body>
</html>"

Dim renderer As 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")
$vbLabelText   $csharpLabel

VERWANDTER ANLEITUNGSARTIKEL: So konvertieren Sie HTML-Elemente und Teilseiten in 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, wenn Sie geschützte URLs in PDF konvertieren.

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.com/pany.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.com/pany.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.com/pany.com/reports")
pdf.SaveAs("authenticated-report.pdf")
$vbLabelText   $csharpLabel

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")
$vbLabelText   $csharpLabel

TippsBei HTML-Formular-basierten Anmeldungen (POST-Benutzername/Passwort) sollten Sie zunächst die Authentifizierung mit HttpClient durchführen und anschließend die resultierenden Cookies an das CustomCookies-Wörterbuch übergeben, um die geschützte Seite darzustellen.

VERWANDTER ANLEITUNGSARTIKEL: So konvertieren Sie HTML hinter der Anmeldeauthentifizierung in 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 Ressourcen 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")
$vbLabelText   $csharpLabel

VorsichtDie Azure App Service Free- und Shared-Tarife (F1, D1) verfügen nicht über genügend Ressourcen für das Chrome-basierte PDF-Rendering. Verwenden Sie mindestens die Tarifstufe B1 (Basic) oder höher, um Speichermangel- und Prozesszeitüberschreitungsfehler zu vermeiden.

VERWANDTE EINSTIEGSLEITFADEN: So stellen Sie IronPDF auf Azure bereit

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 Bereitstellungs-Pfade auf /tmp verweisen.

Konfigurieren Sie diese Einstellungen am Anfang Ihres Funktionshandlers, bevor Sie Rendering-Aufrufe durchführen.

using Amazon.Lambda.Co/re;
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.Co/re;
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
$vbLabelText   $csharpLabel

Hinweis:Konfigurieren Sie Ihre Lambda-Funktion mit mindestens 512 MB Arbeitsspeicher und einem minimalen Timeout von 60 Sekunden . Das Rendering mit Chrome ist speicherintensiv, und Kaltstarts erfordern zusätzliche Initialisierungszeit für die eingebettete Browser-Engine.

VERWANDTE EINSTIEGSLEITFADEN: So stellen Sie IronPDF auf AWS Lambda bereit

Wie man mit Docker bereitstellt

Verwenden Sie für Docker-Bereitstellungen 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 Abhängigkeiten der gemeinsam genutzten Bibliotheken 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 Verwenden Sie 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")
$vbLabelText   $csharpLabel

VERWANDTE EINSTIEGSLEITFADEN: So verwenden Sie IronPDF mit 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 ★ Empfohlen: IronPDF wkhtmltopdf iText Aspose.PDF Syncfusion Apryse SelectPdf Spire.PDF PDFSharp QuestPDF
Rendering & Konvertierung
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 Vollständig 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 Ja Ja Ja Ja NEIN Beschränkt NEIN Nur eigene Dokumente
Dokumentenvorgänge
PDFs programmatisch generieren Ja NEIN Ja Ja Ja Ja Nur HTML Ja Grundlegend Ja (Fluent API)
Zusammenführen, Aufteilen & Neu anordnen 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
Wasserzeichen & Stempel 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 Grundlegend 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
Sicherheit und Konformität
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- und Entwicklererfahrung
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- und Docker-Bereitstellung Azure · AWS · Docker Beste 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 Ingenieure Beste Nur für die Community Abonnement inklusive Forum + Bezahlt 24/5 Direct-Trac Kommerziell E-Mail Forum + E-Mail Nur für die Community Community + GitHub
Lizenzierung & Preisgestaltung
Lizenzmodell Ewige Open Source AGPL / Abonnement Ewige Jahresabonnement Kundenspezifisch / Verbrauch Ewige Jahresabonnement Kostenlos (MIT) MIT Kostenlose / Bezahlte Stufen
Startpreis $liteLicense Unbefristet · 1 Entwickler style="color:#16a34a">Frei ~45.000 $/Jahr Individuelles Angebot 1.175 $+ pro Entwickler 995 $/Jahr Abonnement · Kostenlos <1 Mio. $ ~9.000 $+/Jahr Individuelles Angebot 499 $+ Unbefristet 999 $/Jahr Jahresabonnement style="color:#16a34a">Frei style="color:#16a34a">Kostenlose Community MIT <1 Mio. $
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.

https://www.reddit.com/

Screenshot der Reddit-Startseite mit dynamischen Inhalten, modernem Design und interaktiven Elementen, die für Tests zur PDF-Konvertierung verwendet wurden

IronPDF

IronPDF-Konvertierungsergebnis, das eine pixelgenaue Darstellung der Reddit-Startseite zeigt, wobei alle dynamischen Inhalte, das Styling und die interaktiven Elemente erhalten bleiben

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-PDF-Konvertierung, die eine teilweise Darstellung mit fehlenden Abschnitten und unvollständiger Formatierung der Reddit-Startseite zeigt

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-Konvertierungsversuch, der eine minimale Erfassung des Inhalts zeigt, wobei die meisten Seitenelemente auf der Reddit-Startseite fehlen

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-Ausgabe, die eine statische, unformatierte Version der Reddit-Startseite ohne dynamische Elemente oder modernes CSS anzeigt

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 $999 mit transparenten Team-Preisen, die sich Ihren Anforderungen anpassen.

IronPDF-Lizenzierung anzeigen

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? Fügen Sie RenderDelay für die JavaScript-Ausführung hinzu.
  • 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

Nächste Schritte

Zusammenführen oder Teilen von PDF-Dokumenten
Siehe How-To
Hinzufügen von benutzerdefinierten Kopf- und Fußzeilen zu PDF-Dateien
Siehe How-To
Schwärzen von Text und Regionen in PDF-Dateien
Siehe How-To

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 →

Jacob Mellor, Chief Technology Officer @ Team Iron
Chief Technology Officer

Jacob Mellor ist Chief Technology Officer bei Iron Software und ein visionärer Ingenieur, der Pionierarbeit in der C# PDF-Technologie leistet. Als der ursprüngliche Entwickler hinter der Kern-Codebasis von Iron Software hat er die Produktarchitektur des Unternehmens seit seiner Gründung geprägt und es zusammen mit CEO ...

Weiterlesen
Rezensiert von
Jeff Fritz
Jeffrey T. Fritz
Principal Program Manager - .NET Community Team
Jeff ist außerdem Principal Program Manager für das .NET- und Visual Studio-Team. Er ist der ausführende Produzent der .NET Conf Virtual Conference Series und moderiert ‚Fritz and Friends‘, einen Livestream für Entwickler, der zweimal wöchentlich ausgestrahlt wird. Dort spricht er über Technik und schreibt gemeinsam mit den Zuschauern Code. Jeff schreibt Workshops, Präsentationen und plant Inhalte für die größten Microsoft-Entwicklerveranstaltungen, einschließlich Microsoft Build, Microsoft Ignite, .NET Conf und dem Microsoft MVP Summit.
Bereit anzufangen?
Nuget Downloads 19,014,616 | Version: 2026.5 just released
Still Scrolling Icon

Scrollst du immer noch?

Sie brauchen schnell einen Beweis? PM > Install-Package IronPdf
Führen Sie eine Probe aus Sehen Sie zu, wie Ihr HTML-Code in eine PDF-Datei umgewandelt wird.