マルチスレッド生成
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ドキュメントのさらなる操作を容易にします。 クリックして、例、サンプルコード、およびファイルを含むハウツーガイドをご覧ください。