生成 PDF 超時

This article was translated from English: Does it need improvement?
Translated
View the article in English
  • 無法將 HTML 渲染到 PDF
  • 無法從 URL 渲染 PDF
  • 從 HTML 生成 PDF 時出錯
  • 從 URL 生成 PDF 時出錯
  • 未指明的本機例外

這些通用錯誤訊息表示 Chrome 渲染引擎已指示失敗。

應用以下代碼片段將生成 "Default.log" 日誌文件,可以幫助確定失敗的原因。

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

渲染超時

超時是 IronPDF 中實現的一項功能,用於防止應用程序因長時間的 PDF 渲染而陷入死鎖並變得無響應,這可以幫助用戶主要通過確保資源(如 CPU、內存和網絡帶寬)不會被過程綁定而無法完成來管理資源。如果在規定時間內無法完成 PDF 渲染過程,將會拋出以下的超時錯誤:

  • 在從 HTML 渲染 PDF 時超時 60 秒
  • 在從 URL 渲染 PDF 時超時 60 秒
  • 在從 HTML 生成 PDF 時超時
  • 在從 URL 生成 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 工程支持請求.