IRONSOFTWAREHOME

How to Convert Razor Views to PDFs Headlessly in C#

Curtis Chau
Curtis Chau
Updated: 4. Juni 2026

Konvertieren Sie Razor-Ansichten in C# in PDF-Dateien, indem Sie Razor.Templating.Core verwenden, um cshtml-Dateien in HTML umzuwandeln, und nutzen Sie anschließend die RenderHtmlAsPdf-Methode von IronPDF, um PDF-Dokumente zu erstellen, ohne dass eine GUI oder ein Browserfenster erforderlich ist.

Headless Rendering verarbeitet Webinhalte ohne eine grafische Benutzeroberfläche. IronPdf.Extensions.Razor ist zwar nützlich, verfügt jedoch nicht über Headless-Rendering-Funktionen. Dieser Leitfaden füllt diese Lücke.

Wir verwenden Razor.Templating.Core, um cshtml in HTML zu konvertieren, und anschließend IronPDF, um PDFs zu generieren.

Schnellstart: Razor Ansichten in Sekundenschnelle in PDF konvertieren

Mit der Headless-Konvertierung von IronPDF können Sie Razor Views in PDF-Dateien umwandeln. Verwenden Sie IronPdf.HtmlToPdf.StaticRender.RenderHtmlAsPdf, um HTML aus Razor-Ansichten in PDFs zu rendern. Dieser Ansatz funktioniert nahtlos in ASP.NET Core-Umgebungen.

  1. 1Install IronPDF with NuGet Package Manager

    PM > Install-Package IronPdf

  2. 2Copy and run this code snippet.

    var html = await RazorTemplateEngine.RenderAsync("Views/Template.cshtml", model); 
    new IronPdf.ChromePdfRenderer().RenderHtmlAsPdf(html).SaveAs("output.pdf");
    C#
  3. 3Deploy to test on your live environment

    Start using IronPDF in your project today with a free trial
    arrow pointer

Installieren Sie Razor.Templating.Core, um Razor-Ansichten in ASP.NET Core-Webanwendungen in HTML zu konvertieren.

# Install the Razor.Templating.Core package using NuGet Package Manager
Install-Package Razor.Templating.Core
SHELL

Wie richte ich mein ASP.NET Core-Projekt für die Konvertierung von Razor in PDF ein?

Sie benötigen ein ASP.NET Core Web App (Model-View-Controller) Projekt, um Views in PDFs zu konvertieren. Die Einrichtung umfasst das Erstellen eines Projekts in Visual Studio, das Installieren von NuGet-Paketen und das Konfigurieren der Projektstruktur. Ähnliche Techniken finden Sie unter Konvertierung von CSHTML in PDF in MVC Core oder Konvertierung von CSHTML in PDF mit Razor Pages.

Warum brauche ich Razor.Templating.Core anstelle von IronPdf.Extensions.Razor?

Razor.Templating.Core bietet echtes Headless Rendering – die Konvertierung von Razor-Ansichten in HTML ohne Webkontext oder Browserfenster. Dies eignet sich für Hintergrunddienste, Konsolenanwendungen oder Umgebungen ohne Benutzeroberfläche. IronPdf.Extensions.Razor benötigt einen Webkontext, um zu funktionieren.

Welcher Projekttyp eignet sich am besten für die kopflose PDF-Erstellung?

ASP.NET Core Web App (Model-View-Controller)-Projekte bieten die notwendige Razor View-Infrastruktur mit flexiblen Bereitstellungsoptionen. Verwenden Sie diesen Ansatz in Hintergrunddiensten, Azure Functions oder Konsolenanwendungen. Siehe Einsatz von IronPDF auf Azure für die Cloud-basierte Erstellung.

Wie installiere ich die erforderlichen NuGet-Pakete?

Installieren Sie Pakete mit NuGet Package Manager. Sie benötigen IronPdf und Razor.Templating.Core:

// Install via Package Manager Console
Install-Package IronPdf
Install-Package Razor.Templating.Core

// Or add to your .csproj file
// <PackageReference Include="IronPdf" Version="2024.x.x" />
// <PackageReference Include="Razor.Templating.Core" Version="1.x.x" />

Wie erstelle und konfiguriere ich eine Razor-Ansicht für die PDF-Generierung?

  • Klicken Sie mit der rechten Maustaste auf den Ordner "Home". Wählen Sie "Hinzufügen" und dann "Ansicht hinzufügen"
  • Erstellen Sie eine leere Razor-Ansicht mit dem Namen "Data.cshtml".

Das Kontextmenü des Visual Studio Projektmappen-Explorers zeigt die Option

Welchen HTML-Inhalt sollte ich meiner Razor-Ansicht hinzufügen?

Fügen Sie den HTML-Code hinzu, den Sie als PDF wiedergeben möchten:

<table class="table">
    <tr>
        <th>Name</th>
        <th>Title</th>
        <th>Description</th>
    </tr>
    <tr>
        <td>John Doe</td>
        <td>Software Engineer</td>
        <td>Experienced software engineer specializing in web development.</td>
    </tr>
    <tr>
        <td>Alice Smith</td>
        <td>Project Manager</td>
        <td>Seasoned project manager with expertise in agile methodologies.</td>
    </tr>
    <tr>
        <td>Michael Johnson</td>
        <td>Data Analyst</td>
        <td>Skilled data analyst proficient in statistical analysis and data visualization.</td>
    </tr>
</table>
HTML

Verwenden Sie für komplexe Layouts CSS und Druckstile, um eine perfekte PDF-Darstellung zu gewährleisten. IronPDF unterstützt moderne CSS3-Funktionen für anspruchsvolle Dokumentenlayouts.

Warum Tabellen für die Anzeige von PDF-Daten verwenden?

Tabellen bieten strukturierte, organisierte Informationen, die sich gut in gedruckte Dokumente übertragen lassen. Sie müssen plattformübergreifend einheitlich formatiert und im PDF-Format lesbar sein. Die Rendering-Engine von IronPDF kann Tabellenlayouts gut verarbeiten, wobei Ränder, Abstände und Ausrichtungen erhalten bleiben. Für fortgeschrittene Formatierungen können Sie Benutzerdefinierte Ränder verwenden, um das Layout zu optimieren.

Was sind gängige Überlegungen zur Gestaltung von PDF-Ausgaben?

Verwenden Sie für die PDF-Ausgabe druckspezifische CSS-Medienabfragen, feste Pixelwerte anstelle von relativen Einheiten und eingebettete Schriftarten für eine einheitliche Darstellung. IronPDF unterstützt Webfonts und Icon Fonts für Markenkonsistenz. Beachten Sie Seitenumbrüche für mehrseitige Dokumente und angemessene Ränder für ein professionelles Erscheinungsbild.

Wie konfiguriere ich Program.cs für das Headless-PDF-Rendering?

Fügen Sie in Program.cs diesen Code ein. Es verwendet RenderAsync aus Razor.Templating.Core, um Razor-Ansichten in HTML zu konvertieren, instanziiert dann ChromePdfRenderer und übergibt das HTML an RenderHtmlAsPdf. Verwenden Sie RenderingOptions für benutzerdefinierten Text, Kopf- und Fußzeilen, Ränder und Seitenzahlen.

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();
    
    // Configure rendering options for professional output
    renderer.RenderingOptions.PaperSize = IronPdf.PdfPaperSize.A4;
    renderer.RenderingOptions.MarginTop = 25;
    renderer.RenderingOptions.MarginBottom = 25;
    renderer.RenderingOptions.MarginLeft = 20;
    renderer.RenderingOptions.MarginRight = 20;
   
    // 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");
});

Welche Rendering-Optionen kann ich auf meine PDFs anwenden?

IronPDF bietet umfangreiche Rendering-Optionen. Fügen Sie Kopf- und Fußzeilen hinzu, legen Sie angepasste Papiergrößen fest, steuern Sie Seitenausrichtung und fügen Sie Wasserzeichen hinzu. ChromePdfRenderer bietet über 50 Eigenschaften zur Anpassung der PDF-Erstellung.

Wie gehe ich mit Fehlern bei der PDF-Generierung um?

Implementierung einer Fehlerbehandlung für eine stabile PDF-Erzeugung:

try
{
    var html = await RazorTemplateEngine.RenderAsync("Views/Home/Data.cshtml");
    var renderer = new ChromePdfRenderer();
    var pdf = renderer.RenderHtmlAsPdf(html, "./wwwroot");
    return Results.File(pdf.BinaryData, "application/pdf", "razorViewToPdf.pdf");
}
catch (Exception ex)
{
    // Log the error details
    IronPdf.Logging.Logger.Log($"PDF generation failed: {ex.Message}");
    return Results.Problem("Failed to generate PDF", statusCode: 500);
}

Wann sollte ich die detaillierte Protokollierung aktivieren?

Ermöglichen Sie eine detaillierte Protokollierung während der Entwicklung und Fehlersuche. Die Protokollierung von IronPDF bietet Einblicke in das Rendering und hilft bei der Identifizierung von HTML-Parsing-, Asset-Lade- oder Konfigurationsproblemen. Für die Produktion verwenden Sie custom logging, um es in die Logging-Infrastruktur Ihrer Anwendung zu integrieren.

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

Navigieren Sie zu Ansichten > Freigegeben > _Layout.cshtml. Ändern Sie in Link-Tags "~/" in "./", da "~/" mit IronPDF nicht gut funktioniert.

Welche anderen pfadbezogenen Probleme sollte ich beachten?

Abgesehen von der Tilde (~) müssen Sie sicherstellen, dass die Bildquellen absolute Pfade oder korrekte relative Verweise verwenden. Verwenden Sie für externe Ressourcen Basis-URLs, um sicherzustellen, dass die Inhalte korrekt geladen werden. Bilder für Azure Blob Storage finden Sie unter Bilder aus Azure Blob Storage einbetten.

Wie wirken sich statische Assets auf die PDF-Generierung aus?

Statische Elemente (CSS, JavaScript, Bilder) wirken sich auf die Leistung und Qualität der PDF-Erstellung aus. Stellen Sie sicher, dass die Assets während des Renderings zugänglich sind, verwenden Sie optimierte Bilder und erwägen Sie die Einbettung von kritischem CSS inline für ein schnelleres Rendering. Erfahren Sie mehr über Rendering Delays und Timeouts for JavaScript-lastige Inhalte.

Wie teste ich meine Headless PDF Generation?

Führen Sie das Projekt aus, um ein PDF-Dokument zu erstellen.

Visual Studio mit einer laufenden ASP.NET-Core-MVC-App mit geöffneter Program.cs und erfolgreicher Debug-Ausgabe

PDF-Ausgabe

Wie soll meine endgültige PDF-Datei aussehen?

Ihre PDF-Datei sollte alle Razor View-Formatierungen beibehalten - Tabellenstrukturen, Schriftarten, Farben und Layout. Sie sollte die richtige Größe, saubere Ränder und ein professionelles Aussehen haben. Um die Qualität der Ausgabe zu überprüfen, verwenden Sie die Rasterungsfunktionen von IronPDF, um eine Vorschau der Seiten als Bilder anzuzeigen.

Wie kann ich häufige PDF-Rendering-Probleme beheben?

Häufige Probleme sind fehlende Stile, fehlerhafte Layouts oder unvollständige Inhalte. Aktivieren Sie eine detaillierte Protokollierung, überprüfen Sie Asset-Pfade und stellen Sie sicher, dass HTML korrekt validiert wird. Verwenden Sie bei komplexen Layouts die Chrome Debugging Tools, um vor der Konvertierung eine HTML-Vorschau anzuzeigen. Bei bestimmten Rendering-Problemen sollten Sie Wartezeiten verwenden, um sicherzustellen, dass der Inhalt vor dem Rendering geladen wird.

Wo kann ich ein vollständiges Arbeitsbeispiel herunterladen?

Laden Sie den vollständigen Code als gezipptes Visual Studio ASP.NET Core Web App (Model-View-Controller) Projekt herunter.

Klicken Sie hier, um das Projekt herunterzuladen.

Was sind die Voraussetzungen für die Ausführung des Beispielprojekts?

Sie benötigen Visual Studio 2019 oder höher mit .NET 6.0 SDK oder höher. Das Projekt erfordert eine Internetverbindung für die Wiederherstellung von NuGet-Paketen. Aktualisieren Sie Ihren IronPDF-Lizenzschlüssel in Program.cs, bevor Sie das Programm ausführen. Für die Bereitstellung finden Sie in der Windows-Installationsanleitung zusätzliche Anforderungen.

Wie passe ich das Beispiel für meinen Anwendungsfall an?

Das Beispiel bietet eine Grundlage für Ihre spezifischen Anforderungen. Fügen Sie dynamische Datenmodelle hinzu, implementieren Sie eine Zwischenspeicherung für häufig generierte PDFs oder integrieren Sie sie in eine bestehende Authentifizierung. Für fortgeschrittene Szenarien können Sie die asynchrone PDF-Erzeugung zur Verbesserung der Leistung oder die PDF-Komprimierung zur Verringerung der Dateigröße nutzen. Fügen Sie digitale Signaturen für die Authentizität von Dokumenten oder Passwortschutz für sensible Dokumente hinzu.

Frequently Asked Questions

Wie konvertiere ich Razor Views in C# in PDF ohne GUI?

Verwenden Sie Razor.Templating.Core, um cshtml-Dateien in HTML zu konvertieren, und verwenden Sie dann die RenderHtmlAsPdf-Methode von IronPDF, um PDFs ohne Probleme zu generieren. Mit diesem zweistufigen Verfahren können Sie Razor Views in PDF-Dokumente umwandeln, ohne eine grafische Benutzeroberfläche oder ein Browserfenster zu benötigen.

Wie kann ich am schnellsten eine Razor-Ansicht ohne Kopfzeile in eine PDF-Datei umwandeln?

Am schnellsten geht es mit zwei Codezeilen: Konvertieren Sie zunächst Ihre Razor-Ansicht mit RazorTemplateEngine.RenderAsync in HTML, und verwenden Sie dann die Methode ChromePdfRenderer().RenderHtmlAsPdf(html).SaveAs() von IronPDF, um die PDF-Datei zu erstellen und zu speichern.

Warum sollte ich Razor.Templating.Core anstelle von IronPdf.Extensions.Razor verwenden?

Razor.Templating.Core bietet echte Headless-Rendering-Funktionen, mit denen Sie Razor Views ohne Webkontext oder Browserfenster in HTML konvertieren können. IronPdf.Extensions.Razor ist zwar nützlich, benötigt aber einen Webkontext, um zu funktionieren, so dass Razor.Templating.Core besser für Hintergrunddienste und Konsolenanwendungen geeignet ist.

Welche Art von ASP.NET Core-Projekt benötige ich für die Headless-PDF-Generierung?

Verwenden Sie ein ASP.NET Core Web App (Model-View-Controller)-Projekt, das die erforderliche Razor View-Infrastruktur mit flexiblen Bereitstellungsoptionen bietet. Dieses Setup funktioniert gut mit IronPDF für Hintergrunddienste, Azure Functions oder Konsolenanwendungen.

Wie installiere ich die erforderlichen Pakete für die Konvertierung von Razor in PDF?

Installieren Sie Razor.Templating.Core mit dem NuGet Package Manager mit dem Befehl 'Install-Package Razor.Templating.Core'. Außerdem muss IronPDF in Ihrem Projekt installiert sein, um die Konvertierung von HTML in PDF durchzuführen.

Kann ich diesen Ansatz der Headless-PDF-Generierung in Cloud-Umgebungen verwenden?

Ja, die kopflose Razor-PDF-Konvertierung von IronPDF funktioniert hervorragend in Cloud-Umgebungen wie Azure Functions, AWS Lambda und containerisierten Anwendungen und ist damit ideal für skalierbare Dienste zur Dokumentenerstellung.

Curtis Chau
Technical Writer

Curtis Chau holds a Bachelor’s degree in Computer Science (Carleton University) and specializes in front-end development with expertise in Node.js, TypeScript, JavaScript, and React. Passionate about crafting intuitive and aesthetically pleasing user interfaces, Curtis enjoys working with modern frameworks and creating well-structured, visually appealing manuals.

...
Read More

Bereit anzufangen?

Nuget Downloads 20,389,208Version:2026.7gerade 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.

Testen Sie IronPDF kostenlos

In 5 Minuten einrichten

C# PDF DLL

Download DLL

Jetzt herunterladen

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"
C# NuGet-Bibliothek für PDF

Installation mit NuGet

                  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
Key in blue circle

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

bullet_checkedIhr Testlizenzschlüssel wurde Ihnen per E-Mail gesendet.
  • 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 related to IronPDF Product Demo

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.