IRONSOFTWAREHOME

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

Jacob Mellor, Chief Technology Officer @ Team Iron
Jacob Mellor
Updated: 5. September 2026

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. 1Install IronPDF with NuGet Package Manager

    PM > Install-Package IronPdf

  2. 2Kopieren Sie diesen Codeausschnitt und führen Sie ihn aus.

    new IronPdf.ChromePdfRenderer()
        .RenderHtmlAsPdf("<p>Hello World</p>")
        .SaveAs("pixelperfect.pdf");
    C#
  3. 3Bereitstellen 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";
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");

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:

MetrikWert
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 EnableJavaScript = true, um optimale Ergebnisse zu erzielen.

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");
Tipps: BaseUrlPath 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.
Warnung: Ein 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

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

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://observablehq.com/@d3/chord-diagram");

// Save the interactive chart as static PDF
pdf.SaveAs("chart.pdf");

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;

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

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:

MetrikWert
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.

Tipps: Bewahren 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-Package 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");
    }
}
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-Package IronPdf.Extensions.Mvc.Core
SHELL

Registrieren Sie zunächst den Dienst IRazorViewRenderer in Ihrer Program.cs, 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>();

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

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

Dynamische Webseite in PDFs

Müssen Sie Ihre dynamische Webseite bewahren und in PDFs konvertieren, während das exakte Layout und die Formatierung erhalten bleiben? Suchen Sie nicht weiter als IronPDF, das eine Vielzahl von äußerst beliebten dynamischen Webseitensystemen schnell in PDFs konvertiert.

PDF aus ASPX-Seiten

Hier ist ein kurzes Codebeispiel zur Konvertierung von ASPX-Seiten als PDF in Active Server Pages.

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using IronPdf;

namespace AspxToPdfTutorial
{
    public partial class Invoice : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            IronPdf.AspxToPdf.RenderThisPageAsPdf(IronPdf.AspxToPdf.FileBehavior.InBrowser);
        }
    }
}

Für eine ausführlichere Erklärung dieses Codebeispiels und zur Erkundung seiner zusätzlichen Funktionalität lesen Sie bitte unseren umfassenden Leitfaden.

XAML zu PDF (MAUI)

Für Entwickler, die plattformübergreifende Anwendungen erstellen möchten, ist .NET MAUI eine beliebte Wahl unter den Frameworks. IronPDF unterstützt vollumfänglich die Konvertierung von XAML in PDF mit wenigen Schritten.

using IronPdf.Extensions.Maui;

namespace mauiSample;

public partial class MainPage : ContentPage
{
    public MainPage()
    {
        InitializeComponent();
    }

    private void PrintToPdf(object sender, EventArgs e)
    {
        ChromePdfRenderer renderer = new ChromePdfRenderer();

        // Apply HTML header
        renderer.RenderingOptions.HtmlHeader = new HtmlHeaderFooter()
        {
            HtmlFragment = "<h1>Header</h1>",
        };

        // Render PDF from Maui Page
        PdfDocument pdf = renderer.RenderContentPageToPdf<MainPage, App>().Result;

        pdf.SaveAs(@"C:\Users\lyty1\Downloads\contentPageToPdf.pdf");
    }
}

Für eine ausführlichere Erklärung dieses Codebeispiels und zur Erkundung seiner zusätzlichen Funktionalität lesen Sie bitte unseren umfassenden Leitfaden.

PDF-Berichte erstellen

Beim Erstellen von PDF-Berichten sind die genauen Abmessungen und das Format entscheidend. Somit ermöglicht IronPDF die nahtlose Erstellung von PDFs mit nur wenigen Schritten.

using IronPdf;

ChromePdfRenderer renderer = new ChromePdfRenderer();

renderer.RenderHtmlFileAsPdf("report.html").SaveAs("report.pdf");

Für eine ausführlichere Erklärung dieses Codebeispiels und zur Erkundung seiner zusätzlichen Funktionalität lesen Sie bitte unseren umfassenden Leitfaden.

PDFs in Blazor-Servern erstellen

IronPDF unterstützt .NET 6, und da es Projekttypen wie Blazor umfasst, bietet dieses Codebeispiel ein kurzes Beispiel dafür, wie Sie PDFs in Blazor Server erstellen können.

@code {

    // Model to bind user input
    private InputHTMLModel _InputMsgModel = new InputHTMLModel();

    private async Task SubmitHTML()
    {
        // Set your IronPDF license key
        IronPdf.License.LicenseKey = "IRONPDF-MYLICENSE-KEY-1EF01";

        // Create a renderer to convert HTML to PDF
        var render = new IronPdf.ChromePdfRenderer();

        // Render the HTML input into a PDF document
        var doc = render.RenderHtmlAsPdf(_InputMsgModel.HTML);

        var fileName = "iron.pdf";

        // Create a stream reference for the PDF content
        using var streamRef = new DotNetStreamReference(stream: doc.Stream);

        // Invoke JavaScript function to download the PDF in the browser
        await JS.InvokeVoidAsync("SubmitHTML", fileName, streamRef);
    }

    public class InputHTMLModel
    {
        public string HTML { get; set; } = "My new message";
    }
}

Für eine ausführlichere Erklärung dieses Codebeispiels und zur Erkundung seiner zusätzlichen Funktionalität lesen Sie bitte unseren umfassenden Leitfaden.

Razor zu PDF (Blazor Server)

Neben der Erstellung von PDFs auf Blazor-Servern unterstützt IronPDF auch die Erstellung von PDF-Dokumenten aus Razor-Komponenten innerhalb einer Blazor-Seite. Dies macht die Erstellung von PDF-Dateien und -Seiten viel einfacher.

[Parameter]
public IEnumerable<PersonInfo> persons { get; set; }
public Dictionary<string, object> Parameters { get; set; } = new Dictionary<string, object>();
 
protected override async Task OnInitializedAsync()
{
    persons = new List<PersonInfo>
    {
        new PersonInfo { Name = "Alice", Title = "Mrs.", Description = "Software Engineer" },
        new PersonInfo { Name = "Bob", Title = "Mr.", Description = "Software Engineer" },
        new PersonInfo { Name = "Charlie", Title = "Mr.", Description = "Software Engineer" }
    };
}
private async void PrintToPdf()
{
    ChromePdfRenderer renderer = new ChromePdfRenderer();
 
    // Apply text footer
    renderer.RenderingOptions.TextFooter = new TextHeaderFooter()
        {
            LeftText = "{date} - {time}",
            DrawDividerLine = true,
            RightText = "Page {page} of {total-pages}",
            Font = IronSoftware.Drawing.FontTypes.Arial,
            FontSize = 11
        };
 
    Parameters.Add("persons", persons);
 
    // Render razor component to PDF
    PdfDocument pdf = renderer.RenderRazorComponentToPdf<Person>(Parameters);
 
    File.WriteAllBytes("razorComponentToPdf.pdf", pdf.BinaryData);
}

Für eine ausführlichere Erklärung dieses Codebeispiels und zur Erkundung seiner zusätzlichen Funktionalität lesen Sie bitte unseren umfassenden Leitfaden.

CSHTML zu PDF

Die Konvertierung von CSHTML (Razor) in PDF ermöglicht es Ihnen, direkt aus Ihren Webanwendungen professionelle, druckreife Dokumente zu erstellen. Dies ist nützlich für Rechnungen, Berichte, Verträge oder jegliche dynamische Inhalte. IronPDF unterstützt Razor Pages, MVC Core und MVC Framework sowie headless Rendering und ermöglicht eine nahtlose Integration der PDF-Erstellung in Ihre .NET-Anwendungen mit nur wenigen Codezeilen.

CSHTML zu PDF (Razor Pages)
using IronPdf.Razor.Pages;
 
public IActionResult OnPostAsync()
{
    persons = new List<Person>
    {
    new Person { Name = "Alice", Title = "Mrs.", Description = "Software Engineer" },
    new Person { Name = "Bob", Title = "Mr.", Description = "Software Engineer" },
    new Person { Name = "Charlie", Title = "Mr.", Description = "Software Engineer" }
    };
 
    ViewData["personList"] = persons;
 
    ChromePdfRenderer renderer = new ChromePdfRenderer();
 
    // Render Razor Page to PDF document
    PdfDocument pdf = renderer.RenderRazorToPdf(this);
 
    Response.Headers.Add("Content-Disposition", "inline");
 
    return File(pdf.BinaryData, "application/pdf", "razorPageToPdf.pdf");
}

Für eine ausführlichere Erklärung dieses Codebeispiels und zur Erkundung seiner zusätzlichen Funktionalität lesen Sie bitte unseren umfassenden Leitfaden.

CSHTML zu PDF (MVC Core)
public async Task<IActionResult> Persons()
{
    var persons = new List<Person>
    {
    new Person { Name = "Alice", Title = "Mrs.", Description = "Software Engineer" },
    new Person { Name = "Bob", Title = "Mr.", Description = "Software Engineer" },
    new Person { Name = "Charlie", Title = "Mr.", Description = "Software Engineer" }
    };
    if (_httpContextAccessor.HttpContext.Request.Method == HttpMethod.Post.Method)
    {
        ChromePdfRenderer renderer = new ChromePdfRenderer();
 
        // Render View to PDF document
        PdfDocument pdf = renderer.RenderRazorViewToPdf(_viewRenderService, "Views/Home/Persons.cshtml", persons);
        Response.Headers.Add("Content-Disposition", "inline");
 
        // Output PDF document
        return File(pdf.BinaryData, "application/pdf", "viewToPdfMVCCore.pdf");
    }
    return View(persons);
}

Für eine ausführlichere Erklärung dieses Codebeispiels und zur Erkundung seiner zusätzlichen Funktionalität lesen Sie bitte unseren umfassenden Leitfaden.

CSHTML zu PDF (MVC Framework)
public ActionResult Persons()
{
    var persons = new List<Person>
    {
    new Person { Name = "Alice", Title = "Mrs.", Description = "Software Engineer" },
    new Person { Name = "Bob", Title = "Mr.", Description = "Software Engineer" },
    new Person { Name = "Charlie", Title = "Mr.", Description = "Software Engineer" }
    };
    if (HttpContext.Request.HttpMethod == "POST")
    {
        // Provide the path to your view file
        var viewPath = "~/Views/Home/Persons.cshtml";
        ChromePdfRenderer renderer = new ChromePdfRenderer();
 
        // Render Razor view to PDF document
        PdfDocument pdf = renderer.RenderView(this.HttpContext, viewPath, persons);
        Response.Headers.Add("Content-Disposition", "inline");
 
        // View the PDF
        return File(pdf.BinaryData, "application/pdf");
    }
    return View(persons);
}

Für eine detailliertere Erklärung dieses Codebeispiels und um zusätzliche Funktionen zu erkunden, bitte verweisen Sie auf unser umfassendes Handbuch.

CSHTML zu PDF (Headlessly)
app.MapGet("/PrintPdf", async () =>
{
    // Set your IronPDF license key
    IronPdf.License.LicenseKey = "IRONPDF-MYLICENSE-KEY-1EF01";
    
    // Enable detailed logging for troubleshooting
    IronPdf.Logging.Logger.LoggingMode = IronPdf.Logging.Logger.LoggingModes.All;

    // Render the Razor view to an HTML string
    string html = await RazorTemplateEngine.RenderAsync("Views/Home/Data.cshtml");

    // Create a new instance of ChromePdfRenderer 
    ChromePdfRenderer renderer = new ChromePdfRenderer();
   
    // Render the HTML string as a PDF document
    PdfDocument pdf = renderer.RenderHtmlAsPdf(html, "./wwwroot");

    // Return the PDF file as a response
    return Results.File(pdf.BinaryData, "application/pdf", "razorViewToPdf.pdf");
});

Für eine ausführlichere Erklärung dieses Codebeispiels und zur Erkundung seiner zusätzlichen Funktionalität lesen Sie bitte unseren umfassenden Leitfaden.

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.

EinstellungenBeschreibungBeispiel
PapiergrößeSeitendimensionen für bestehende PDFs einstellen (A4, Letter, Legal, etc.)PdfPaperSize.A4
PapierorientationHoch- oder Querformat für vorhandene PDFs einstellenPdfPaperOrientation.Landscape
MarginTop/Bottom/Left/RightSeitenränder in Millimetern einstellen (Standard: 25mm)
CssMediaTypeCSS für HTML zu PDF anzeigen oder druckenPdfCssMediaType.Print
PrintHtmlBackgroundsHintergrundfarben/Bilder einfügen (Standard: true)WAHR
EnableJavaScriptJavaScript vor dem Rendern von HTML-Inhalten ausführenWAHR
WaitFor.RenderDelayWartezeit 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");
Tipps: Verwenden 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.company.com/quarterly-report");
pdf.SaveAs("quarterly-report.pdf");

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.corp.local:8080"
);
pdf.SaveAs("proxied-report.pdf");

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>

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

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-Package 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.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");

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>
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.Collections.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");
        }
    }
}
C#
Tipps: Tipps 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 = PdfPrintSecurity.PrintLowQuality;

// 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"
};

// Apply signature to PDF documents
pdf.Sign(signature);
pdf.SaveAs("signed-contract.pdf");
C#

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");
Warnung: Jedes 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");

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.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.HttpRequestHeaders["Authorization"] = "Bearer eyJhbGciOi...";

var pdf = renderer.RenderUrlAsPdf("https://app.example.com/dashboard");
pdf.SaveAs("dashboard.pdf");
C#
Tipps: Bei 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

Wie generiere ich PDFs aus mehreren HTML-Snippets?

Um PDFs durch die Kombination von HTML-Snippets zu erzeugen, können Sie diese zusammenführen . Dadurch werden mehrteilige Berichte erstellt oder Inhalte aus verschiedenen Quellen kombiniert:

var renderer = new ChromePdfRenderer();

PdfDocument part1 = renderer.RenderHtmlAsPdf("<h1>Section 1</h1><p>First section content</p>");
PdfDocument part2 = renderer.RenderHtmlAsPdf("<h1>Section 2</h1><p>Second section content</p>");

var merged = PdfDocument.Merge(part1, part2);
merged.SaveAs("Merged.pdf");

// Alternative approach: copy specific pages
var combinedDoc = new PdfDocument();
combinedDoc.CopyPage(part1, 0); // Copy first page
combinedDoc.CopyPage(part2, 0); // Copy first page
combinedDoc.SaveAs("Combined.pdf");

Dies ist hilfreich beim Erstellen mehrteiliger Berichte aus verschiedenen HTML-Fragmenten. Sie können auch Lesezeichen hinzufügen , um die Navigation zu verbessern.

Die Adobe Acrobat-Benutzeroberfläche zeigt ein PDF-Dokument mit der Überschrift

Wie konvertiere ich HTML in Web-APIs in PDF?

In ASP.NET Web API können PDFs generiert und zurückgegeben werden, ohne sie auf der Festplatte zu speichern. Hierfür wird MemoryStream verwendet. Dieses Muster eignet sich ideal für Blazor Anwendungen und RESTful-Dienste:

[HttpGet("download")]
public IActionResult GetPdf()
{
    var renderer = new ChromePdfRenderer();
    string html = "<h1>Web Report</h1><p>Generated dynamically.</p>";

    var pdf = renderer.RenderHtmlAsPdf(html);
    var bytes = pdf.BinaryData;

    // Optional: Add metadata
    pdf.MetaData.Author = "API Service";
    pdf.MetaData.CreationDate = DateTime.Now;

    return File(bytes, "application/pdf", "report.pdf");
}

Dieses Muster eignet sich hervorragend für die serverseitige PDF-Generierung in .NET 10 Webanwendungen. Sie können CSHTML-Ansichten in MVC-Anwendungen integrieren.

Wie fügt man Kopfzeilen, Wasserzeichen und Sicherheitseinstellungen hinzu?

Hinzufügen Professional Kopf- und Fußzeilen

Kopf- und Fußzeilen, die Seitenzahlen, Datumsangaben oder Markenlogos anzeigen, machen mehrseitige Dokumente wesentlich lesbarer und Professional. IronPDF verarbeitet sie als HTML-Fragmente, sodass Sie die volle CSS-Formatierung einschließlich Bildern und Markenfarben nutzen können:

using IronPdf;

var renderer = new ChromePdfRenderer();

renderer.RenderingOptions.HtmlHeader = new HtmlHeaderFooter
{
    MaxHeight = 50,
    HtmlFragment = "<div style='text-align:center;font-size:12px;'>Annual Report 2025 -- Confidential</div>",
    BaseUrl = new Uri(@"file:///C:/assets/")
};

renderer.RenderingOptions.HtmlFooter = new HtmlHeaderFooter
{
    MaxHeight = 30,
    HtmlFragment = "<div style='text-align:center;font-size:10px;'>Page {page} of {total-pages}</div>",
    DrawDividerLine = true
};

renderer.RenderingOptions.MarginTop = 60;
renderer.RenderingOptions.MarginBottom = 40;

var pdf = renderer.RenderHtmlAsPdf("<h1>Report Content</h1><p>Body text here.</p>");
pdf.SaveAs("report-with-headers.pdf");

Platzhalter wie {page} und {total-pages} werden bei der Darstellung automatisch ersetzt. Überprüfen Sie das Kopf- und Fußzeilen-Tutorial für dynamische Datumsinjektion, Logoplatzierung und wechselnde Seitenstile.

Anwendung von Wasserzeichen, Verschlüsselung und digitalen Signaturen

Wasserzeichen schützen Entwürfe und vertrauliche Berichte. Passwortschutz und Berechtigungseinstellungen schränken ein, wer eine PDF-Datei drucken, kopieren oder bearbeiten darf. Digitale Signaturen fügen Verträgen und regulierten Dokumenten eine überprüfbare Authentizitätsebene hinzu. Sie können alle drei in einem einzigen Arbeitsablauf kombinieren:

using IronPdf;
using System.Sicherheit.Cryptography.X509Certificates;

var renderer = new ChromePdfRenderer();
var pdf = renderer.RenderHtmlAsPdf("<h1>Contract Agreement</h1><p>Terms and conditions.</p>");

// Watermark
pdf.ApplyWatermark(
    "<div style='font-size:72px;color:red;opacity:0.3;'>DRAFT</div>",
    rotation: 45,
    opacity: 30
);

// Encryption and permissions
pdf.SicherheitSettings.UserPassword = "user123";
pdf.SicherheitSettings.OwnerPassword = "owner456";
pdf.SicherheitSettings.AllowUserPrinting = IronPdf.Sicherheit.PdfPrintSicherheit.NoPrint;
pdf.SicherheitSettings.AllowUserCopyPasteContent = false;

// Digital signature
var cert = X509CertificateLoader.LoadPkcs12FromFile("certificate.pfx", "password");
var signature = new PdfSignature(cert)
{
    SigningContact = "Jane Smith",
    SigningLocation = "New York, NY",
    SigningReason = "Contract Approval"
};
pdf.Sign(signature);
pdf.SaveAsRevision("signed-contract.pdf");
C#

Lernen Sie mehr über Wasserzeichentechniken , PDF-Sicherheitseinstellungen und zertifikatsbasierte Signaturen einschließlich HSM-Integration für Hardware-Sicherheitsmodule.

Meine Lieblingsbibliothek dieser Art ist IronPDF. Es ermöglicht eine schnelle und effiziente Bearbeitung von PDF-Dateien. Es verfügt auch über viele wertvolle Funktionen, wie das Exportieren in das PDF/A-Format und das digitale Signieren von PDF-Dokumenten.

Milan Jovanovic

Microsoft MVP

Fallstudie ansehen

IronOCR bedeutet, dass wir jährlich 40.000 $ durch manuelle Verarbeitung einsparen können, während die Produktivität gesteigert wird und Ressourcen für wichtige Aufgaben freigesetzt werden. Ich würde es sehr empfehlen.

Brent Matzelle

Technischer Leiter, OPYN

Fallstudie ansehen

Die Iron Suite spielt eine entscheidende Rolle in unseren Operationen. Diese Werkzeuge erhöhen die Effizienz im gesamten Unternehmen, einschließlich der Erstellung von Grundrissen und der Verbesserung des Bestandsmanagements.

David Jones

Leitender Software-Ingenieur, Agorus Build

Fallstudie ansehen

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.

PlattformMin RessourcenPaketAutoConfigTemporärer PfadSchlüssel-Fang
Azure App ServiceStufe B1 (Grundstufe)IronPdf.Linuxtrue/tmpKostenlose/Shared-Tarife scheitern – keine GPU, zu wenig Speicher
Azure Functions (Windows)B1-EbeneIronPdftrue/tmpDeaktivieren Sie die Option "Aus Paketdatei ausführen".
AWS Lambda512 MB / 330 Sekunden TimeoutIronPdf.Linuxtrue/tmp (erforderlich)Das Standarddateisystem ist schreibgeschützt.
Docker (Ubuntu/Debian)BildabhängigIronPdf.LinuxfalseStandardbildAuf 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");
Vorsicht: Die 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.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;
    }
}
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.

PlattformPaketSchlüsselkonfiguration
Ubuntu 22.04 / DebianIronPdf.LinuxStandardeinstellung – funktioniert sofort nach dem Auspacken
Alpine LinuxIronPdf.LinuxInstallieren Sie Chromium über eine APK-Datei in der Dockerfile.
Amazon Linux 2IronPdf.LinuxVerwenden Sie LinuxAndDockerDependenciesAutoConfig = true
Windows-ContainerIronPdfKeine 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"]
Text

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");

VERWANDTE EINSTIEGSLEITFADEN: So verwenden Sie IronPDF mit Docker

Wie kann die HTML-zu-PDF-Leistung in .NET Core optimiert und skaliert werden?

IronPDFs Chromium-Engine rendert die meisten Seiten bereits in < 1 s auf moderner Hardware, aber der Durchsatz kann durch Batch-Verarbeitung, Aktivierung von Multithreading und Reduzierung des Headless Chrome-Overheads vervielfacht werden. Die folgenden Tipps gelten gleichermaßen für alle .NET-Versionen.

1. Batch-Rendern in einem Hintergrund-Thread-Pool

IronPdf.License.LicenseKey = "YourLicenseKey";
ChromePdfRenderer renderer = new ChromePdfRenderer();

// Set rendering options
renderer.RenderingOptions.PaperSize = IronPdf.Rendering.PdfPaperSize.A4;
renderer.RenderingOptions.PaperOrientation = IronPdf.Rendering.PdfPaperOrientation.Portrait;

renderer.RenderHtmlFileAsPdf(@"testFile.html").SaveAs("GeneratedFile.pdf");

2. Startkosten für Headless Chrome reduzieren

IronPDF liefert sein eigenes Chromium-Build, aber jeder Render verursacht eine kleine Startsteuer. Pooling hilft, und Linux-Container müssen zwei native libs enthalten:

RUN apt-get update && \
    apt-get install -y --no-install-recommends libnss3 libatk1.0-0
Text

Das Fehlen einer der Bibliotheken manifestiert sich als libnss3.so not found Fehler in den Docker-Protokollen.

Empfohlene Chrome-Flags (automatisch von IronPDF angewendet) beinhalten --disable-gpu und --no-sandbox, um Speicher- und Root-User-Probleme in Containern zu reduzieren.

3. Warten Sie auf spätes JavaScript mit RenderDelay oder WaitFor

Seiten, die Zähler animieren oder Daten nach DOMContentLoaded abrufen, benötigen möglicherweise eine kurze Verzögerung:

renderer.RenderingOptions.RenderDelay = 200;        // ms
// OR: renderer.RenderingOptions.JavaScript = "WaitFor('window.doneLoading')";

Siehe das dedizierte WaitFor-Tutorial für benutzerdefinierte Versprechen und DOM-Abfragen.

4. Debug-Logging für eine Anfrage aktivieren

IronPdf.License.LicenseKey = "YourLicenseKey";
PdfDocument pdf = PdfDocument.FromFile("1.pdf");
PdfDocument pdf2 = PdfDocument.FromFile("2.pdf");
pdf.AppendPdf(pdf2);
pdf.SaveAs("appendedFile.pdf");

Live DevTools-Spuren zeigen fehlende Schriftarten, 404-Bilder und Zeitsereignisse ohne erneutes Kompilieren des Codes.

5. PDF-Vorlagen wiederverwenden anstatt neu zu rendern

Für Rechnungsdurchläufe, erstellen Sie ein Vorlagen-PDF mit Platzhaltern wie [[name]] und führen Sie einen Textaustausch durch, anstatt komplexes HTML neu zu erstellen. Es ist 10× schneller und speicherschonend.

Weiterführende Lektüre


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ösungWann zu verwendenAm besten geeignet für
IronPDFKonvertierung moderner Websites/HTML in PDF mit exakter visueller Treue.Unternehmensanwendungen, die eine zuverlässige HTML-Rendering-Engine, dynamische Inhalte und professionellen Support erfordern.
wkhtmltopdfEinfache HTML-Konvertierung in unkritischen Anwendungen, bei denen eine veraltete Darstellung akzeptabel ist.Grundlegende Dokumentenerierung mit Legacy HTML/CSS.
SyncfusionWenn 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.PDFKomplexe 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:IronPDFwkhtmltopdfiTextAspose.PDFSyncfusionApryseSelectPdfSpire.PDFPDFSharpQuestPDF
Rendering & Konvertierung
Rendering-GenauigkeitPixelperfekt – das BesteDruckansichtNur programmatischGutGutGutGutNiedriges NiveauKeine DarstellungCode-First-Layout
HTML5-UnterstützungVollVeraltetHinzufügen AufTeilweiseVollModulVollBeschränktNEINNein (Code-First)
CSS3-UnterstützungVollBeschränktHinzufügen AufTeilweiseVollModulVollBeschränktNEINNein (Code-First)
JavaScript-AusführungVollständigBestNEINNEINUmstrittenBeschränktBeschränktBeschränktSehr begrenztNEINNEIN
HTML→PDF (Modernes Layout)Eingebettetes Chromium BestQt WebKit (veraltet)Kostenpflichtiges ZusatzangebotTeilweise; JS umstrittenBlink EngineErfordert ModulVollständiges HTML→PDFBildbasiertNEINKein HTML-Renderer
PDF→BildwiedergabeJaNEINJaJaJaJaNEINBeschränktNEINNur eigene Dokumente
Dokumentenvorgänge
PDFs programmatisch generierenJaNEINJaJaJaJaNur HTMLJaGrundlegendJa (Fluent API)
Zusammenführen, Aufteilen & Neu anordnenJaNEINJaJaJaJaJaJaBeschränktJa
Kopfzeilen / Fußzeilen / SeitenzahlenHTML/Text/Bild am bestenBegrenztJaÜber VeranstaltungenÜber VeranstaltungenJaVorlagenHandbuchNur HandbuchSpielautomaten erster Klasse
Wasserzeichen & StempelText & BildNEINJaJaJaJaJaBeschränktNEINJa (Overlays)
Text aus PDFs extrahierenJaNEINJaJaJaJaJaJaGrundlegendNEIN
OCR für gescannte PDFsÜber IronOCR IntegratedNEINHinzufügen AufSeparates ProduktHinzufügen AufHinzufügen AufNEINWorkaroundNEINNEIN
Sicherheit und Konformität
Digitale SignaturenJaNEINJaJaJaBeispielcodeJaNEINNEINNicht dokumentiert
PDF/A-KonformitätJa (PDF/A-3B)NEINVollständiges PDF/AValidieren & ErstellenErfordert ein natives SDKPDF-KonformitätNEINJaBeschränktPDF/A-2x & 3x
Plattform- und Entwicklererfahrung
PlattformübergreifendWindows · Linux · macOS Alle 3Abhängig von Binärdateien.NET Standard 2.0Linux-ZusatzkonfigurationBlink + .NET ServerNatives SDKNur für Windows *Begrenzte Linux-DokumentationWindows-orientiertWindows/Linux/macOS
Cloud- und Docker-BereitstellungAzure · AWS · Docker BesteKomplex; AltlastenMehrere PaketeTeilweise; ContainerBlink Extras benötigtEinheimische AbteilungenNur für WindowsBegrenzte InformationenEinfach; leichtDocker/K8s; Lokal
Support & Dokumentation
DokumentationUmfangreich + Kopieren /EinfügenTeilweise CLI-DokumentationUmfangreich; KBBreit; GitHubHilfezentrumSprachübergreifender KatalogLeitfäden für EinsteigerProgrammCommunity-LeitfädenStrukturierte + Begleit-App
Entwicklerunterstützung24/7 Ingenieure BesteNur für die CommunityAbonnement inklusiveForum + Bezahlt24/5 Direct-TracKommerziellE-MailForum + E-MailNur für die CommunityCommunity + GitHub
Lizenzierung & Preisgestaltung
LizenzmodellEwigeOpen SourceAGPL / AbonnementEwigeJahresabonnementKundenspezifisch / VerbrauchEwigeJahresabonnementKostenlos (MIT)MIT Kostenlose / Bezahlte Stufen
Startpreis$999Unbefristet · 1 Entwickler style="color:#16a34a">Frei~45.000 $/JahrIndividuelles Angebot1.175 $+pro Entwickler995 $/JahrAbonnement · Kostenlos <1 Mio. $~9.000 $+/JahrIndividuelles Angebot499 $+Unbefristet999 $/JahrJahresabonnement style="color:#16a34a">Frei style="color:#16a34a">KostenloseCommunity MIT <1 Mio. $
Kostenlose Testversion30 Tage · Voller Funktionsumfang · Keine EinschränkungenNicht verfügbar (kostenlos)30 TageJa (mit Wasserzeichen)Community <$1M RevJaCommunity (5 Seiten)Kostenlos (10 Seiten)Nicht verfügbar (kostenlos)N/A (MIT Free <$1M)
PreistransparenzVeröffentlicht und am bestenOpen SourceKomplex AGPLViele EbenenAngebot anfordernKeine Preisangaben veröffentlichtVeröffentlichtVeröffentlichtMIT-Lizenz; Keine EinschränkungenMIT; 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-DokumentenSiehe How-To
Hinzufügen von benutzerdefinierten Kopf- und Fußzeilen zu PDF-DateienSiehe How-To
Schwärzen von Text und Regionen in PDF-DateienSiehe 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 für .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.

Welche kostenlosen HTML-zu-PDF-Optionen for .NET gibt es?

Open-Source-Lösungen wie wkhtmltopdf, PuppeteerSharp und Playwright konvertieren HTML kostenlos in PDF, tauschen aber Bedienkomfort gegen Wartung ein — ältere Render-Engines, mitgelieferte Browser-Binaries oder manuelle Serverkonfiguration. IronPDF ist kommerziell, bietet jedoch eine kostenlose 30-Tage-Testversion mit allen Funktionen und ohne Wasserzeichen während der Entwicklung; Produktionslizenzen beginnen bei $999. Preise ansehen →

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 →

Warum ist mein HTML-zu-PDF-Ausdruck leer oder hat fehlende Inhalte?

Ein leeres oder unvollständiges PDF bedeutet fast immer, dass die Seite nicht vollständig gerendert wurde, als sie aufgenommen wurde, oder dass ihre Elemente nicht geladen wurden. Für dynamische oder JavaScript-gesteuerte Inhalte setzen Sie RenderingOptions.EnableJavaScript = true und fügen Sie eine WaitFor.RenderDelay (oder WaitFor.HtmlQuerySelector) hinzu, damit Chrome das Rendering zuerst abschließt. Wenn lokale Bilder, CSS oder Schriftarten fehlen, geben Sie einen BaseUrlPath an, damit relative Pfade korrekt aufgelöst werden. Siehe WaitFor-Leitfaden →

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 für .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 die Produktion ist eine kommerzielle Lizenz erforderlich, die ab $999 beginnt. Es stehen Lite-, Plus-, Professional- und Enterprise-Stufen zur Verfügung. Preise ansehen →

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 Cameron Rimington in ein Unternehmen mit mehr als 50 Mitarbeitern verwandelt, das die NASA, Tesla und globale Regierungsbehörden beliefert.

...
Weiterlesen

Bereit anzufangen?

Nuget Downloads 20,878,335Version:2026.9gerade veröffentlicht

Holen Sie sich Ihre KOSTENLOSE

30-Tage-Testlizenz sofort.

bullet_checkedKeine Kreditkarte oder Kontoerstellung erforderlich
bullet_testTesten Sie in der Produktion
ohne Wasserzeichen
bullet_calendar30 Tage voll
funktionsfähiges Produkt
bullet_support24/5 technischer
Support während der Testphase
Erhalten Sie sofort Ihren kostenlosen 30-Tage-Testschlüssel.
Ihr Testlizenzschlüssel wurde Ihnen per E-Mail gesendet.
C# NuGet-Bibliothek für PDF
Installation mit NuGet

Version: 2026.9

PM > Install-Package IronPdf
nuget.org/packages/IronPdf/
  1. Rechtsklick auf Referenzen, NuGet-Pakete verwalten
  2. Wählen Sie Durchsuchen und suchen Sie nach 'IronPDF'
  3. Paket auswählen und installieren
C# PDF DLL
Download DLL

Version: 2026.9

oder laden Sie den Windows-Installer hier herunter.

  1. Laden Sie IronPDF herunter und entpacken Sie es in ein Verzeichnis wie ~/Libs innerhalb Ihres Lösungsverzeichnisses
  2. Im Visual Studio-Projektmappen-Explorer klicken Sie mit der rechten Maustaste auf Referenzen. Wählen Sie Durchsuchen, "IronPDF.dll"

Lizenzen ab 749 $

Key in blue circle

Holen Sie sich sofort Ihren kostenlosen 30-Tage-Testschlüssel.

Your trial license will be sent to your email address

Keine Einschränkungen. 100 % freigeschaltet. Keine Kreditkarte.

bullet_checkedIhr Testlizenzschlüssel wurde Ihnen per E-Mail gesendet.Keine Einschränkungen. 100 % freigeschaltet. Keine Kreditkarte.
  • Logo Aetna
  • Logo NASA
  • Logo GE
  • Logo Porsche
  • Logo USDA
  • Logo Qatar
Join Millions of Engineers who’ve tried IronPDF
Buchen Sie Ihre kostenlose Live-Demo
Booking Badge

Von Millionen von Ingenieur*innen weltweit vertraut

Kundenlogos von Iron Software
Erhalten Sie Ihre unverbindliche Beratung
Füllen Sie das Formular unten aus oder senden Sie eine E-Mail an sales@ironsoftware.com
Ihre Daten werden immer vertraulich behandelt.
Von Millionen von Ingenieur*innen weltweit vertraut
Kundenlogos von Iron Software
Erhalten Sie sofort Ihren kostenlosen 30-Tage-Testschlüssel.
Ihr Testlizenzschlüssel wurde Ihnen per E-Mail gesendet.