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" ログファイルが生成されます。

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

レンダリングタイムアウト

タイムアウトは、アプリケーションがデッドロックを起こしたり、長時間のPDFレンダリングによって応答しなくなるのを防ぐためにIronPDFで実装された機能です。 これは、CPU、メモリ、ネットワーク帯域幅などのリソースが完了するのに時間のかかるプロセスに縛られないように管理することで、ユーザーを支援します。 以下で説明するように、PDFレンダリングプロセスが時間内に完了しない場合、タイムアウトエラーがスローされます。

  • HTMLからPDFをレンダリング中に_60s_後にタイムアウト
  • URLからPDFをレンダリング中に_60s_後にタイムアウト
  • HTMLからのPDF生成中にタイムアウト
  • URLからのPDF生成中にタイムアウト
  • HTMLからのPDFレンダリング中にタイムアウト
  • URLからのPDFレンダリング中にタイムアウト

IronPDFでの長いレンダリング時間の理由には、多くの要因があります。大きいまたは重いPDFのレンダリング、PDFをレンダリングするためのリモートリソースやアセットの取得、またはレンダリング中の問題などです。 しかし、デフォルトの設定を上書きすることが通常は問題を解決します。

デフォルト設定を上書きするには、ユーザーは ChromePdfRenderOptions クラスのTimeout プロパティにアクセスし、それをより高い値に設定することができます。

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

ご注意バージョン 2021.12.4995 以降、IronPDF のデフォルトのレンダリング タイムアウトは 60 秒です。

レンダリング遅延

場合によっては、IronPDFは次のようにレンダリングされることがあります。

  • 空白のPDF
  • 不完全なコンテンツのあるPDF
  • 画像アセットが欠落しているPDF

この問題は、リソースからコンテンツやアセットを取得する呼び出しが時間内に完了する前にPDFドキュメントがレンダリングされたために発生する可能性があります。

通常、PDFレンダラにレンダリング遅延を適用することで、この問題の解決に役立ちます。 これは、コンテンツやアセットがPDFレンダリング前に時間内にロードされるように、設定された期間PDFレンダリングを遅延させる指示をレンダラに与えます。 これを行うには、WaitFor ラッパー オブジェクトのRenderDelay()メソッドにアクセスし、必要な継続時間をメソッド パラメータとして設定し、それを ChromePdfRenderOptions プロパティの 1 つとしてレンダラーに適用するだけです。

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

ご注意デフォルトのRenderDelay時間は20ミリ秒です

RenderDelay() メソッド以外にも、 WaitForラッパー オブジェクトには利用できる他のメソッドもあります。

ログとエンジニアにエラーを報告し、レビューのためのIronPDFのエンジニアリングサポートリクエストを行う方法について、詳細情報をご覧ください。

カーティス・チャウ
テクニカルライター

Curtis Chauは、カールトン大学でコンピュータサイエンスの学士号を取得し、Node.js、TypeScript、JavaScript、およびReactに精通したフロントエンド開発を専門としています。直感的で美しいユーザーインターフェースを作成することに情熱を持ち、Curtisは現代のフレームワークを用いた開発や、構造の良い視覚的に魅力的なマニュアルの作成を楽しんでいます。

開発以外にも、CurtisはIoT(Internet of Things)への強い関心を持ち、ハードウェアとソフトウェアの統合方法を模索しています。余暇には、ゲームをしたりDiscordボットを作成したりして、技術に対する愛情と創造性を組み合わせています。

準備はできましたか?
Nuget ダウンロード 17,803,474 | バージョン: 2026.3 リリース
Still Scrolling Icon

まだスクロールしていますか?

すぐに証拠が欲しいですか? PM > Install-Package IronPdf
サンプルを実行するHTML が PDF に変換されるのを確認します。