并行 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。

开始

使用Python的内置concurrent.futures.ThreadPoolExecutor提交渲染调用作为并行任务。 每个提交的任务调用renderer.RenderHtmlAsPdf使用不同的HTML字符串,并在完成时收集结果。

理解代码

  • ChromePdfRenderer:单个实例可跨线程重用。 IronPDF在并发负载下安全管理底层的Chrome渲染引擎。
  • ThreadPoolExecutor:Python的标准线程池实现。 executor.submit将每个渲染调用安排为非阻塞未来。
  • concurrent.futures.as_completed(futures):无论提交顺序如何,都能在每个线程完成时产生结果。
  • uuid.uuid4():为每个输出PDF生成唯一的文件名,以避免保存文件时的冲突。

性能考虑

并行渲染对需要同时转换许多独立HTML文档的批处理作业最有效,例如,为许多接收者生成个性化报告或发票。 并发线程的数量应根据主机上的可用CPU和内存进行调整。

学习如何使用IronPDF for Python将HTML转换为PDF!

准备开始了吗?

版本:2026.11刚刚发布