Mehrfädige Generation
IronPDF bietet thread-sichere PDF-Erstellung und unterstützt Multi-Threading-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-Erstellungsaufgaben beliebiger Größe oder Batch-PDF-Erstellungsaufgaben gleichzeitig bearbeiten, ohne Angst vor Problemen wie Thread-Blockierung zu haben.
Schritte zur multithreaded PDF-Erstellung
- var renderer = new ChromePdfRenderer();
- var htmlStrings = new List<string>() { "<h1>Html#1</h1>", "<h1>Html#2</h1>", "<h1>Html#3</h1>" };
- Task<PdfDocument[]> task = Task.WhenAll(htmlStrings.Select(html => renderer.RenderHtmlAsPdfAsync(html)));
-
List<PdfDocument> pdfList = task.Result.ToList();
Der erste Schritt bei der Erstellung von PDF-Dokumenten in einer Multi-Thread-Umgebung besteht darin, eine neue
ChromePdfRenderer
-Instanz zu erstellen. Dies gibt uns Zugriff auf IronPDFs leistungsstarken Rendering-Engine, die in der Lage ist, pixelgenaue PDF-Dokumente zu erzeugen. Dann erstellen wir eine neue Liste von String-Objekten, genannt htmlStrings. Diese Liste ist voll mit HTML-Strings, aus denen wir in unserer Multi-Threaded-Umgebung PDF-Dokumente generieren werden.Als nächstes müssen wir asynchrones Programmieren verwenden, um alle unsere HTML-Strings gleichzeitig in PDF-Dateien zu rendern.
htmlStrings.Select(html => renderer.RenderHtmlAsPdfAsync(html))
durchläuft unsere Liste von HTML-Strings und ruft dieRenderHtmlAsPdfAsync
-Methode auf, die über den Renderer erreichbar ist, auf jedem gefundenen String auf, um sie in PDF-Dokumente zu konvertieren.Task.WhenAll()
wird verwendet, um die asynchronen Aufgaben in eine einzelne Aufgabe zu sammeln, die abgeschlossen wird, sobald alle einzelnenRenderHtmlAsPdfAsync
-Aufrufe beendet sind. Dann wird es ein neues Array vonPdfDocument
-Objekten zurückgeben.Schließlich werden wir die Ergebnisse unserer PDF-Erstellung abrufen.
task.Result
blockiert den aktuellen Thread, bis alle asynchronen PDF-Rendering-Aufgaben abgeschlossen sind und das resultierende Array vonPdfDocument
-Objekten abgerufen wird. Dann wirdToList()
das Array vonPdfDocument
-Objekten in die pdfList-Liste umwandeln, um die weitere Bearbeitung der PDF-Dokumente zu erleichtern. Klicken Sie hier, um den Leitfaden anzusehen, einschließlich Beispielen, Beispielcode und Dateien.