修复 PDF 渲染超时问题

This article was translated from English: Does it need improvement?
Translated
View the article in English
  • 无法从HTML渲染PDF
  • 無法從 URL 渲染 PDF
  • 生成 PDF 時出錯
  • 從 URL 生成 PDF 時發生錯誤
  • 未指定的原生異常

    這些通用錯誤訊息表示 Chrome 渲染引擎已指示出現故障。

    应用以下代码片段将生成“Default.log”日志文件,有助于确定故障原因。

IronPdf.Logging.Logger.LoggingMode = IronPdf.Logging.Logger.LoggingModes.All;
IronPdf.Logging.Logger.LogFilePath = "Default.log";

渲染超時

Timeout 是 IronPDF 實施的一項功能,旨在防止應用程序因 PDF 渲染時間過長而陷入死結並變得無響應,這主要可以幫助用戶管理資源,確保像 CPU、內存和網絡帶寬這樣的資源不會因為過程耗時過長而被占用。 如果 PDF 渲染過程未能及時完成,將拋出以下超時錯誤。

  • 在將 HTML 渲染成 pdf 時,在 60s 後逾時。
  • 從 URL 渲染 pdf 時,在 60s 後超時。
  • 在從HTML生成PDF時發生超時
  • 從網址生成 PDF 時超時
  • 渲染 HTML 成 PDF 時發生逾時
  • 從 URL 渲染 PDF 時發生超時

    在IronPDF中,導致渲染時間過長可能導致超時錯誤的原因有很多,例如渲染大型或繁重的PDF、檢索用於渲染PDF的遠程資源/資產,或在渲染過程中出現問題。 但是,通常可以通過覆蓋超時持續時間來解決問題。

    要覆蓋預設設定,用戶可以存取逾時屬性在 ChromePdfRenderOptions 類別中,設置為更高的值。

RenderingOptions.Timeout = 120; // seconds;

請注意
從2021.12.4995版本開始,IronPDF的預設渲染超時時間為60秒。

渲染延遲

在某些情況下,IronPDF 渲染了

  • 空白 PDF

  • PDF內容不完整

  • PDF 缺少圖像資產

    這個問題可能是因為在調用從資源擷取內容或資產完成之前,PDF文檔就已經渲染了。

    將 RenderDelay 應用於 PDF 渲染器通常有助於解決問題。 這將指示渲染器延遲PDF渲染一段設定的時間,以便在PDF渲染之前及時加載內容或資產。 要做到这一点,只需访问延遲渲染()在 WaitFor 包裝物件中,將所需的持續時間設為方法的參數,並作為 ChromePdfRenderOptions 屬性之一應用到渲染器。

RenderingOptions.WaitFor.RenderDelay(5000);  //miliseconds

請注意
預設的 RenderDelay 持續時間為 20 毫秒

除了RenderDelay外()方法,也有其他方法在等待可使用的包裝器物件。

有關日誌記錄和向我們的工程師報告錯誤以供審查的進一步資訊,請查看如何提出 IronPDF 工程支持請求.