Génération multi-thread
IronPDF permet la génération de PDF thread-safe et prend en charge les processus multithread pour la génération de documents PDF avec la classe ChromePdfRenderer, comme le montre cet exemple. De cette façon, vous pouvez gérer des tâches de génération de PDF de toute taille, ou des tâches de génération de PDF par lots, simultanément sans craindre de rencontrer des problèmes tels que le blocage de threads.
Étapes pour la génération de PDF multi-threadée
La première étape pour générer des documents PDF dans un environnement multithread consiste à créer une nouvelle instance ChromePdfRenderer. Cela nous donne accès au puissant moteur de rendu d'IronPDF, capable de produire des documents PDF parfaits au pixel près. Ensuite, nous créerons un nouvel List<string> d'objets chaîne, appelé htmlStrings. Cette liste est remplie des chaînes HTML à partir desquelles nous générerons des documents PDF dans notre environnement multi-threadé.
Ensuite, nous devons utiliser la programmation asynchrone pour rendre simultanément toutes nos chaînes HTML en fichiers PDF. htmlStrings.Select(html => renderer.RenderHtmlAsPdfAsync(html)) parcourt notre liste de chaînes HTML et appelle la méthode RenderHtmlAsPdfAsync, accessible via renderer, sur chaque chaîne trouvée, les convertissant en documents PDF. Task.WhenAll() est utilisé pour regrouper les tâches asynchrones en une seule tâche qui sera terminée une fois que tous les appels RenderHtmlAsPdfAsync individuels auront été effectués. Elle renverra alors un nouveau tableau d'objets PdfDocument.
Enfin, nous récupérerons les résultats de notre génération de PDF. await task garantit que la méthode asynchrone actuelle attend que toutes les tâches de rendu PDF asynchrones soient terminées et récupère le tableau résultant d'objets PdfDocument. ToList() convertit ensuite le tableau d'objets PdfDocument en une liste pdfList afin de faciliter la manipulation ultérieure des documents PDF.

