Passer au contenu du pied de page

Comment générer des fichiers PDF avec Async et le multithreading

Débloquez la puissance de la génération asynchrone de PDF et du multi-threading en C# avec ce tutoriel, et améliorez vos projets .NET avec un traitement de documents plus rapide et plus efficace grâce à IronPDF !

Dans ce tutoriel complet, nous explorons le processus de génération de PDF de manière asynchrone et en utilisant le multi-threading en C# avec la bibliothèque IronPDF. Pour commencer, assurez-vous qu'IronPDF est installé dans votre projet via le gestionnaire de packages NuGet. Importez l'espace de noms IronPdf et définissez la clé de licence IronPdf. Créez une instance de la classe Chrome PdfRenderer pour rendre le contenu HTML en PDF. Définissez un tableau de chaînes HTML pour une conversion asynchrone en documents PDF. Initialisez un tableau de tâches pour contenir les tâches de rendu de PDF, en itérant sur chaque chaîne HTML. Capturez la variable de boucle actuelle pour garantir la référence correcte à l'intérieur de la tâche. Démarrez une tâche asynchrone pour chaque chaîne HTML en utilisant Task.Run, puis appelez la méthode RenderHtmlAsPdfAsync. Une fois la boucle terminée, utilisez la méthode await Task.WhenAll pour attendre que toutes les tâches de rendu soient terminées. Pour la génération de PDF multi-threadée, créez des listes pour les chaînes HTML et les documents PDF. Utilisez Parallel.ForEach pour traiter chaque chaîne HTML simultanément, en la rendant en PDF. Utilisez un verrou pour assurer la sécurité des threads tout en ajoutant des PDF à la liste des résultats. Sauvegardez les documents PDF résultants sur le disque avec des noms de fichiers uniques. Les documents de sortie ne sont pas dans le même ordre que les chaînes HTML en raison de l'exécution asynchrone. Ce tutoriel fournit une base pour l'utilisation d'IronPDF dans les applications .NET, encourageant l'exploration de ses fonctionnalités avancées.

Vidéos connexes

Prêt à commencer?
Nuget Téléchargements 16,154,058 | Version : 2025.11 vient de sortir