Wie man CSHTML kopflos mit Razor in C# in PDF konvertiert | IronPDF

How to Convert Razor Views to PDFs Headlessly

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

Der Begriff 'headless rendering' bezieht sich auf den Prozess des Renderns von Webinhalten ohne grafische Benutzerschnittstelle (GUI) oder Browserfenster. Während das IronPdf.Extensions.Razor Paket sehr nützlich ist, bietet es keine headless rendering Funktionen. Headless rendering kann die Nutzungslücke schließen, die das IronPdf.Extensions.Razor Paket nicht erfüllen kann.

Wir werden das Razor.Templating.Core Paket nutzen, um von cshtml (Razor Views) zu HTML zu konvertieren, und dann IronPDF verwenden, um daraus PDF-Dokumente zu erstellen.

Schnellstart: Konvertieren von Razor Views in Sekundenschnelle in PDF

Verwandeln Sie Razor Views mit der headless Konvertierung von IronPDF einfach in PDF-Dokumente. Verwenden Sie die IronPdf.HtmlToPdf.StaticRender.RenderHtmlAsPdf-Methode, um Ihre aus Razor Views abgeleiteten HTML-Inhalte schnell in ein professionelles PDF zu rendern. Dieser optimierte Ansatz sorgt für einen reibungslosen und effizienten Prozess, ideal für Entwickler, die in ASP.NET Core-Umgebungen arbeiten. Erleben Sie die Einfachheit und Leistung von IronPDF für Ihre Dokumentenanforderungen.

Nuget IconGet started making PDFs with NuGet now:

  1. Install IronPDF with NuGet Package Manager

    PM > Install-Package IronPdf

  2. Copy and run this code snippet.

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

    Start using IronPDF in your project today with a free trial
    arrow pointer
class="hsg-featured-snippet">

Minimaler Workflow (5 Schritte)

  1. Laden Sie die C#-Bibliothek zum Konvertieren von Razor Views in PDFs in ASP.NET Core Web App herunter
  2. Erstellen Sie eine neue Razor View und bearbeiten Sie die Datei, um die Daten anzuzeigen
  3. Verwenden Sie die RenderAsync-Methode, um von Razor View in HTML zu konvertieren
  4. Konvertieren Sie HTML mit der RenderHtmlAsPdf-Methode in PDF
  5. Laden Sie das Beispielprojekt für einen schnellen Start herunter

Installieren Sie das Razor.Templating.Core-Paket, um Razor Views in HTML-Dokumente in einer ASP.NET Core Web App zu konvertieren.

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

Razor Views in PDFs rendern

Sie benötigen ein ASP.NET Core Web App (Model-View-Controller)-Projekt, um Ansichten in PDF-Dateien zu konvertieren.

Hinzufügen einer Ansicht

  • Klicken Sie mit der rechten Maustaste auf den Ordner "Home". Wählen Sie "hinzufügen" und "View hinzufügen".
  • Erstellen Sie eine leere Razor View und benennen Sie sie "Data.cshtml".

View hinzufügen

Datei Data.cshtml bearbeiten

Fügen Sie den HTML-String hinzu, den Sie als PDF rendern 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>
<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

Programm.cs-Datei bearbeiten

Fügen Sie die folgende Codezeile in die Datei "Program.cs" ein. Der folgende Code verwendet die RenderAsync-Methode aus der Razor.Templating.Core-Bibliothek, um Razor Views in HTML zu konvertieren. Zweitens instanziiert er die ChromePdfRenderer-Klasse und übergibt den zurückgegebenen HTML-String an die RenderHtmlAsPdf-Methode. Benutzer können RenderingOptions verwenden, um auf eine Reihe von Funktionen zuzugreifen, wie zum Beispiel das Hinzufügen von benutzerdefiniertem Text, das Einschließen von HTML-Kopf- und Fußzeilen im resultierenden PDF, das Definieren benutzerdefinierter Ränder und das Anwenden von 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();

    // 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");
});
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");
});
app.MapGet("/PrintPdf", Async Function()
	' 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
	Dim html As String = Await RazorTemplateEngine.RenderAsync("Views/Home/Data.cshtml")

	' Create a new instance of ChromePdfRenderer
	Dim renderer As New ChromePdfRenderer()

	' Render the HTML string as a PDF document
	Dim pdf As PdfDocument = renderer.RenderHtmlAsPdf(html, "./wwwroot")

	' Return the PDF file as a response
	Return Results.File(pdf.BinaryData, "application/pdf", "razorViewToPdf.pdf")
End Function)
$vbLabelText   $csharpLabel

Navigieren Sie zum Ordner "Views" -> "Shared" Ordner -> "_Layout.cshtml" Datei. Ändern Sie in den Link-Tags "~/" in "./".

Das ist wichtig, weil "~/" nicht gut mit IronPDF funktioniert.

Projekt ausführen

Dies zeigt Ihnen, wie Sie das Projekt ausführen und ein PDF-Dokument erstellen.

Ausführung des ASP.NET Core MVC Projekts

Ausgangs-PDF

ASP.NET Core MVC-Projekt herunterladen

Sie können den vollständigen Code für diesen Leitfaden herunterladen. Es kommt als gezippte Datei, die Sie in Visual Studio als ASP.NET Core Web App (Model-View-Controller)-Projekt öffnen können.

Klicken Sie hier, um das Projekt herunterzuladen.

Häufig gestellte Fragen

Wie kann ich Razor-Ansichten kopflos in PDFs konvertieren?

Um Razor-Ansichten kopflos in PDFs zu konvertieren, verwenden Sie das Razor.Templating.Core-Paket, um Razor-Ansichten als HTML darzustellen. Nutzen Sie anschließend die RenderHtmlAsPdf-Methode von IronPDF, um das HTML in ein PDF-Dokument zu konvertieren.

Was ist kopfloses Rendern und warum ist es nützlich?

Kopfloses Rendern ist der Prozess der Erstellung von Webinhalten ohne grafische Benutzeroberfläche. Es ist nützlich für Server-seitige Renderaufgaben wie das Erstellen von PDFs, bei denen eine GUI unnötig ist und Ressourcen gespart werden können.

Kann das IronPdf.Extensions.Razor-Paket für die kopflose PDF-Konvertierung verwendet werden?

Nein, das IronPdf.Extensions.Razor-Paket unterstützt kein kopfloses Rendern. Verwenden Sie stattdessen Razor.Templating.Core, um Razor-Ansichten in HTML zu konvertieren und dann IronPDF, um HTML in PDF zu konvertieren.

Welche Rolle spielt das Razor.Templating.Core-Paket bei der PDF-Konvertierung?

Das Razor.Templating.Core-Paket wird verwendet, um Razor-Ansichten in HTML-Strings zu konvertieren. Dieses HTML kann dann mit der RenderHtmlAsPdf-Methode von IronPDF in PDFs konvertiert werden.

Warum muss ich die Datei _Layout.cshtml für die IronPDF-Kompatibilität ändern?

Sie sollten die '~/'. im Link-Tags in './'. in der Datei _Layout.cshtml ändern, da IronPDF die '~/'. Pfade nicht gut verarbeitet. Die Verwendung von './'. stellt sicher, dass die Pfade während der PDF-Erstellung korrekt aufgelöst werden.

Wie kann ich Probleme bei der Konvertierung von Razor-Ansichten in PDF beheben?

Aktivieren Sie detailliertes Logging in IronPDF, indem Sie IronPdf.Logging.Logger.LoggingMode auf IronPdf.Logging.Logger.LoggingModes.All setzen. Dies liefert aufschlussreiche Protokolle, die bei der Diagnose und Lösung von Problemen während des Konvertierungsprozesses helfen können.

Welche Einrichtung ist in Program.cs für die Razor-Ansicht PDF-Konvertierung erforderlich?

Stellen Sie in Ihrer Program.cs sicher, dass die ASP.NET Core-Webanwendung korrekt konfiguriert ist, um Razor-Ansichten zu unterstützen, und verweisen Sie auf die notwendigen Pakete wie Razor.Templating.Core und IronPDF, um den Konvertierungsprozess zu erleichtern.

Wo kann ich ein vollständiges Beispielprojekt für die Razor-Ansicht in PDF-Konvertierung finden?

Ein vollständiges Beispielprojekt steht zum Download auf der IronPDF-Website zur Verfügung. Es enthält alle notwendigen Setups, um Razor-Ansichten in PDFs in einem ASP.NET Core-Webanwendungsprojekt (Model-View-Controller) zu konvertieren.

Ist IronPDF mit .NET 10 kompatibel, wenn Razor Views ohne Benutzeroberfläche in PDF konvertiert werden?

Ja. IronPDF unterstützt .NET 10, einschließlich des Pakets IronPdf.Extensions.Razor, das für das Zielframework net10.0 berechnet wurde und somit die Konvertierung von Razor View in PDF unter .NET 10 ermöglicht. ([nuget.org](https://www.nuget.org/packages/IronPdf.Extensions.Razor?utm_source=openai))

Chaknith Bin
Software Ingenieur
Chaknith arbeitet an IronXL und IronBarcode. Er hat umfassende Expertise in C# und .NET und hilft, die Software zu verbessern und Kunden zu unterstützen. Seine Einblicke aus Benutzerinteraktionen tragen zu besseren Produkten, Dokumentationen und einem insgesamt besseren Erlebnis bei.
Bereit anzufangen?
Nuget Downloads 16,154,058 | Version: 2025.11 gerade veröffentlicht