Parallele PDF-Erstellung
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
Parallele PDF-Erstellung

Parallele PDF-Erstellung

IronPDF for Python unterstützt die mehrfädige PDF-Erstellung. Eine einzelne ChromePdfRenderer Instanz ist threadsicher und kann für gleichzeitige Aufgaben gemeinsam genutzt werden, um mehrere PDFs parallel zu rendern.

Einstieg

Verwenden Sie das eingebaute concurrent.futures.ThreadPoolExecutor von Python, um Renderrufe als parallele Aufgaben einzureichen. Jede eingereichte Aufgabe ruft renderer.RenderHtmlAsPdf mit einer anderen HTML-Zeichenkette auf, und die Ergebnisse werden gesammelt, sobald sie abgeschlossen sind.

Den Code verstehen

  • ChromePdfRenderer: Eine einzelne Instanz kann über Threads hinweg wiederverwendet werden. IronPDF verwaltet die zugrunde liegende Chrome-Rendering-Engine sicher unter gleichzeitiger Last.
  • ThreadPoolExecutor: Python's Standard-Thread-Pool-Implementierung. executor.submit plant jeden Renderruf als nicht blockierbares Future.
  • concurrent.futures.as_completed(futures): Liefert Ergebnisse, wenn jeder Thread fertig ist, unabhängig von der Reihenfolge der Einreichung.
  • uuid.uuid4(): Generiert einen eindeutigen Dateinamen für jedes Ausgabe-PDF, um Kollisionen beim gleichzeitigen Speichern von Dateien zu vermeiden.

Erwägungen zur Leistung

Paralleles Rendering ist am effektivsten für Batch-Jobs, bei denen viele unabhängige HTML-Dokumente gleichzeitig konvertiert werden müssen - zum Beispiel beim Erstellen personalisierter Berichte oder Rechnungen für viele Empfänger. Die Anzahl der gleichzeitig ausgeführten Threads sollte basierend auf den verfügbaren CPU- und Speicherkapazitäten der Hostmaschine angepasst werden.

Lernen Sie, HTML mit IronPDF for Python in PDF zu konvertieren!

Bereit anzufangen?

Version:2026.11gerade veröffentlicht