多執行緒生成
IronPDF 提供執行緒安全的 PDF 生成功能,並支援多執行緒處理流程,例如本範例中使用 ChromePdfRenderer 類別生成 PDF 文件時的情境。 如此一來,您便能同時處理任何規模的 PDF 生成任務,或批次 PDF 生成任務,無須擔心會遇到執行緒阻塞等問題。
多執行緒 PDF 生成步驟
在多執行緒環境中生成 PDF 文件的第一步,是建立一個新的 ChromePdfRenderer 實例。 這使我們能夠運用 IronPDF 強大的渲染引擎,生成像素級精準的 PDF 文件。 接著,我們將建立一個名為 htmlStrings 的新 List<string> 字串物件。 此清單包含我們將在多執行緒環境中用以生成 PDF 文件的 HTML 字串。
接下來,我們需要使用非同步程式設計,將所有 HTML 字串同時渲染為 PDF 檔案。 htmlStrings.Select(html => renderer.RenderHtmlAsPdfAsync(html)) 會遍歷我們的 HTML 字串清單,並針對每個找到的字串,透過 RenderHtmlAsPdfAsync 呼叫 renderer 方法,將其轉換為 PDF 文件。 Task.WhenAll() 用於將異步任務彙整為單一任務,該任務將在所有個別的 RenderHtmlAsPdfAsync 呼叫完成後一併執行。 接著,它將返回一個由 PdfDocument 物件組成的新陣列。
最後,我們將取得 PDF 生成結果。 await task 確保當前的非同步方法會等待所有非同步 PDF 渲染任務完成,並取得結果陣列中的 PdfDocument 物件。 ToList() 接著將 PdfDocument 物件的陣列轉換為 pdfList 清單,以便後續更輕鬆地操作 PDF 文件。

