Comment générer HTML en PDF avec .NET sur Azure

How to Run HTML to PDF with .NET on Azure?

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

Oui. IronPDF peut être utilisé pour générer, manipuler et lire des documents PDF sur Azure. IronPDF a été minutieusement testé sur plusieurs plateformes Azure, y compris les sites MVC, Azure Functions, et bien d'autres.

Si vous exécutez Azure Functions dans un conteneur Docker, veuillez vous référer à ce tutoriel Azure Docker Linux à la place.

comme-titre:2(Démarrage rapide : Conversion HTML en PDF avec IronPDF sur Azure)

Commencez à convertir HTML en PDF dans vos applications Azure sans effort en utilisant IronPDF. Ce guide rapide démontre comment rendre une URL en un document PDF en utilisant les méthodes API efficaces d'IronPDF. Parfait pour les développeurs cherchant à intégrer des capacités PDF dans leurs solutions Azure, cet exemple montre la simplicité et la rapidité d'IronPDF, garantissant que vos tâches de génération de PDF sont fluides et rapides. Suivez l'exemple pour commencer à générer des PDF sans perdre de formatage et lancez votre projet Azure en un rien de temps.

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 pdf = new IronPdf.ChromePdfRenderer()
        .RenderHtmlAsPdf("<h1>Hello Azure!</h1>")
        .SaveAs("output‑azure.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. Installez la bibliothèque C# pour générer des PDF dans Azure
  2. Choisissez le niveau d'hébergement Azure Basic B1 ou supérieur
  3. Décochez l'option Exécuter à partir du fichier de package lors de la publication
  4. Suivez les instructions de configuration recommandées
  5. Utilisez l'exemple de code pour créer un générateur de PDF avec Azure

class="main-content__segment-title">Comment réaliser un tutoriel

Configuration de votre projet

Installer IronPDF pour commencer

La première étape est d'installer IronPDF en utilisant NuGet :

Install-Package IronPdf

Alternativement, installez manuellement le .dll en utilisant le lien Package de téléchargement direct de IronPDF pour Azure.

Sélectionnez les bonnes options Azure

Choisir le bon niveau d'hébergement Azure Tier

Azure Basic B1 est le niveau d'hébergement minimum requis pour les besoins de rendu de nos utilisateurs finaux. Si vous créez un système à haut débit, cela peut nécessiter une mise à niveau.

AvertissementL'échec de la sélection d'un Type de Plan de service App plan peut entraîner l'échec de rendu de documents PDF par IronPdf.

class="content-img-align-center">
class="center-image-wrapper"> Choisir le bon niveau d'hébergement Azure Tier

La case à cocher "Exécuter à partir du fichier de package"

Lors de la publication de votre application Azure Functions, assurez-vous que Exécuter à partir du fichier de package n'est PAS sélectionné.

class="content-img-align-center">
class="center-image-wrapper"> Décochez l'option Exécuter à partir du fichier de package

Configuration pour .NET 6

Microsoft a récemment supprimé les bibliothèques d'imagerie de .NET 6+, cassant de nombreuses API héritées. En tant que tel, il est nécessaire de configurer votre projet pour permettre encore ces appels d'API hérités.

  1. Sur Linux, définissez Installation.LinuxAndDockerDependenciesAutoConfig=true; pour assurer que libgdiplus est installé sur la machine
  2. Ajoutez ce qui suit au fichier .csproj de votre projet .NET 6 :
    <GenerateRuntimeConfigurationFiles>true</GenerateRuntimeConfigurationFiles>
    <GenerateRuntimeConfigurationFiles>true</GenerateRuntimeConfigurationFiles>
    XML
  3. Créez un fichier dans votre projet appelé runtimeconfig.template.json et remplissez-le avec ce qui suit :
{
  "configProperties": {
    "System.Drawing.EnableUnixSupport": true
  }
}
  1. Enfin, ajoutez la ligne suivante au début de votre programme pour activer la prise en charge d'Unix pour System.Drawing :
    System.AppContext.SetSwitch("System.Drawing.EnableUnixSupport", true);
    System.AppContext.SetSwitch("System.Drawing.EnableUnixSupport", true);
    System.AppContext.SetSwitch("System.Drawing.EnableUnixSupport", True)
    $vbLabelText   $csharpLabel

Utilisation de Docker sur Azure

Une manière d'obtenir contrôle, accès aux polices SVG, et la capacité de contrôler les performances sur Azure est d'utiliser des applications et fonctions IronPDF depuis les conteneurs Docker.

Nous avons un tutoriel complet Docker Azure IronPDF pour les instances Linux et Windows, et il est recommandé de le consulter.

Exemple de Code Azure Function

Cet exemple produit automatiquement des entrées de journal dans le journal Azure intégré (voir ILogger log) :

[FunctionName("PrintPdf")]
public static async Task<IActionResult> Run(
    [HttpTrigger(AuthorizationLevel.Anonymous, "get", "post", Route = null)] HttpRequest req,
    ILogger log, ExecutionContext context)
{
    log.LogInformation("Entered PrintPdf API function...");

    // Apply license key
    IronPdf.License.LicenseKey = "IRONPDF-MYLICENSE-KEY-1EF01";

    // Configure logging
    IronPdf.Logging.Logger.LoggingMode = IronPdf.Logging.Logger.LoggingModes.Custom;
    IronPdf.Logging.Logger.CustomLogger = log;
    IronPdf.Logging.Logger.EnableDebugging = false;

    // Configure IronPdf settings
    Installation.LinuxAndDockerDependenciesAutoConfig = false;
    Installation.ChromeGpuMode = IronPdf.Engines.Chrome.ChromeGpuModes.Disabled;

    try
    {
        log.LogInformation("About to render pdf...");

        // Create a renderer and render the URL as PDF
        ChromePdfRenderer renderer = new ChromePdfRenderer();
        var pdf = renderer.RenderUrlAsPdf("https://www.google.com/");

        log.LogInformation("Finished rendering pdf...");

        // Return the rendered PDF as a file download
        return new FileContentResult(pdf.BinaryData, "application/pdf") { FileDownloadName = "google.pdf" };
    }
    catch (Exception e)
    {
        log.LogError(e, "Error while rendering pdf");
    }

    return new OkObjectResult("OK");
}
[FunctionName("PrintPdf")]
public static async Task<IActionResult> Run(
    [HttpTrigger(AuthorizationLevel.Anonymous, "get", "post", Route = null)] HttpRequest req,
    ILogger log, ExecutionContext context)
{
    log.LogInformation("Entered PrintPdf API function...");

    // Apply license key
    IronPdf.License.LicenseKey = "IRONPDF-MYLICENSE-KEY-1EF01";

    // Configure logging
    IronPdf.Logging.Logger.LoggingMode = IronPdf.Logging.Logger.LoggingModes.Custom;
    IronPdf.Logging.Logger.CustomLogger = log;
    IronPdf.Logging.Logger.EnableDebugging = false;

    // Configure IronPdf settings
    Installation.LinuxAndDockerDependenciesAutoConfig = false;
    Installation.ChromeGpuMode = IronPdf.Engines.Chrome.ChromeGpuModes.Disabled;

    try
    {
        log.LogInformation("About to render pdf...");

        // Create a renderer and render the URL as PDF
        ChromePdfRenderer renderer = new ChromePdfRenderer();
        var pdf = renderer.RenderUrlAsPdf("https://www.google.com/");

        log.LogInformation("Finished rendering pdf...");

        // Return the rendered PDF as a file download
        return new FileContentResult(pdf.BinaryData, "application/pdf") { FileDownloadName = "google.pdf" };
    }
    catch (Exception e)
    {
        log.LogError(e, "Error while rendering pdf");
    }

    return new OkObjectResult("OK");
}
<FunctionName("PrintPdf")>
Public Shared Async Function Run(<HttpTrigger(AuthorizationLevel.Anonymous, "get", "post", Route := Nothing)> ByVal req As HttpRequest, ByVal log As ILogger, ByVal context As ExecutionContext) As Task(Of IActionResult)
	log.LogInformation("Entered PrintPdf API function...")

	' Apply license key
	IronPdf.License.LicenseKey = "IRONPDF-MYLICENSE-KEY-1EF01"

	' Configure logging
	IronPdf.Logging.Logger.LoggingMode = IronPdf.Logging.Logger.LoggingModes.Custom
	IronPdf.Logging.Logger.CustomLogger = log
	IronPdf.Logging.Logger.EnableDebugging = False

	' Configure IronPdf settings
	Installation.LinuxAndDockerDependenciesAutoConfig = False
	Installation.ChromeGpuMode = IronPdf.Engines.Chrome.ChromeGpuModes.Disabled

	Try
		log.LogInformation("About to render pdf...")

		' Create a renderer and render the URL as PDF
		Dim renderer As New ChromePdfRenderer()
		Dim pdf = renderer.RenderUrlAsPdf("https://www.google.com/")

		log.LogInformation("Finished rendering pdf...")

		' Return the rendered PDF as a file download
		Return New FileContentResult(pdf.BinaryData, "application/pdf") With {.FileDownloadName = "google.pdf"}
	Catch e As Exception
		log.LogError(e, "Error while rendering pdf")
	End Try

	Return New OkObjectResult("OK")
End Function
$vbLabelText   $csharpLabel

Problèmes connus

Le rendu des polices SVG n'est pas disponible sur les plans d'hébergement partagés

Une limitation est que la plateforme d'hébergement Azure ne prend pas en charge les serveurs chargeant les polices SVG, telles que Google Fonts, dans leurs niveaux de web-apps partagées moins coûteux. Ceci est dû aux restrictions de sécurité empêchant l'accès aux objets graphiques Windows GDI+.

Nous recommandons d'utiliser un guide de conteneur Docker Windows ou Linux pour IronPDF ou peut-être un VPS sur Azure pour contourner ce problème là où le meilleur rendu de police est requis.

L'hébergement gratuit Azure est lent

Les niveaux gratuits et partagés d'Azure, ainsi que le plan de consommation, ne conviennent pas au rendu PDF. Nous recommandons l'hébergement Azure B1/plan Premium, que nous utilisons nous-mêmes. Le processus de HTML to PDF représente un travail significatif pour tout ordinateur - similaire à ouvrir et rendre une page web sur votre propre machine. Un véritable moteur de navigateur est utilisé, d'où la nécessité de prévoir en conséquence et de s'attendre à des temps de rendu similaires à ceux d'une machine de bureau de puissance similaire.

Création d'un Ticket de Demande de Support Technique

Afin de créer un ticket de demande, consultez le Comment faire une demande de support technique pour IronPDF.

Questions Fréquemment Posées

Comment convertir du HTML en PDF en C# sur Azure ?

Vous pouvez utiliser IronPDF pour convertir du HTML en PDF dans vos applications Azure en utilisant la méthode RenderHtmlAsPdf. Cela vous permet de maintenir le formatage de votre contenu HTML dans le PDF généré.

Quelles sont les meilleures pratiques pour le déploiement de la génération de PDF dans Azure Functions ?

Lors de l'utilisation d'IronPDF pour la génération de PDF dans Azure Functions, assurez-vous d'installer la bibliothèque via NuGet et évitez de sélectionner l'option 'Exécuter à partir du fichier de package' lors de la publication. Cela aide à éviter les problèmes de déploiement courants.

Puis-je utiliser IronPDF avec .NET 6 sur Azure ?

Oui, vous pouvez utiliser IronPDF avec .NET 6 sur Azure. Ajoutez <GenerateRuntimeConfigurationFiles>true</GenerateRuntimeConfigurationFiles> à votre fichier .csproj et créez un fichier runtimeconfig.template.json avec 'System.Drawing.EnableUnixSupport' à vrai.

Quel niveau d'hébergement est recommandé pour une performance optimale de rendu PDF sur Azure ?

Pour une performance optimale de rendu PDF sur Azure avec IronPDF, il est recommandé d'utiliser au moins le niveau d'hébergement Azure Basic B1 ou de passer à un niveau supérieur pour des systèmes à haut débit.

Y a-t-il des limitations lors de l'utilisation d'IronPDF sur les plans d'hébergement partagés d'Azure ?

Oui, le rendu des polices SVG n'est pas disponible sur les plans d'hébergement partagés bon marché d'Azure. Pour un meilleur rendu des polices et des performances, utilisez des conteneurs Docker Windows ou Linux ou un VPS sur Azure.

Comment puis-je améliorer la performance de rendu des PDF sur le niveau gratuit d'Azure ?

Pour améliorer la performance de rendu des PDF au-delà des contraintes du niveau gratuit d'Azure, envisagez de passer au niveau d'hébergement Azure Basic B1 ou supérieur. Cela atténue les goulots d'étranglement de performance associés au niveau gratuit.

Quels sont les problèmes connus avec l'utilisation d'IronPDF sur Azure ?

Les problèmes connus incluent des limitations avec le rendu des polices SVG sur les plans d'hébergement partagés et des préoccupations de performance avec l'hébergement de niveau gratuit d'Azure. L'utilisation de conteneurs Docker peut aider à atténuer ces problèmes.

Comment puis-je utiliser Docker pour exécuter Azure Functions pour la génération de PDF ?

Vous pouvez déployer des Azure Functions dans des conteneurs Docker pour obtenir de meilleures performances et un meilleur contrôle lors de la génération de PDFs à l'aide d'IronPDF. Consultez le tutoriel Azure Docker Linux pour plus de détails.

Comment puis-je obtenir un support technique pour IronPDF sur Azure ?

Pour demander un support technique pour IronPDF sur Azure, vous pouvez suivre le guide 'Comment faire une demande de support technique pour IronPDF' disponible sur le site IronPDF.

Est-il possible d'accéder aux polices SVG en utilisant Docker sur Azure ?

Oui, l'utilisation de Docker sur Azure permet l'accès aux polices SVG, ce qui améliore les performances de rendu et la qualité des PDFs générés avec IronPDF.

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
Prêt à commencer?
Nuget Téléchargements 16,154,058 | Version : 2025.11 vient de sortir