Generación multihilo
IronPDF proporciona generación de PDF segura para subprocesos y ofrece soporte para procesos de múltiples subprocesos cuando se trata de generar documentos PDF con la clase ChromePdfRenderer como se ve en este ejemplo. De esta manera, puede manejar tareas de generación de PDF de cualquier tamaño o tareas de generación de PDF por lotes de manera concurrente sin el temor de enfrentarse a problemas como el bloqueo de subprocesos.
Pasos para la generación de PDF multihilo
El primer paso para generar documentos PDF en un entorno multihilo es crear una nueva instancia de ChromePdfRenderer. Esto nos da acceso al potente motor de renderizado de IronPDF, capaz de producir documentos PDF de calidad perfecta de píxeles. A continuación, crearemos una nueva lista de objetos string, llamada htmlStrings. Esta lista está llena de las cadenas HTML de las que generaremos documentos PDF en nuestro entorno Multihilo.
A continuación, necesitamos usar programación asincrónica para renderizar todas nuestras cadenas HTML en archivos PDF de manera concurrente. htmlStrings.Select(html => renderer.RenderHtmlAsPdfAsync(html)) itera sobre nuestra lista de cadenas HTML y llama al método RenderHtmlAsPdfAsync, accedido a través del renderizador, en cada cadena encontrada, convirtiéndolas en documentos PDF. Task.WhenAll() se utiliza para acumular las tareas asincrónicas en una sola tarea que se completará una vez que todas las llamadas individuales a RenderHtmlAsPdfAsync hayan finalizado. Luego, devolverá un nuevo array de objetos PdfDocument.
Finalmente, obtendremos los resultados de nuestra generación de PDF. await task garantiza que el método asincrónico actual espere hasta que todas las tareas de renderizado de PDF asincrónicas estén completas y recupere el array resultante de objetos PdfDocument. ToList() convierte la matriz de objetos PdfDocument en la lista pdfList para facilitar la manipulación posterior de los documentos PDF.





