Cómo solucionar problemas de tiempo de espera en la renderización de PDF

This article was translated from English: Does it need improvement?
Translated
View the article in English
  • No se puede renderizar PDF desde HTML
  • No se puede renderizar PDF desde URL
  • Error al generar PDF desde HTML
  • Error al generar PDF desde URL
  • Excepción nativa no especificada

Estos mensajes de error genéricos indican que el motor de renderizado de Chrome ha encontrado un fallo.

Aplicar el fragmento de código a continuación producirá un archivo de registro "Default.log" que puede ayudar a determinar la causa del fallo.

// Enable logging for all events and set the file path for the log file.
IronPdf.Logging.Logger.LoggingMode = IronPdf.Logging.Logger.LoggingModes.All;
IronPdf.Logging.Logger.LogFilePath = "Default.log";
// Enable logging for all events and set the file path for the log file.
IronPdf.Logging.Logger.LoggingMode = IronPdf.Logging.Logger.LoggingModes.All;
IronPdf.Logging.Logger.LogFilePath = "Default.log";
' Enable logging for all events and set the file path for the log file.
IronPdf.Logging.Logger.LoggingMode = IronPdf.Logging.Logger.LoggingModes.All
IronPdf.Logging.Logger.LogFilePath = "Default.log"
$vbLabelText   $csharpLabel

Tiempo de espera de renderización

El tiempo de espera es una función implementada en IronPDF para evitar que las aplicaciones queden en deadlock y se vuelvan no responsivas debido a largas duraciones de renderizado de PDF. Esto puede ayudar a los usuarios a gestionar recursos, asegurando que recursos como CPU, memoria y ancho de banda de red no estén ocupados con procesos que tardan demasiado en completarse. Se lanzará un error de tiempo de espera, como se describe a continuación, si el proceso de renderizado de PDF no se completa a tiempo.

  • Tiempo de espera de 60s al renderizar PDF desde HTML
  • Tiempo de espera de 60s al renderizar PDF desde URL
  • Tiempo de espera al generar PDF desde HTML
  • Tiempo de espera al generar PDF desde URL
  • Tiempo de espera al renderizar PDF desde HTML
  • Tiempo de espera al renderizar PDF desde URL

Hay muchas razones para los tiempos de renderizado prolongados en IronPDF que podrían llevar a errores de tiempo de espera, como renderizar PDFs grandes o pesados, recuperar recursos/remotos para renderizar PDFs, o problemas durante el renderizado mismo. Sin embargo, anular la duración del tiempo de espera generalmente puede resolver el problema.

Para anular la configuración predeterminada, los usuarios pueden acceder a la propiedad Timeout en la clase ChromePdfRenderOptions y configurarla a un valor más alto.

// Set the timeout for rendering to 120 seconds.
RenderingOptions.Timeout = 120; // seconds
// Set the timeout for rendering to 120 seconds.
RenderingOptions.Timeout = 120; // seconds
' Set the timeout for rendering to 120 seconds.
RenderingOptions.Timeout = 120 ' seconds
$vbLabelText   $csharpLabel

Por favor notaA partir de la versión 2021.12.4995, el tiempo de espera de renderizado por defecto de IronPDF es de 60 segundos.

Retraso de renderización

En algunas ocasiones, IronPDF puede renderizar:

  • Un PDF en blanco
  • Un PDF con contenido incompleto
  • Un PDF con activos de imagen faltantes

Este problema puede ocurrir porque el documento PDF fue renderizado antes de que la llamada para recuperar los contenidos o activos del recurso se completara a tiempo.

Aplicar un retraso de renderizado al renderizador de PDF generalmente ayuda a resolver el problema. Esto indicará al renderizador que retrase el renderizado de PDF por una duración establecida, para que los contenidos o activos puedan cargarse a tiempo antes de renderizar el PDF. Para hacer esto, simplemente acceda al método RenderDelay() en el objeto wrapper WaitFor, establezca el tiempo de duración deseado como parámetro del método y aplíquelo al renderizador como una de las propiedades ChromePdfRenderOptions.

// Set a render delay of 5000 milliseconds (5 seconds) to ensure content and assets are loaded before rendering.
RenderingOptions.WaitFor.RenderDelay(5000);  // milliseconds
// Set a render delay of 5000 milliseconds (5 seconds) to ensure content and assets are loaded before rendering.
RenderingOptions.WaitFor.RenderDelay(5000);  // milliseconds
' Set a render delay of 5000 milliseconds (5 seconds) to ensure content and assets are loaded before rendering.
RenderingOptions.WaitFor.RenderDelay(5000) ' milliseconds
$vbLabelText   $csharpLabel

Por favor notaLa duración por defecto de RenderDelay es de 20 ms

Aparte del método RenderDelay(), también hay otros métodos en el objeto wrapper WaitFor que se pueden utilizar.

Para más información sobre registros y cómo reportar un error a nuestros ingenieros para su revisión, por favor vea Cómo hacer una solicitud de soporte técnico para IronPDF.

Curtis Chau
Escritor Técnico

Curtis Chau tiene una licenciatura en Ciencias de la Computación (Carleton University) y se especializa en el desarrollo front-end con experiencia en Node.js, TypeScript, JavaScript y React. Apasionado por crear interfaces de usuario intuitivas y estéticamente agradables, disfruta trabajando con frameworks modernos y creando manuales bien ...

Leer más
¿Listo para empezar?
Nuget Descargas 16,685,821 | Versión: 2025.12 recién lanzado