マルチスレッド生成

IronPDFは、スレッドセーフなPDF生成を提供し、この例で示されているようにChromePdfRendererクラスを使用してPDFドキュメントを生成する際にマルチスレッドプロセスをサポートします。 このようにして、スレッドのブロッキングなどの問題に直面することなく、任意のサイズのPDF生成タスクやバッチPDF生成タスクを同時に処理することができます。

マルチスレッドによるPDF生成の手順

  • var renderer = new ChromePdfRenderer();
    javascript
    JAVASCRIPT
  • var htmlStrings = new List<string>() { "<h1>Html#1</h1>", "<h1>Html#2</h1>", "<h1>Html#3</h1>" };
  • Task<PdfDocument[]> task = Task.WhenAll(htmlStrings.Select(html => renderer.RenderHtmlAsPdfAsync(html)));
  • List<PdfDocument> pdfList = task.Result.ToList();

    マルチスレッド環境でPDFドキュメントを生成する最初のステップは、新しいChromePdfRendererインスタンスを作成することです。 これは、ピクセルパーフェクトなPDFドキュメントを生成できるIronPDFの強力なレンダリングエンジンにアクセスすることを可能にします。 次に、htmlStringsという名前の新しい文字列オブジェクトのリストを作成します。 このリストには、マルチスレッド環境でPDF文書を生成するためのHTML文字列がいっぱいあります。

    次に、非同期プログラミングを使用して、すべてのHTML文字列を同時にPDFファイルにレンダーする必要があります。 htmlStrings.Select(html => renderer.RenderHtmlAsPdfAsync(html)) はHTML文字列のリストを反復処理し、RenderHtmlAsPdfAsync メソッドをレンダラーを通じて各文字列に対して呼び出し、これらをPDFドキュメントに変換します。 Task.WhenAll() は、非同期タスクを集約し、すべての個別のRenderHtmlAsPdfAsync 呼び出しが完了したときに完了する単一のタスクに使用されます。 その後、新しいPdfDocumentオブジェクトの配列を返します。

    最後に、PDF生成の結果を取得します。 task.Result は、すべての非同期PDFレンダリングタスクが完了するまで現在のスレッドをブロックし、結果として得られるPdfDocumentオブジェクトの配列を取得します。 その後、ToList()PdfDocumentオブジェクトの配列をpdfListリストに変換し、PDFドキュメントのさらなる操作を容易にします。 クリックして、例、サンプルコード、およびファイルを含むハウツーガイドをご覧ください。