Mehrfach-Thread-Erzeugung
IronPDF bietet threadsichere PDF-Erstellung und unterstützt Multithreading-Prozesse bei der Erstellung von PDF-Dokumenten mit der ChromePdfRenderer-Klasse, wie in diesem Beispiel zu sehen ist. Auf diese Weise können Sie PDF-Generierungsaufgaben jeder Größe oder Batch-PDF-Generierungsaufgaben gleichzeitig bearbeiten, ohne Angst vor Problemen wie Thread-Blockierung zu haben.
Schritte zur Multi-Threaded PDF-Generierung
Der erste Schritt beim Erstellen von PDF-Dokumenten in einer Multithread-Umgebung ist das Erstellen einer neuen ChromePdfRenderer-Instanz. Dies gibt uns Zugriff auf IronPDF's leistungsstarke Rendering-Engine, die in der Lage ist, pixelgenaue PDF-Dokumente zu erstellen. Anschließend erstellen wir ein neues List<string> von String-Objekten, genannt htmlStrings. Diese Liste ist voll von den HTML-Strings, aus denen wir in unserer Multi-Threaded-Umgebung PDF-Dokumente generieren werden.
Als nächstes müssen wir asynchrone Programmierung verwenden, um alle unsere HTML-Strings gleichzeitig in PDF-Dateien zu rendern. htmlStrings.Select(html => renderer.RenderHtmlAsPdfAsync(html)) durchläuft unsere Liste von HTML-Zeichenfolgen und ruft für jede gefundene Zeichenfolge die Methode RenderHtmlAsPdfAsync auf, auf die über renderer zugegriffen wird, um diese in PDF-Dokumente zu konvertieren. Task.WhenAll() wird verwendet, um die asynchronen Aufgaben zu einer einzigen Aufgabe zusammenzufassen, die abgeschlossen wird, sobald alle einzelnen RenderHtmlAsPdfAsync-Aufrufe beendet sind. Anschließend gibt sie ein neues Array von PdfDocument-Objekten zurück.
Schließlich werden wir die Ergebnisse unserer PDF-Generierung abrufen. await task stellt sicher, dass die aktuelle asynchrone Methode wartet, bis alle asynchronen PDF-Rendering-Aufgaben abgeschlossen sind, und ruft das resultierende Array von PdfDocument-Objekten ab. ToList() wandelt dann das Array von PdfDocument-Objekten in die pdfList-Liste um, um die weitere Bearbeitung der PDF-Dokumente zu vereinfachen.

