Wie man Razor in PDF bei Blazor Server mit C# konvertiert

How to Convert Razor to PDF in Blazor Server

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

Eine Razor-Komponente ist ein Benutzeroberflächenelement, wie eine Seite, ein Dialog oder ein Dateneingabeformular, das mit C#- und Razor-Syntax erstellt wird. Sie dient als wiederverwendbarer Bestandteil der Benutzeroberfläche.

Blazor Server ist ein Webframework, das es ermöglicht, interaktive Web-Benutzeroberflächen mit C# anstelle von JavaScript zu erstellen. In diesem Framework läuft die Logik für Komponenten auf dem Server.

IronPDF ermöglicht es Ihnen, PDF-Dokumente aus Razor-Komponenten in einem Blazor-Serverprojekt oder einer Anwendung zu erstellen. Das macht die Erstellung von PDF-Dateien/Seiten in Blazor Server einfach.

als-Überschrift:2(Schnellstart: Konvertieren Sie eine Razor-Komponente in Minuten zu PDF)

Konvertieren Sie einfach Razor-Komponenten zu PDF in Ihren Blazor Server-Anwendungen mit IronPDF. Mit nur wenigen Zeilen Code ermöglicht die IronPDF-Methode RenderRazorComponentToPdf, Ihre Razor-Komponenten in PDFs in professioneller Qualität zu transformieren. Folgen Sie diesem schnellen Leitfaden, um die Konvertierung von Razor zu PDF nahtlos in Ihr Projekt zu integrieren, was ein effizientes Rendering mit minimalem Setup ermöglicht. Ideal für Entwickler, die eine schnelle Implementierung suchen, bietet diese Methode Flexibilität mit Optionen zur weiteren Anpassung und gewährleistet einen einfachen, aber leistungsstarken PDF-Generierungsprozess.

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.

    // Install-Package IronPdf.Extensions.Blazor
    var pdf = new IronPdf.ChromePdfRenderer()
        .RenderRazorComponentToPdf<MyComponent>(new Dictionary<string,object> { {"persons",personsList} })
        .SaveAs("component‑to‑pdf.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 Arbeitsablauf (5 Schritte)

  1. Laden Sie die C#-Bibliothek zum Konvertieren von Razor in PDF in Blazor Server herunter
  2. Fügen Sie eine Modellklasse für die Daten hinzu
  3. Erstellen Sie eine neue Razor-Komponente und verwenden Sie die RenderRazorComponentToPdf-Methode
  4. Fügen Sie dem linken Menü einen Abschnitt hinzu, um auf die neue Razor-Komponente zuzugreifen
  5. Laden Sie das Beispielprojekt für einen schnellen Start herunter

IronPDF Erweiterungspaket

Das IronPdf.Extensions.Blazor Paket ist eine Erweiterung des Hauptpakets IronPdf. Sowohl das IronPdf.Extensions.Blazor- als auch das IronPdf-Paket werden benötigt, um Razor-Komponenten in PDF-Dokumente in einer Blazor Server App zu rendern.

Install-Package IronPdf.Extensions.Blazor
class="products-download-section">
data-modal-id="trial-license-after-download">
class="product-image"> C# NuGet-Bibliothek für PDF
class="product-info">

Installieren mit NuGet

class="copy-nuget-row">
Install-Package IronPdf.Extensions.Blazor
class="copy-button">
class="nuget-link">nuget.org/packages/IronPdf.Extensions.Blazor/

Razor-Komponenten als PDFs rendern

Ein Blazor Server App-Projekt ist erforderlich, um Razor-Komponenten zu PDFs zu konvertieren.

Fügen Sie eine Modellklasse hinzu

Fügen Sie eine standardmäßige C#-Klasse hinzu und benennen Sie sie PersonInfo. Diese Klasse dient als Modell zum Speichern von Personeninformationen. Fügen Sie den folgenden Code ein:

:path=/static-assets/pdf/content-code-examples/how-to/razor-to-pdf-blazor-server-model.cs
namespace BlazorSample.Data
{
    public class PersonInfo
    {
        public int Id { get; set; }
        public string Name { get; set; }
        public string Title { get; set; }
        public string Description { get; set; }
    }
}
Namespace BlazorSample.Data
	Public Class PersonInfo
		Public Property Id() As Integer
		Public Property Name() As String
		Public Property Title() As String
		Public Property Description() As String
	End Class
End Namespace
$vbLabelText   $csharpLabel

Fügen Sie eine Razor-Komponente hinzu

Verwenden Sie die RenderRazorComponentToPdf-Methode, um Razor-Komponenten in PDFs zu konvertieren. Greifen Sie auf diese Methode zu, indem Sie die ChromePdfRenderer-Klasse instanziieren. Die Methode gibt ein PdfDocument-Objekt zurück, das es Ihnen ermöglicht, das PDF-Dokument entweder zu exportieren oder weiter zu bearbeiten.

The returned PdfDocument can undergo additional modifications, such as conversion to PDF/A or PDF/UA formats. You can also merge or split the PDF document, rotate its pages, and add annotations or bookmarks. Benutzerdefinierte Wasserzeichen können ebenfalls auf Ihr PDF gestempelt werden.

Fügen Sie eine Razor-Komponente hinzu und benennen Sie sie Person.razor. Geben Sie den folgenden Code ein:

@page "/Person"
@using BlazorSample.Data;
@using IronPdf;
@using IronPdf.Extensions.Blazor;

<h3>Person</h3>

@code {
    // A parameter to receive a list of persons from the parent component.
    [Parameter]
    public IEnumerable<PersonInfo> persons { get; set; }

    // Dictionary to hold parameters that will be passed to the PDF renderer.
    public Dictionary<string, object> Parameters { get; set; } = new Dictionary<string, object>();

    protected override async Task OnInitializedAsync()
    {
        // Initialize the persons list with some sample data.
        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 to the PDF pages.
        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 and save it.
        PdfDocument pdf = renderer.RenderRazorComponentToPdf<Person>(Parameters);
        File.WriteAllBytes("razorComponentToPdf.pdf", pdf.BinaryData);
    }
}

<table class="table">
    <tr>
        <th>Name</th>
        <th>Title</th>
        <th>Description</th>
    </tr>
    @foreach (var person in persons)
    {
        <tr>
            <td>@person.Name</td>
            <td>@person.Title</td>
            <td>@person.Description</td>
        </tr>
    }
</table>

<button class="btn btn-primary" @onclick="PrintToPdf">Print to Pdf</button>

Darüber hinaus gewährt Ihnen die Verwendung dieser Methode zur Erstellung eines PDFs vollständigen Zugriff auf alle Funktionen in RenderingOptions. Dies umfasst die Möglichkeit, Text sowie HTML-Header und -Footer einzufügen. Außerdem können Sie Seitenzahlen hinzufügen und die Seitengröße und -layout nach Belieben anpassen.

Fügen Sie einen Abschnitt zum linken Menü hinzu

  • Navigieren Sie zum "Shared folder" und öffnen Sie NavMenu.razor.
  • Fügen Sie den Abschnitt hinzu, der unsere Razor-Komponente, Person, öffnet. Unsere Personenkomponente wird die zweite Option sein.
<div class="@NavMenuCssClass" @onclick="ToggleNavMenu">
    <nav class="flex-column">
        <div class="nav-item px-3">
            <NavLink class="nav-link" href="" Match="NavLinkMatch.All">
                <span class="oi oi-home" aria-hidden="true"></span> Home
            </NavLink>
        </div>
        <div class="nav-item px-3">
            <NavLink class="nav-link" href="Person">
                <span class="oi oi-list-rich" aria-hidden="true"></span> Person
            </NavLink>
        </div>
        <div class="nav-item px-3">
            <NavLink class="nav-link" href="counter">
                <span class="oi oi-plus" aria-hidden="true"></span> Counter
            </NavLink>
        </div>
        <div class="nav-item px-3">
            <NavLink class="nav-link" href="fetchdata">
                <span class="oi oi-list-rich" aria-hidden="true"></span> Fetch data
            </NavLink>
        </div>
    </nav>
</div>

Das Projekt ausführen

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

Blazor Server Project ausführen

Blazor Server App-Projekt herunterladen

Sie können den vollständigen Code für diesen Leitfaden herunterladen. Es kommt als ZIP-Datei, die Sie in Visual Studio als Blazor Server App-Projekt öffnen können.

Laden Sie das Blazor-Beispielprojekt für die Konvertierung von Razor zu PDF herunter

Bereit zu sehen, was Sie sonst noch tun können? Schauen Sie sich unsere Tutorial-Seite hier an: PDFs konvertieren

Häufig gestellte Fragen

Wie können Sie Razor-Komponenten in einem Blazor Server-Projekt zu PDFs konvertieren?

Sie können die Methode `RenderRazorComponentToPdf` von IronPDF verwenden, um Razor-Komponenten in einem Blazor Server-Projekt in PDF-Dokumente umzuwandeln.

Was sind die wichtigsten Schritte zur Einrichtung der PDF-Erstellung aus Razor-Komponenten?

Die wichtigsten Schritte umfassen das Herunterladen der IronPDF-Bibliothek von NuGet, das Hinzufügen einer Modellklasse für Daten, das Erstellen einer Razor-Komponente und die Verwendung der `RenderRazorComponentToPdf`-Methode zur Konvertierung.

Warum benötigen Sie das IronPdf.Extensions.Blazor-Paket?

Das IronPdf.Extensions.Blazor-Paket ist notwendig, um Razor-Komponenten in PDF-Dokumenten in einer Blazor Server-Anwendung zu rendern.

Wie installiert man IronPdf.Extensions.Blazor in einem Blazor Server-Projekt?

Sie können das IronPdf.Extensions.Blazor-Paket mit NuGet und dem Befehl Install-Package IronPdf.Extensions.Blazor installieren.

Welche Funktionalität bietet die `RenderRazorComponentToPdf`-Methode?

Die `RenderRazorComponentToPdf`-Methode wandelt Razor-Komponenten in PDF-Dokumente um und ermöglicht weitere Anpassungen wie das Hinzufügen von Anmerkungen oder Lesezeichen.

Welche Optionen gibt es zur Anpassung von PDF-Dokumenten im Blazor Server?

Anpassungsoptionen umfassen das Einfügen von Text, das Hinzufügen von HTML-Headern und -Fußzeilen, Seitenzahlen und das Anpassen der Seitendimensionen mit RenderingOptions in IronPDF.

Wie können Sie eine Razor-Komponente in das linke Menü einer Blazor Server-App integrieren?

Um eine Razor-Komponente zum linken Menü hinzuzufügen, navigieren Sie zum Shared-Ordner, öffnen Sie NavMenu.razor und fügen einen Abschnitt mit einem NavLink zu Ihrer Komponente hinzu.

Wo finden Sie ein Beispielprojekt zur Konvertierung von Razor-Komponenten zu PDF?

Ein vollständiger Beispielprojektcode kann als gezippte Datei von der IronPDF-Website heruntergeladen und in Visual Studio als Blazor Server-App-Projekt geöffnet werden.

Welche Rolle spielt eine Modellklasse bei der PDF-Konvertierung von Razor-Komponenten?

Eine Modellklasse, wie z.B. `PersonInfo`, enthält die Daten, die in der Razor-Komponente angezeigt werden sollen, und ist entscheidend für die dynamische Inhaltserzeugung in PDF-Dokumenten.

Was sind die Vorteile der Verwendung von Razor-Komponenten im Blazor Server?

Razor-Komponenten ermöglichen wiederverwendbare UI-Elemente, die mit C# und Razor-Syntax erstellt werden, und ermöglichen interaktive Web-UIs mit serverseitiger Logik.

.NET 10-Kompatibilität: Kann ich IronPDF und den Razor-zu-PDF-Ansatz in einer Blazor Server-Anwendung verwenden, die auf .NET 10 abzielt?

Ja. IronPDF ist vollständig mit .NET 10 kompatibel; es funktioniert in .NET 10-Projekten genauso einwandfrei wie in .NET 6, 7 oder 8. Die Razor-zu-PDF-Konvertierungsmethoden, einschließlich `RenderRazorComponentToPdf`, können ohne spezielle Workarounds bei der Zielplattform .NET 10 verwendet werden.

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