Generación multihilo
IronPDF proporciona generación de PDF segura para subprocesos y ofrece soporte para procesos de subprocesos múltiples cuando se trata de generar documentos PDF con la clase ChromePdfRenderer
como se muestra en este ejemplo. De esta manera, puedes manejar tareas de generación de PDF de cualquier tamaño, o tareas de generación de PDF por lotes, de forma concurrente sin temor a enfrentar problemas como el bloqueo de hilos.
Pasos para la generación de PDF en múltiples hilos
- var renderer = new ChromePdfRenderer();
- var htmlStrings = new List<string>() { "<h1>Html#1</h1>", "<h1>Html#2</h1>", "<h1>Html#3</h1>" };
- Task<PdfDocument[]> task = Task.WhenAll(htmlStrings.Select(html => renderer.RenderHtmlAsPdfAsync(html)));
-
List<PdfDocument> pdfList = task.Result.ToList();
El primer paso para generar documentos PDF en un entorno de subprocesos múltiples es crear una nueva instancia de
ChromePdfRenderer
. Esto nos da acceso al poderoso motor de renderizado de IronPDF, capaz de producir documentos PDF con precisión de píxeles. Luego, crearemos una nueva Lista de objetos de cadena, llamada htmlStrings. Esta lista está llena de las cadenas HTML de las cuales generaremos documentos PDF en nuestro entorno multi-hilo.A continuación, necesitamos utilizar la 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étodoRenderHtmlAsPdfAsync
, accedido a través del renderer, 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 aRenderHtmlAsPdfAsync
hayan finalizado. Luego, devolverá un nuevo arreglo de objetosPdfDocument
.Finalmente, recuperaremos los resultados de nuestra generación de PDF.
task.Result
bloquea el hilo actual hasta que se completen todas las tareas asincrónicas de renderización de PDF y recupera el array resultante de objetosPdfDocument
. Luego,ToList()
convertirá el array de objetosPdfDocument
en la lista pdfList para facilitar la manipulación posterior de los documentos PDF. Haga clic aquí para ver la Guía de Cómo Hacer, que incluye ejemplos, código de muestra y archivos.