Generowanie wielowatkowe
IronPDF zapewnia bezpieczne generowanie PDF w wątkach i oferuje wsparcie dla procesów wielowątkowych przy generowaniu dokumentów PDF za pomocą klasy ChromePdfRenderer, jak pokazano w tym przykładzie. W ten sposób można obsługiwać zadania generowania PDF dowolnej wielkości lub zbiorcze zadania generowania PDF jednocześnie, bez obawy o problemy takie jak blokowanie wątków.
Kroki do wielowątkowego generowania PDF
Pierwszym krokiem w generowaniu dokumentów PDF w środowisku wielowątkowym jest utworzenie nowej instancji ChromePdfRenderer. To daje nam dostęp do mocnego silnika renderowania IronPDF, zdolnego do tworzenia perfekcyjnych dokumentów PDF. Następnie utworzymy nową listę obiektów typu string, nazwaną htmlStrings. Ta lista pełna jest ciągów HTML, z których będziemy generować dokumenty PDF w naszym środowisku wielowątkowym.
Następnie należy użyć programowania asynchronicznego, aby jednocześnie renderować wszystkie ciągi HTML do plików PDF. htmlStrings.Select(html => renderer.RenderHtmlAsPdfAsync(html)) iteruje naszą listę ciągów HTML i wywołuje metodę RenderHtmlAsPdfAsync, dostępną przez renderer, na każdym znalezionym ciągu, konwertując je na dokumenty PDF. Task.WhenAll() służy do akumulacji asynchronicznych zadań w jedno zadanie, które zostanie ukończone, gdy wszystkie indywidualne wywołania RenderHtmlAsPdfAsync zostaną zakończone. Następnie zwróci nową tablicę obiektów PdfDocument.
Na końcu odzyskamy wyniki naszego generowania PDF. await task zapewnia, że bieżąca metoda asynchroniczna czeka, aż wszystkie asynchroniczne zadania renderowania PDF zostaną ukończone, i odzyskuje wynikową tablicę obiektów PdfDocument. ToList() następnie konwertuje tablicę obiektów PdfDocument na listę pdfList dla łatwiejszej dalszej manipulacji dokumentami PDF.

