並行 PDF 生成
from ironpdf import *
import concurrent.futures
import uuid

# Instantiate Renderer
renderer = ChromePdfRenderer()

htmlStrings = ["<h1>Html#1</h1>", "<h1>Html#2</h1>", "<h1>Html#3</h1>"]

with concurrent.futures.ThreadPoolExecutor() as executor:
    futures = []
    for html in htmlStrings:
        futures.append(executor.submit(renderer.RenderHtmlAsPdf, html))

    # do something with each pdfDocument
    for future in concurrent.futures.as_completed(futures):
        pdf = future.result()
        pdf.SaveAs(f"{uuid.uuid4()}.pdf")
        # do something with each pdf
pip install ironpdf
並行 PDF 生成

並行 PDF 生成

IronPDF for Python 支援多執行緒的PDF生成。 單一 ChromePdfRenderer 實例是執行緒安全的,可以在多個同時執行的任務中共用,以平行渲染多個PDF。

入門指南

using Python 的內建 concurrent.futures.ThreadPoolExecutor 以將渲染呼叫提交為平行任務。 每個提交的任務會以不同的HTML字串呼叫 renderer.RenderHtmlAsPdf,並在完成時收集結果。

程式程式碼理解

  • ChromePdfRenderer:單一實例可以在多執行緒間重複使用。 IronPDF 安全地管理底層 Chrome 渲染引擎,以應對同時的負載。
  • ThreadPoolExecutor:Python 的標準執行緒池實作。 executor.submit 將每個渲染呼叫安排為一個非阻塞的未來。
  • concurrent.futures.as_completed(futures):無論提交順序為何,每個執行緒完成時提供結果。
  • uuid.uuid4():為每個輸出PDF生成唯一的檔名,以避免在同時儲存檔案時發生衝突。

性能考慮

平行渲染最適合需要同時轉換許多獨立HTML文件的批量作業,例如,為許多收件人生成個性化報告或發票。 應根據主機機器可用的CPU和記憶體調整並行執行緒的數量。

了解如何使用 IronPDF for Python 將HTML轉換為PDF!

準備開始了嗎?

版本:2026.11剛剛發布