Fixing PDF Rendering Timeout Issues

This article was translated from English: Does it need improvement?
Translated
View the article in English
  • Impossible de rendre PDF à partir de HTML
  • Impossible de rendre PDF à partir de l'URL
  • Erreur lors de la génération de PDF à partir de HTML
  • Erreur lors de la génération de PDF à partir de l'URL
  • Exception native non spécifiée

Ces messages d'erreur génériques indiquent que le moteur de rendu de Chrome a rencontré une défaillance.

Appliquer le code ci-dessous produira un fichier journal "Default.log" qui peut aider à déterminer la cause de la défaillance.

// 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

Délai d'attente de rendu

Le délai d'attente est une fonctionnalité implémentée dans IronPDF pour éviter que les applications ne se bloquent et deviennent non réactives en raison de longues durées de rendu PDF. Cela peut aider les utilisateurs en gérant les ressources, en veillant à ce que les ressources telles que le CPU, la mémoire et la bande passante réseau ne soient pas monopolisées par des processus prenant trop de temps à se terminer. Une erreur de délai d'attente, comme décrit ci-dessous, sera déclenchée si le processus de rendu PDF ne se termine pas à temps.

  • Délai de 60s dépassé lors du rendu PDF à partir de HTML
  • Délai de 60s dépassé lors du rendu PDF à partir de l'URL
  • Délai d'attente lors de la génération de PDF à partir de HTML
  • Délai d'attente lors de la génération de PDF à partir de l'URL
  • Délai d'attente lors du rendu PDF à partir de HTML
  • Délai d'attente lors du rendu PDF à partir de l'URL

Il y a de nombreuses raisons pour lesquelles les temps de rendu dans IronPDF peuvent être longs et conduire à des erreurs de délai d'attente, telles que le rendu de PDF volumineux ou lourds, la récupération de ressources/actifs distants pour le rendu de PDFs ou des problèmes pendant le rendu lui-même. Cependant, outrepasser la durée du délai d'attente peut généralement résoudre le problème.

Pour outrepasser le réglage par défaut, les utilisateurs peuvent accéder à la propriété Timeout dans la classe ChromePdfRenderOptions et la définir à une valeur plus élevée.

// 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

Veuillez noterÀ partir de la version 2021.12.4995, le délai d'affichage par défaut de IronPDF est de 60 secondes.

Délai de rendu

Dans certaines occasions, IronPDF peut rendre :

  • Un PDF vide
  • Un PDF avec un contenu incomplet
  • Un PDF avec des ressources d'images manquantes

Ce problème pourrait se produire parce que le document PDF a été rendu avant que l'appel pour récupérer les contenus ou actifs de la ressource ne soit terminé à temps.

Appliquer un délai de rendu au moteur de rendu PDF aide généralement à résoudre le problème. Cela instruira le moteur de retarder le rendu du PDF pour une durée définie, afin que les contenus ou les actifs puissent être chargés à temps avant le rendu du PDF. Pour ce faire, il suffit d'accéder à la méthode RenderDelay() dans l'objet wrapper WaitFor, définir la durée souhaitée comme paramètre de la méthode, et l'appliquer au moteur comme l'une des propriétés 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

Veuillez noterLa durée de RenderDelay par défaut est de 20 ms

En plus de la méthode RenderDelay(), il y a aussi d'autres méthodes dans l'objet wrapper WaitFor qui peuvent être utilisées.

Pour plus d'informations sur les journaux et comment signaler une erreur à nos ingénieurs pour examen, veuillez consulter Comment faire une demande de support technique pour IronPDF.

Curtis Chau
Rédacteur technique

Curtis Chau détient un baccalauréat en informatique (Université de Carleton) et se spécialise dans le développement front-end avec expertise en Node.js, TypeScript, JavaScript et React. Passionné par la création d'interfaces utilisateur intuitives et esthétiquement plaisantes, Curtis aime travailler avec des frameworks modernes ...

Lire la suite
Prêt à commencer?
Nuget Téléchargements 16,154,058 | Version : 2025.11 vient de sortir