IronPDF ハウツー 非同期 & マルチスレッド C#で非同期とマルチスレッドでPDFを生成する方法 Chipego Kalinda 更新日:7月 22, 2025 IronPDF をダウンロード NuGet ダウンロード DLL ダウンロード Windows 版 無料トライアル LLM向けのコピー LLM向けのコピー LLM 用の Markdown としてページをコピーする ChatGPTで開く このページについてChatGPTに質問する ジェミニで開く このページについてGeminiに問い合わせる ジェミニで開く このページについてGeminiに問い合わせる 困惑の中で開く このページについてPerplexityに問い合わせる 共有する Facebook で共有 Xでシェア(Twitter) LinkedIn で共有 URLをコピー 記事をメールで送る This article was translated from English: Does it need improvement? Translated View the article in English 非同期とスレッディングは、IronPDFを使用してC#およびVB.NETで高性能のPDFをバッチで生成する際やパフォーマンスを最適化するために重要です。 クイックスタート: IronPDFでHTMLを非同期にPDF変換 IronPDFを使用してわずか数行のコードで非同期PDF生成を開始できます。 RenderHtmlAsPdfAsyncメソッドを使用して、HTMLコンテンツを効率的にPDFに変換し、アプリケーションのパフォーマンスを最適化できます。 このガイドでは、高性能なPDF生成のための非同期操作の力を活用する方法を示し、バッチ処理やマルチスレッド環境に最適です。 IronPDFの強力な機能の使いやすさと速度を体感してください。 今すぐ NuGet で PDF を作成してみましょう: NuGet パッケージ マネージャーを使用して IronPDF をインストールします PM > Install-Package IronPdf このコード スニペットをコピーして実行します。 var pdf = await IronPdf.ChromePdfRenderer.RenderHtmlAsPdfAsync("<h1>Hello World!</h1>"); 実際の環境でテストするためにデプロイする 今すぐ無料トライアルでプロジェクトに IronPDF を使い始めましょう 30日間無料トライアル 最小限のワークフロー(5ステップ) NuGetからIronPDFをダウンロードして、非同期およびマルチスレッドのPDF生成を始めましょう。 変換するためのHTMLコンテンツを準備する HTMLをIronPDFで非同期にPDFに変換するにはRenderHtmlAsPdfAsyncメソッドを使用してください。 PDF処理におけるマルチスレッド化のためのParallel.ForEachメソッドの使い方を探る さまざまなPDF生成技術のパフォーマンス比較を確認する 非同期の例 IronPDFは、RenderHtmlAsPdfAsyncメソッドなどのレンダリングメソッドを使用して完全に非同期操作をサポートします。 :path=/static-assets/pdf/content-code-examples/how-to/async-async.cs using IronPdf; using System.Threading.Tasks; // Instantiate ChromePdfRenderer ChromePdfRenderer renderer = new ChromePdfRenderer(); string[] htmlStrings = {"<h1>Html 1</h1>", "<h1>Html 2</h1>", "<h1>Html 3</h1>"}; // Create an array to store the tasks for rendering var renderingTasks = new Task<PdfDocument>[htmlStrings.Length]; for (int i = 0; i < htmlStrings.Length; i++) { int index = i; // Capturing the loop variable renderingTasks[i] = Task.Run(async () => { // Render HTML to PDF return await renderer.RenderHtmlAsPdfAsync(htmlStrings[index]); }); } // Wait for all rendering tasks to complete // await Task.WhenAll(renderingTasks); Imports IronPdf Imports System.Threading.Tasks ' Instantiate ChromePdfRenderer Private renderer As New ChromePdfRenderer() Private htmlStrings() As String = {"<h1>Html 1</h1>", "<h1>Html 2</h1>", "<h1>Html 3</h1>"} ' Create an array to store the tasks for rendering Private renderingTasks = New Task(Of PdfDocument)(htmlStrings.Length - 1){} For i As Integer = 0 To htmlStrings.Length - 1 Dim index As Integer = i ' Capturing the loop variable renderingTasks(i) = Task.Run(Async Function() ' Render HTML to PDF Return Await renderer.RenderHtmlAsPdfAsync(htmlStrings(index)) End Function) Next i ' Wait for all rendering tasks to complete ' await Task.WhenAll(renderingTasks); $vbLabelText $csharpLabel マルチスレッドの例 IronPDFはスレッドセーフであり、IronPdf.ChromePdfRendererレンダリングエンジンを使用する際にマルチスレッドをサポートします。ただし、マルチスレッドはmacOSマシンでは制限されています。 Parallel.ForEachパターンは、特にPDFのバッチ処理に便利です。 :path=/static-assets/pdf/content-code-examples/how-to/async-multi-thread.cs using IronPdf; using System.Collections.Concurrent; using System.Collections.Generic; using System.Threading.Tasks; var queue = new List<string>() { "<h1>Html 1</h1>", "<h1>Html 2</h1>", "<h1>Html 3</h1>" }; // Instantiate ChromePdfRenderer ChromePdfRenderer renderer = new ChromePdfRenderer(); // Create a list to store the rendered PDFs List<PdfDocument> pdfResults = new List<PdfDocument>(); Parallel.ForEach(queue, html => { // Render HTML to PDF PdfDocument pdf = renderer.RenderHtmlAsPdf(html); // You may choose to save the PDF to disk here if needed // For this example, we'll store it in the pdfResults list lock (pdfResults) { pdfResults.Add(pdf); } }); Imports IronPdf Imports System.Collections.Concurrent Imports System.Collections.Generic Imports System.Threading.Tasks Private queue = New List(Of String)() From {"<h1>Html 1</h1>", "<h1>Html 2</h1>", "<h1>Html 3</h1>"} ' Instantiate ChromePdfRenderer Private renderer As New ChromePdfRenderer() ' Create a list to store the rendered PDFs Private pdfResults As New List(Of PdfDocument)() Parallel.ForEach(queue, Sub(html) ' Render HTML to PDF Dim pdf As PdfDocument = renderer.RenderHtmlAsPdf(html) ' You may choose to save the PDF to disk here if needed ' For this example, we'll store it in the pdfResults list SyncLock pdfResults pdfResults.Add(pdf) End SyncLock End Sub) $vbLabelText $csharpLabel パフォーマンス比較 比較を行いましょう。 WaitForクラスによる複雑なHTMLレンダリングのシミュレーションで、5秒の遅延がレンダリングに追加されます。 以下は、上記のさまざまな技術を使用したパフォーマンスの比較表です。 通常レンダリング 非同期レンダー マルチスレッドレンダー 15.75秒 05.59秒 05.68秒 よくある質問 C#でHTMLを非同期でPDFに変換するにはどうすればよいですか? IronPDFのRenderHtmlAsPdfAsyncメソッドを使用して、C#でHTMLを非同期でPDFに変換できます。これにより、メインスレッドをブロックせずに効率的なPDF生成が可能になります。 PDF処理にマルチスレッドを使用する利点は何ですか? IronPDFを使用したPDF処理におけるマルチスレッドは、複数のPDF変換を同時に処理できるため、バッチ処理に理想的であり、複数のCPUコアを活用して性能を向上させます。 IronPDFは非同期およびマルチスレッドの両方のPDF生成に使用できますか? はい、IronPDFは非同期およびマルチスレッドのPDF生成をサポートしています。非同期操作にはRenderHtmlAsPdfAsync、マルチスレッド処理にはParallel.ForEachを使用できます。 IronPDFはPDF生成においてスレッドセーフですか? はい、IronPDFはスレッドセーフで、特にIronPdf.ChromePdfRendererレンダリングエンジンを使用するときに安全ですが、macOSにはいくつかの制限があります。 非同期PDF生成のパフォーマンスはマルチスレッド生成とどのように比較されますか? パフォーマンス比較では、IronPDFを使用した非同期PDF生成は通常約5.59秒かかり、マルチスレッド生成は約5.68秒かかります。どちらも通常のレンダリング(15.75秒)よりもかなり速いです。 IronPDFを使用したPDF処理におけるマルチスレッドの実用的なユースケースは何ですか? IronPDFを使用したマルチスレッドの実用的なユースケースはバッチ処理で、多数のHTMLファイルを同時にPDFに変換し、リソースの使用を最適化し、処理時間を短縮します。 MacOSでIronPDFを使用する際の特定の考慮事項はありますか? IronPDFはマルチスレッドをサポートしていますが、macOSでこの機能を使用する際には制限が記録されています。特定の環境でマルチスレッドアプリケーションをテストおよび検証することが重要です。 IronPDF は .NET 10 と完全に互換性がありますか? はい。IronPDF は .NET 10 をサポートしています。ランタイム、Web、デスクトップ、コンテナー化された環境を含む .NET 10 プロジェクトですぐに使用でき、.NET 10 で導入されたパフォーマンスと言語の改善の恩恵を受けることができます。出典: IronPDF の機能ページ、.NET 10 の機能に関する記事。 Chipego Kalinda 今すぐエンジニアリングチームとチャット ソフトウェアエンジニア Chipegoは、顧客の問題を理解し、知的な解決策を提供するのに役立つ、自然な聞くスキルを持っています。彼は2023年に情報技術の理学士を取得後、Iron Softwareチームに加わりました。IronPDFとIronOCRはChipegoが注力している2つの製品ですが、彼の全製品に対する知識は日々成長しています。彼は顧客をサポートする新しい方法を見つける中で、それを増やしています。Iron Softwareのコラボレーションの生活は、彼にとって非常に魅力的で、各部門のチームメンバーが多様な経験を持ち寄り、効果的で革新的なソリューションを提供しています。Chipegoは、デスクを離れると、良い本を読んだり、サッカーを楽しんだりすることがよくあります。 準備はできましたか? Nuget ダウンロード 16,493,056 | Version: 2025.11 リリース NuGet 無料版 総ダウンロード数: 16,493,056 ライセンスを見る