Génération multi-filière

IronPDF offre une génération de PDF thread-safe et prend en charge les processus multi-thread lors de la génération de documents PDF avec la classe ChromePdfRenderer comme le montre cet exemple. De cette manière, vous pouvez gérer les tâches de génération de PDF de n'importe quelle taille, ou les 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-threads

  • var renderer = new ChromePdfRenderer();
  • var htmlStrings = new List<string>() { "<h1>Html#1</h1>", "<h1>Html#2</h1>", "<h1>Html#3</h1>" };
  • Tâche<PdfDocument[]> tâche = Tâche.WhenAll(htmlStrings.Select(html => renderer.RenderHtmlAsPdfAsync(html)));
  • List<PdfDocument> pdfList = task.Result.ToList();

    La première étape pour générer des documents PDF dans un environnement multi-thread est de créer une nouvelle instance de ChromePdfRenderer. Cela nous donne accès au puissant moteur de rendu d'IronPDF, capable de produire des documents PDF parfaitement pixelisés. Ensuite, nous allons créer une nouvelle liste d'objets de chaîne, appelée 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 toutes nos chaînes HTML en fichiers PDF simultanément. htmlStrings.Select(html => renderer.RenderHtmlAsPdfAsync(html)) itère sur notre liste de chaînes HTML et appelle la méthode RenderHtmlAsPdfAsync, accessible via le renderer, sur chaque chaîne trouvée, les convertissant en documents PDF. Task.WhenAll() est utilisé pour accumuler les tâches asynchrones en une seule tâche qui sera complétée une fois que tous les appels RenderHtmlAsPdfAsync individuels seront terminés. Ensuite, il renverra un nouveau tableau d'objets PdfDocument.

    Enfin, nous récupérerons les résultats de notre génération de PDF. task.Result bloque le thread actuel jusqu'à ce que toutes les tâches de rendu PDF asynchrones soient terminées et récupère le tableau résultant d'objets PdfDocument. Ensuite, ToList() convertira le tableau d'objets PdfDocument en la liste pdfList pour une manipulation ultérieure plus facile des documents PDF. Cliquez ici pour voir le guide pratique, y compris des exemples, du code d'exemple et des fichiers.