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 die RenderHtmlAsPdfAsync-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 einzelnen RenderHtmlAsPdfAsync-Aufrufe beendet sind. Dann wird es ein neues Array von PdfDocument-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 von PdfDocument-Objekten abgerufen wird. Dann wird ToList() das Array von PdfDocument-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.