Comment convertir Razor en PDF dans Blazor Server en utilisant C#

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

Un composant Razor est un élément d'interface utilisateur, tel qu'une page, une boîte de dialogue ou un formulaire de saisie de données, construit à l'aide de la syntaxe C# et Razor. Il sert d'élément d'interface utilisateur réutilisable.

Blazor Server est un framework web qui vous permet de créer des interfaces web interactives en utilisant C# au lieu de JavaScript. Dans ce framework, la logique des composants s'exécute sur le serveur.

IronPDF vous permet de générer des documents PDF à partir de composants Razor dans un projet ou une application Blazor Server. Cela rend la création de fichiers/pages PDF simple dans Blazor Server.

Démarrage rapide : Convertir un composant Razor en PDF en quelques minutes

Convertissez facilement les composants Razor en PDF dans vos applications Blazor Server en utilisant IronPDF. Avec seulement quelques lignes de code, la méthode RenderRazorComponentToPdf de IronPDF vous permet de transformer vos composants Razor en PDFs de qualité professionnelle. Suivez ce guide rapide pour intégrer la conversion de Razor en PDF dans votre projet, permettant un rendu efficace avec une configuration minimale. Idéal pour les développeurs cherchant une mise en œuvre rapide, cette méthode offre une flexibilité avec des options de personnalisation supplémentaires, garantissant un processus de génération de PDF simple mais puissant.

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

Flux de travail minimal (5 étapes)

  1. Téléchargez la bibliothèque C# pour convertir Razor en PDF dans Blazor Server
  2. Ajoutez une classe modèle pour les données
  3. Créez un nouveau composant Razor et utilisez la méthode RenderRazorComponentToPdf
  4. Ajoutez une section au menu de gauche pour accéder au nouveau composant Razor
  5. Téléchargez le projet d'exemple pour un démarrage rapide

Package d'extension IronPDF

Le paquet IronPdf.Extensions.Blazor est une extension du paquet principal IronPdf. Les deux paquets IronPdf.Extensions.Blazor et IronPdf sont nécessaires pour rendre les composants Razor en documents PDF dans une application Blazor Server App.

Install-Package IronPdf.Extensions.Blazor
class="products-download-section">
data-modal-id="trial-license-after-download">
class="product-image"> Bibliothèque NuGet C# pour PDF
class="product-info">

Installer avec NuGet

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

Rendre les composants Razor en PDFs

Un projet d'application Blazor Server est nécessaire pour convertir les composants Razor en PDFs.

Ajouter une classe modèle

Ajoutez une classe C# standard et nommez-la PersonInfo. Cette classe servira de modèle pour stocker les informations de la personne. Insérez le code suivant :

: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

Ajouter un composant Razor

Utilisez la méthode RenderRazorComponentToPdf pour convertir les composants Razor en PDFs. Accédez à cette méthode en instanciant la classe ChromePdfRenderer. La méthode renvoie un objet PdfDocument, qui vous permet soit d'exporter le document PDF, soit de le modifier davantage.

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. Des filigranes personnalisés peuvent également être estampillés sur votre PDF.

Ajoutez un composant Razor et nommez-le Person.razor. Entrez le code suivant :

@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>

De plus, l'utilisation de cette méthode pour générer un PDF vous donne un accès complet à toutes les fonctionnalités dans RenderingOptions. Cela inclut la capacité d'insérer du texte, ainsi que des en-têtes et pieds de page HTML. De plus, vous pouvez ajouter des numéros de page et ajuster les dimensions et dispositions de la page selon vos préférences.

Ajouter une section au menu de gauche

  • Accédez au "dossier partagé" et ouvrez NavMenu.razor.
  • Ajoutez la section qui ouvrira notre composant Razor, Person. Notre composant Person sera la deuxième option.
<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>

Exécuter le projet

Exécuter le projet ASP.NET Core MVC

Exécuter le projet Blazor Server

Téléchargez le projet d'application Blazor Server

Vous pouvez télécharger le code complet pour ce guide. Il se présente sous la forme d'un fichier zippé que vous pouvez ouvrir dans Visual Studio en tant que projet d'application Blazor Server.

Téléchargez le projet d'exemple Blazor pour la conversion Razor en PDF

Prêt à voir ce que vous pouvez faire d'autre? Consultez notre page de tutoriels ici : Convertir les PDFs

Questions Fréquemment Posées

Comment pouvez-vous convertir des composants Razor en PDF dans un projet Blazor Server?

Vous pouvez utiliser la méthode `RenderRazorComponentToPdf` d'IronPDF pour convertir des composants Razor en documents PDF dans un projet Blazor Server.

Quelles sont les étapes clés pour configurer la génération de PDF à partir de composants Razor?

Les étapes clés incluent le téléchargement de la bibliothèque IronPDF depuis NuGet, l'ajout d'une classe modèle pour les données, la création d'un composant Razor et l'utilisation de la méthode `RenderRazorComponentToPdf` pour la conversion.

Pourquoi avez-vous besoin du package IronPdf.Extensions.Blazor?

Le package IronPdf.Extensions.Blazor est nécessaire pour rendre les composants Razor en documents PDF dans une application Blazor Server.

Comment installer IronPdf.Extensions.Blazor dans un projet Blazor Server?

Vous pouvez installer le package IronPdf.Extensions.Blazor en utilisant NuGet avec la commande : Install-Package IronPdf.Extensions.Blazor.

Quelle fonctionnalité offre la méthode `RenderRazorComponentToPdf`?

La méthode `RenderRazorComponentToPdf` convertit les composants Razor en documents PDF, permettant des modifications supplémentaires comme l'ajout d'annotations ou de signets.

Quelles options sont disponibles pour personnaliser les documents PDF dans Blazor Server?

Les options de personnalisation incluent l'insertion de texte, l'ajout d'en-têtes et pieds de page HTML, de numéros de page, et l'ajustement des dimensions de page en utilisant RenderingOptions dans IronPDF.

Comment pouvez-vous intégrer un composant Razor dans le menu de gauche d'une application Blazor Server?

Pour ajouter un composant Razor au menu de gauche, naviguez vers le dossier Shared, ouvrez NavMenu.razor, et ajoutez une section avec un NavLink vers votre composant.

Où pouvez-vous trouver un projet exemple pour convertir des composants Razor en PDF?

Un code de projet complet exemple peut être téléchargé sous forme de fichier zippé depuis le site web IronPDF et ouvert dans Visual Studio en tant que projet Blazor Server App.

Quel est le rôle d'une classe modèle dans la conversion PDF de composant Razor?

Une classe modèle, telle que `PersonInfo`, contient les données à afficher dans le composant Razor et est cruciale pour la génération de contenu dynamique dans les PDFs.

Quels sont les avantages d'utiliser des composants Razor dans Blazor Server?

Les composants Razor permettent de créer des éléments d'interface utilisateur réutilisables construits avec C# et la syntaxe Razor, permettant des interfaces web interactives avec une logique côté serveur.

Compatibilité .NET 10 : Puis-je utiliser IronPDF et l’approche Razor-to-PDF dans une application Blazor Server ciblant .NET 10 ?

Oui. IronPDF est entièrement compatible avec .NET 10 ; il fonctionne parfaitement dans les projets .NET 10, tout comme dans les projets .NET 6, 7 ou 8. Les méthodes de conversion Razor vers PDF, notamment `RenderRazorComponentToPdf`, peuvent être utilisées sans manipulation particulière lors du ciblage de .NET 10.

Chaknith Bin
Ingénieur logiciel
Chaknith travaille sur IronXL et IronBarcode. Il a une expertise approfondie en C# et .NET, aidant à améliorer le logiciel et à soutenir les clients. Ses idées issues des interactions avec les utilisateurs contribuent à de meilleurs produits, documentation et expérience globale.
Prêt à commencer?
Nuget Téléchargements 16,154,058 | Version : 2025.11 vient de sortir