Wie man Razor-Ansichten kopflos in PDFs konvertiert
Der Begriff 'headless rendering' bezieht sich auf den Prozess des Renderns von Webinhalten ohne grafische Benutzeroberfläche (GUI) oder Browserfenster. Während das IronPdf.Extensions.Razor-Paket sehr nützlich ist, bietet es keine headless Rendering-Funktionen. Headless Rendering kann die Lücke schließen, die das IronPDF.Extensions.Razor-Paket nicht füllen kann.
Wir werden das Razor.Templating.Core-Paket verwenden, um von cshtml (Razor Views) zu html zu konvertieren, und dann IronPDF nutzen, um daraus PDF-Dokumente zu erstellen.
Dieser Artikel wurde durch das folgende YouTube-Video inspiriert:
Erste Schritte mit IronPDF
Beginnen Sie noch heute mit der Verwendung von IronPDF in Ihrem Projekt mit einer kostenlosen Testversion.
Wie man Razor-Ansichten kopflos in PDFs konvertiert
- Laden Sie die C#-Bibliothek zum Konvertieren von Razor Views in PDFs in einer ASP.NET Core-Webanwendung herunter
- Erstellen Sie eine neue Razor-Ansicht und bearbeiten Sie die Datei, um die Daten anzuzeigen
- Verwenden Sie die
RenderAsync
-Methode, um von Razor View zu HTML zu konvertieren - Konvertieren Sie HTML in PDF mit der
RenderHtmlAsPdf
-Methode - Laden Sie das Beispielprojekt für einen schnellen Einstieg herunter
Installieren Sie das Razor.Templating.Core-Paket, um Razor-Ansichten in HTML-Dokumente in einer ASP.NET Core-Webanwendung zu konvertieren.
Install-Package Razor.Templating.Core
Razor-Ansichten in PDFs rendern
Sie benötigen ein ASP.NET Core-Webanwendungsprojekt (Model-View-Controller), um Ansichten in PDF-Dateien umzuwandeln.
Eine Ansicht hinzufügen
- Klicken Sie mit der rechten Maustaste auf den Ordner "Home". Wählen Sie "Hinzufügen" und "Ansicht hinzufügen"
-
Erstellen Sie eine leere Razor-Ansicht und nennen Sie sie "Data.cshtml".
Datei Data.cshtml bearbeiten
Fügen Sie die HTML-Zeichenfolge hinzu, die Sie in PDF umwandeln 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>
Datei Program.cs bearbeiten
Fügen Sie innerhalb der Datei "Program.cs" den folgenden Code ein. Der folgende Code nutzt die RenderAsync
-Methode aus der Razor.Templating.Core-Bibliothek, um Razor-Ansichten in HTML zu konvertieren. Zweitens instanziiert es die ChromePdfRenderer-Klasse und übergibt die zurückgegebene HTML-Zeichenfolge an die RenderHtmlAsPdf
-Methode. Benutzer können RenderingOptions nutzen, um eine Reihe von Funktionen zu nutzen, wie das Hinzufügen von benutzerdefiniertem Text, einschließlich HTML-Kopf- und Fußzeilen im resultierenden PDF, das Festlegen benutzerdefinierter Ränder und das Anwenden von Seitenzahlen.
app.MapGet("/PrintPdf", async () =>
{
IronPdf.License.LicenseKey = "IRONPDF-MYLICENSE-KEY-1EF01";
IronPdf.Logging.Logger.LoggingMode = IronPdf.Logging.Logger.LoggingModes.All;
string html = await RazorTemplateEngine.RenderAsync("Views/Home/Data.cshtml");
ChromePdfRenderer renderer = new ChromePdfRenderer();
PdfDocument pdf = renderer.RenderHtmlAsPdf(html, "./wwwroot");
return Results.File(pdf.BinaryData, "application/pdf", "razorViewToPdf.pdf");
});
app.MapGet("/PrintPdf", async () =>
{
IronPdf.License.LicenseKey = "IRONPDF-MYLICENSE-KEY-1EF01";
IronPdf.Logging.Logger.LoggingMode = IronPdf.Logging.Logger.LoggingModes.All;
string html = await RazorTemplateEngine.RenderAsync("Views/Home/Data.cshtml");
ChromePdfRenderer renderer = new ChromePdfRenderer();
PdfDocument pdf = renderer.RenderHtmlAsPdf(html, "./wwwroot");
return Results.File(pdf.BinaryData, "application/pdf", "razorViewToPdf.pdf");
});
Ändern Sie die Asset-Verknüpfungen
Navigieren Sie zum Ordner "Views" -> Ordner "Shared" -> Datei "_Layout.cshtml". Ändern Sie in den Link-Tags das "~/" in "./".
Dies ist wichtig, weil "~/" nicht gut mit IronPDF zusammenarbeitet.
Das Projekt ausführen
Hier erfahren Sie, wie Sie das Projekt ausführen und ein PDF-Dokument erstellen.

Ausgabe PDF
ASP.NET Core MVC-Projekt herunterladen
Sie können den vollständigen Code für diese Anleitung herunterladen. Er wird als ZIP-Datei bereitgestellt, die Sie in Visual Studio als ASP.NET Core Web App (Model-View-Controller)-Projekt öffnen können.