IRONSOFTWAREHOME
並列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
NuGet Download
Install-Package ironpdf
並列PDF生成

並列PDF生成

IronPDF for Pythonは、マルチスレッドPDF生成をサポートしています。 単一のChromePdfRendererインスタンスはスレッドセーフなので、同時実行タスク全体で共有し、複数のPDFを並行してレンダリングできます。

開始方法

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.6リリースされたばかり

Key in blue circle

無料の30日間トライアルキーをすぐに入手してください。

bullet_checkedクレジットカードやアカウントの作成は不要です。
  • Logo Aetna
  • Logo NASA
  • Logo GE
  • Logo Porsche
  • Logo USDA
  • Logo Qatar
Join Millions of Engineers who’ve tried IronPDF
無料のライブデモを予約する
Booking Badge related to IronPDF Product Demo

世界中の数百万人のエンジニアから信頼されています。

ライセンスはより安く
義務のない相談を受ける
下記のフォームを記入するか、sales@ironsoftware.comにメールしてください。
あなたの詳細は常に守秘されます。
世界中の数百万人のエンジニアから信頼されています。
ライセンスはより安く
あなたの無料30日間の試用キーをすぐに入手。
クレジットカードやアカウントの作成は不要です。