Passer au contenu du pied de page
UTILISATION DE IRONPDF
Blazor HTML en PDF en utilisant Iron PDF

Créer un fichier PDF avec le Tutoriel Blazor

IronPDF, une bibliothèque renommée en C#, fonctionne avec les applications Blazor. Cette revue vous guidera à travers l'utilisation d'IronPDF pour intégrer un rapport PDF dans une application Blazor, montrant son intégration transparente et son efficacité.

class="hsg-featured-snippet">

Comment créer un fichier PDF dans Blazor

  1. Créer un nouveau projet Blazor dans Visual Studio
  2. Installer la bibliothèque HTML-to-PDF pour les applications Blazor
  3. Créer des documents PDF à partir des pages Web par URL
  4. Créer des documents PDF à partir de chaînes HTML

1. Fonctionnalités d'IronPDF

Les développeurs peuvent rapidement créer, lire et traiter un document PDF avec l'aide de la bibliothèque PDF robuste IronPDF .NET. IronPDF possède un moteur Chrome intégré et offre une multitude de fonctionnalités pratiques et puissantes. Cela inclut la possibilité de convertir HTML5, JavaScript, CSS et images en PDF, la capacité d'ajouter des en-têtes et pieds de page uniques aux documents PDF, et la capacité de produire des PDF exactement comme ils apparaissent dans un navigateur Web. IronPDF prend en charge diverses technologies Web, y compris HTML, ASPX, Razor Pages et frameworks MVC.

Les principaux attributs d'IronPDF sont les suivants :

2. Qu'est-ce que Blazor?

Blazor est un framework d'application Web qui permet de créer des applications Web côté client en C# et HTML en utilisant Web Assembly.

Les applications Web Assembly sont envoyées au navigateur dans un format d'instruction binaire qui peut fonctionner à une vitesse proche de celle d'origine. Cela a créé de nouvelles opportunités pour des langages comme C# de fonctionner dans le navigateur.

Création d'un nouveau projet dans Visual Studio

Pour commencer, ouvrez l'application Microsoft Visual Studio et sélectionnez "New Project" dans le menu Fichier. Ensuite, sélectionnez "Blazor Server App".

Créer un fichier PDF avec Blazor Tutoriel, Figure 1 : Création d'un nouveau projet dans Visual Studio Création d'un nouveau projet dans Visual Studio

Entrez un nom de projet et sélectionnez un chemin de fichier. Ensuite, cliquez sur le bouton Créer.

Créer un fichier PDF avec Blazor Tutoriel, Figure 2 : Choisir le nom et la localisation de la nouvelle application Blazor Choisir le nom et la localisation de la nouvelle application Blazor

Sélectionnez le framework .NET souhaité (nous utiliserons .NET 6.0 dans ce tutoriel), comme montré dans la capture d'écran ci-dessous :

Créer un fichier PDF avec Blazor Tutoriel, Figure 3 : Création d'un nouveau projet dans Visual Studio avec le framework .NET 6.0 Création d'un nouveau projet dans Visual Studio avec le framework .NET 6.0

Microsoft Visual Studio va maintenant générer la structure pour cette application Blazor.

Ensuite, ajoutez la bibliothèque IronPDF à ce nouveau projet.

3. Installer la bibliothèque IronPDF

La bibliothèque IronPDF peut être téléchargée et installée de quatre manières :

  • En utilisant le gestionnaire de packages NuGet de Visual Studio
  • En utilisant la ligne de commande de Visual Studio
  • En téléchargeant directement depuis le site NuGet
  • En téléchargeant directement depuis le site IronPDF

3.1 Utilisation du gestionnaire de packages NuGet de Visual Studio

Visual Studio fournit le gestionnaire de packages NuGet pour aider à installer des bibliothèques directement dans les projets. La capture d'écran ci-dessous montre comment ouvrir le gestionnaire de packages NuGet.

Créer un fichier PDF avec Blazor Tutoriel, Figure 4 : Accéder au gestionnaire de packages NuGet de Visual Studio Accéder au gestionnaire de packages NuGet de Visual Studio

Utilisez le champ de recherche sous l'onglet Explorer pour rechercher "IronPDF", comme illustré dans la capture d'écran ci-dessous :

Créer un fichier PDF avec Blazor Tutoriel, Figure 5 : Recherche de la bibliothèque IronPDF dans l'interface utilisateur du gestionnaire de packages NuGet Recherche de la bibliothèque IronPDF dans l'interface utilisateur du gestionnaire de packages NuGet

L'image ci-dessus montre la liste des résultats de recherche connexes. Sélectionnez les options requises pour installer le package dans votre projet.

3.2 Utilisation de la ligne de commande de Visual Studio

Dans Visual Studio, allez dans Tools > NuGet Package Manager > Package Manager Console

Entrez la ligne suivante dans l'onglet Package Manager Console :

Install-Package IronPdf

Le package sera maintenant téléchargé et installé dans le projet actuel.

Créer un fichier PDF avec Blazor Tutoriel, Figure 6 : Installation de la bibliothèque IronPDF en utilisant la console du gestionnaire de packages NuGet Installation de la bibliothèque IronPDF en utilisant la console du gestionnaire de packages NuGet

3.3 Téléchargement direct depuis le site NuGet

Le troisième moyen d'installer la bibliothèque IronPDF est de télécharger le package NuGet directement depuis le site web.

Accédez au site NuGet pour IronPDF.

  • Cliquez sur l'option "Download Package" dans le menu sur le côté droit.
  • Ouvrez le package téléchargé sur votre système de fichiers. Il sera installé automatiquement.
  • Rechargez la solution et commencez à l'utiliser dans votre projet.

3.4 Téléchargement direct depuis le site IronPDF

Visitez le site IronPDF pour télécharger le package IronPDF directement.

Après avoir téléchargé, suivez ces étapes pour ajouter le package à votre projet :

  • Faites un clic droit sur le projet à partir de la fenêtre de solution.
  • Sélectionnez l'option "Add" > "Reference" puis naviguez jusqu'à l'emplacement de la bibliothèque que vous avez téléchargée précédemment.
  • Cliquez sur OK pour ajouter la bibliothèque en tant que référence.

4. Créer des documents PDF dans l'application Blazor Server

L'application Blazor dans ce tutoriel utilisera IronPDF pour récupérer le contenu HTML d'une page Web par son URL et le convertir en un document PDF.

Entrez le code source suivant dans le fichier .razor contenu dans le projet.

@using IronPdf

@code {
    /// <summary>
    /// This method exports data by converting a URL to a PDF file and initiating its download.
    /// </summary>
    public async Task ExportData()
    {
        try
        {
            string fileName = "Demo.pdf";
            var renderer = new ChromePdfRenderer();

            // Render the contents of the URL as a PDF document
            var pdf = renderer.RenderUrlAsPdf("https://localhost:7018/fetchdata");

            // Save the PDF using a JavaScript function
            await JSRuntime.InvokeVoidAsync("saveAsFile", fileName, Convert.ToBase64String(pdf.Stream.ToArray()));
        }
        catch (Exception ex)
        {
            // Handle any exceptions that may occur
            Console.Error.WriteLine($"Error in ExportData: {ex.Message}");
        }
    }
}
@using IronPdf

@code {
    /// <summary>
    /// This method exports data by converting a URL to a PDF file and initiating its download.
    /// </summary>
    public async Task ExportData()
    {
        try
        {
            string fileName = "Demo.pdf";
            var renderer = new ChromePdfRenderer();

            // Render the contents of the URL as a PDF document
            var pdf = renderer.RenderUrlAsPdf("https://localhost:7018/fetchdata");

            // Save the PDF using a JavaScript function
            await JSRuntime.InvokeVoidAsync("saveAsFile", fileName, Convert.ToBase64String(pdf.Stream.ToArray()));
        }
        catch (Exception ex)
        {
            // Handle any exceptions that may occur
            Console.Error.WriteLine($"Error in ExportData: {ex.Message}");
        }
    }
}
[using] ReadOnly Property code() As IronPdf
	''' <summary>
	''' This method exports data by converting a URL to a PDF file and initiating its download.
	''' </summary>
'INSTANT VB TODO TASK: Local functions are not converted by Instant VB:
'	public async Task ExportData()
'	{
'		try
'		{
'			string fileName = "Demo.pdf";
'			var renderer = New ChromePdfRenderer();
'
'			' Render the contents of the URL as a PDF document
'			var pdf = renderer.RenderUrlAsPdf("https://localhost:7018/fetchdata");
'
'			' Save the PDF using a JavaScript function
'			await JSRuntime.InvokeVoidAsync("saveAsFile", fileName, Convert.ToBase64String(pdf.Stream.ToArray()));
'		}
'		catch (Exception ex)
'		{
'			' Handle any exceptions that may occur
'			Console.@Error.WriteLine(string.Format("Error in ExportData: {0}", ex.Message));
'		}
'	}
End Property
$vbLabelText   $csharpLabel

L'extrait de code ci-dessus utilise deux méthodes pour générer des documents PDF à partir du HTML. La première est la méthode RenderUrlAsPdf d'IronPDF, qui télécharge le contenu HTML d'une URL donnée et le convertit au format PDF.

La deuxième méthode est la méthode statique JSRuntime.InvokeVoidAsync, qui déclenche le moteur JavaScript d'un navigateur pour invoquer une fonction JavaScript dans le cadre de la page Web qui enregistre le contenu PDF sur le système de fichiers du client.

Cette fonction JavaScript est incluse ci-dessous :

<script type="text/javascript">
    /**
     * Saves the PDF data as a file on the client's system.
     * @param {string} filename - The name of the file to be created.
     * @param {string} bytesBase64 - The Base64 encoded string of the PDF data.
     */
    function saveAsFile(filename, bytesBase64) {
        if (navigator.msSaveBlob) {
            // Download the document in Microsoft Edge browser
            var data = window.atob(bytesBase64);
            var bytes = new Uint8Array(data.length);
            for (var i = 0; i < data.length; i++) {
                bytes[i] = data.charCodeAt(i);
            }
            var blob = new Blob([bytes.buffer], { type: "application/octet-stream" });
            navigator.msSaveBlob(blob, filename);
            window.navigator.msSaveOrOpenBlob(blob);
        }
        else {
            var link = document.createElement('a');
            link.download = filename;
            link.href = "data:application/octet-stream;base64," + bytesBase64;
            document.body.appendChild(link); // Needed for Firefox
            link.click();
            document.body.removeChild(link);
        }
    }
</script>
<script type="text/javascript">
    /**
     * Saves the PDF data as a file on the client's system.
     * @param {string} filename - The name of the file to be created.
     * @param {string} bytesBase64 - The Base64 encoded string of the PDF data.
     */
    function saveAsFile(filename, bytesBase64) {
        if (navigator.msSaveBlob) {
            // Download the document in Microsoft Edge browser
            var data = window.atob(bytesBase64);
            var bytes = new Uint8Array(data.length);
            for (var i = 0; i < data.length; i++) {
                bytes[i] = data.charCodeAt(i);
            }
            var blob = new Blob([bytes.buffer], { type: "application/octet-stream" });
            navigator.msSaveBlob(blob, filename);
            window.navigator.msSaveOrOpenBlob(blob);
        }
        else {
            var link = document.createElement('a');
            link.download = filename;
            link.href = "data:application/octet-stream;base64," + bytesBase64;
            document.body.appendChild(link); // Needed for Firefox
            link.click();
            document.body.removeChild(link);
        }
    }
</script>
HTML

La fonction JavaScript ci-dessus reçoit les données Base64 de Blazor et les convertit en un blob avant de les enregistrer sur la localisation côté client.

Alternatively, The SaveAs method from the ChromePdfRenderer class can also be used to save PDF documents to the browser's local storage.

5. Créer un document PDF à partir d'une chaîne HTML

L'extrait de code suivant montre comment transformer une chaîne HTML en un document.

@using IronPdf

@code {
    /// <summary>
    /// Demonstrates turning an HTML string into a PDF document.
    /// </summary>
    public void GeneratePdfFromHtmlString()
    {
        var renderer = new ChromePdfRenderer();
        var pdf = renderer.RenderHtmlAsPdf("<h1>Hello world!!</h1>");

        // You can save the generated PDF locally
        pdf.SaveAs("HelloWorld.pdf");
    }
}
@using IronPdf

@code {
    /// <summary>
    /// Demonstrates turning an HTML string into a PDF document.
    /// </summary>
    public void GeneratePdfFromHtmlString()
    {
        var renderer = new ChromePdfRenderer();
        var pdf = renderer.RenderHtmlAsPdf("<h1>Hello world!!</h1>");

        // You can save the generated PDF locally
        pdf.SaveAs("HelloWorld.pdf");
    }
}
[using] ReadOnly Property code() As IronPdf
	''' <summary>
	''' Demonstrates turning an HTML string into a PDF document.
	''' </summary>
'INSTANT VB TODO TASK: Local functions are not converted by Instant VB:
'	public void GeneratePdfFromHtmlString()
'	{
'		var renderer = New ChromePdfRenderer();
'		var pdf = renderer.RenderHtmlAsPdf("<h1>Hello world!!</h1>");
'
'		' You can save the generated PDF locally
'		pdf.SaveAs("HelloWorld.pdf");
'	}
End Property
$vbLabelText   $csharpLabel

L'exemple précédent utilise la méthode d'instance RenderHtmlAsPdf pour transformer toute chaîne de HTML en contenu PDF. De plus, la méthode SaveAs peut être utilisée dans les procédures décrites précédemment pour sauvegarder ce contenu sur l'ordinateur du client.

Créer un fichier PDF avec Blazor Tutoriel, Figure 7 : Application de génération PDF de Blazor créée dans ce tutoriel Application de génération PDF de Blazor créée dans ce tutoriel

La capture d'écran ci-dessus montre l'application Web développée dans ce tutoriel. Cliquer sur le bouton de téléchargement déclenchera le code C# pour produire le contenu PDF, et une fonction JavaScript pour télécharger le contenu PDF sur le côté client.

Conclusion

Cet article a démontré comment développer une application Web Blazor qui utilise la bibliothèque PDF IronPDF pour générer des fichiers PDF à partir de pages Web.

IronPDF n'est pas open source, cependant, une clé d'essai gratuite vous permet de l'utiliser en production sans filigranes.

Questions Fréquemment Posées

Comment puis-je intégrer une bibliothèque PDF avec une application Blazor côté serveur?

Vous pouvez intégrer une bibliothèque PDF avec une application Blazor côté serveur en utilisant IronPDF. Tout d'abord, créez un projet Blazor dans Visual Studio, puis installez la bibliothèque IronPDF via le gestionnaire de packages NuGet ou en ligne de commande. IronPDF vous permet de générer des documents PDF à partir de contenu HTML sans effort.

Quelles méthodes sont disponibles pour générer des PDF à partir de HTML dans une application Blazor?

Dans une application Blazor, vous pouvez utiliser la méthode RenderUrlAsPdf d'IronPDF pour convertir les URLs des pages web en PDF, ou RenderHtmlAsPdf pour générer des PDF directement à partir de chaînes HTML. Ces méthodes offrent une flexibilité dans la création de documents PDF à partir de diverses sources HTML.

Comment puis-je enregistrer un fichier PDF dans le système de fichiers du client dans une application Blazor?

Pour enregistrer un fichier PDF dans le système de fichiers du client dans une application Blazor, vous pouvez utiliser une fonction JavaScript pour convertir les données PDF en un blob et déclencher un téléchargement. IronPDF fournit les outils nécessaires pour générer le PDF, qui peut ensuite être géré à l'aide de JavaScript côté client.

Quel est le processus de création d'un projet Blazor côté serveur dans Visual Studio?

Créer un projet Blazor côté serveur dans Visual Studio implique de sélectionner 'Nouveau Projet' dans le menu Fichier, de choisir 'Blazor Server App', de spécifier le nom et l'emplacement du projet, et de sélectionner la version appropriée du .NET Framework. Cette configuration vous permet d'intégrer des bibliothèques supplémentaires telles qu'IronPDF pour une fonctionnalité améliorée.

Puis-je convertir le contenu JavaScript et CSS dans du HTML en PDF en utilisant cette bibliothèque?

Oui, vous pouvez convertir le contenu JavaScript et CSS dans du HTML en PDF en utilisant IronPDF. Il supporte le rendu de contenu HTML5, CSS et JavaScript, vous permettant de générer des documents PDF complets qui maintiennent la mise en page et le style des pages web originales.

Quelles sont les étapes de dépannage si la génération de PDF ne fonctionne pas comme prévu dans Blazor?

Si la génération de PDF ne fonctionne pas comme prévu dans Blazor, assurez-vous que la bibliothèque IronPDF est correctement installée dans le projet. Vérifiez que le contenu HTML est correctement formaté et accessible. De plus, vérifiez les erreurs JavaScript dans la console du navigateur qui pourraient affecter le processus de rendu du PDF.

Comment puis-je m'assurer que mes documents PDF incluent des en-têtes et des pieds de page en utilisant une bibliothèque PDF?

Pour inclure des en-têtes et des pieds de page dans vos documents PDF en utilisant IronPDF, vous pouvez configurer les options de rendu pour ajouter du contenu d'en-tête et de pied de page personnalisés. Cela vous permet d'inclure des informations supplémentaires telles que les numéros de page ou les titres dans la sortie PDF.

Est-il possible de générer des PDFs pour des pages derrière une authentification dans une application Blazor?

Oui, IronPDF peut générer des PDF pour les pages protégées par authentification dans une application Blazor. Vous devrez gérer les cookies ou jetons d'authentification pour accéder au contenu restreint avant de le convertir en PDF à l'aide des fonctionnalités de la bibliothèque.

IronPDF est-il compatible avec .NET 10, et quels sont les avantages de son utilisation avec .NET 10 ?

Oui, IronPDF est entièrement compatible avec .NET 10 : il fonctionne immédiatement sans nécessiter de solutions de contournement personnalisées, de modules complémentaires ou d’API obsolètes. .NET 10 apporte des mises à jour à ASP.NET Core et Blazor, notamment des performances améliorées, une meilleure gestion des dépendances, une gestion optimisée des références de framework et une isolation JavaScript renforcée, autant d’améliorations qui profitent aux flux de travail de génération de PDF utilisant des pages Razor, des URL ou du contenu HTML.

Comment l'utilisation d'IronPDF avec .NET 10 améliore-t-elle les performances et l'efficacité d'exécution ?

L'utilisation d'IronPDF avec .NET 10 tire parti de plusieurs améliorations d'exécution, telles que la dévirtualisation des méthodes d'interface de tableau, l'analyse d'échappement pour les structures, des optimisations JIT améliorées et la prise en charge des instructions AVX-512. Ces améliorations réduisent les allocations de mémoire, diminuent la charge du ramasse-miettes et accélèrent des tâches comme le rendu HTML et la manipulation de fichiers PDF.

Curtis Chau
Rédacteur technique

Curtis Chau détient un baccalauréat en informatique (Université de Carleton) et se spécialise dans le développement front-end avec expertise en Node.js, TypeScript, JavaScript et React. Passionné par la création d'interfaces utilisateur intuitives et esthétiquement plaisantes, Curtis aime travailler avec des frameworks modernes ...

Lire la suite