IronPDF zapewnia generowanie PDF z bezpieczeństwem wątków i oferuje wsparcie dla procesów wielowątkowych, jeśli chodzi o generowanie dokumentów PDF przy użyciu klasy ChromePdfRenderer, jak widać w tym przykładzie. W ten sposob możesz obsługiwac zadania generowania PDF dowolnej wielkosci lub zbiorowe zadania generowania PDF jednoczesnie, bez obawy o problemy takie jak blokowanie wątków.
Kroki do wielowątkówego generowania PDF
Pierwszym krokiem w generowaniu dokumentów PDF w środowisku wielowątkowym jest stworzenie nowej instancji ChromePdfRenderer. To daje nam dostep do mocnego silnika renderowania IronPDF, zdolnego do tworzenia perfekcyjnych dokumentów PDF. Następnie stworzymy nową List<string> obiektów string, zwaną htmlStrings. Ta lista pełna jest ciagow HTML, z ktorych będziemy generować dokumenty PDF w naszym środowisku wielowątkówym.
Następnie musimy uzyc programowania asynchronicznego, aby jednoczesnie renderować wszystkie nasze ciagi HTML do plików PDF. htmlStrings.Select(html => renderer.RenderHtmlAsPdfAsync(html)) iteruje nad naszą listą ciągów HTML i wywołuje metodę RenderHtmlAsPdfAsync, dostępną przez renderer, dla każdego odnalezionego ciągu, przekształcając je w dokumenty PDF. Task.WhenAll() jest używane do akumulacji asynchronicznych zadań w jedno zadanie, które zostanie ukończone, gdy wszystkie indywidualne wywołania RenderHtmlAsPdfAsync zostaną sfinalizowane. Następnie zwróci nową tablicę obiektów PdfDocument.
Na koncu odzyskamy wyniki naszego generowania PDF. await task zapewnia, że obecna metoda asynchroniczna oczekuje, aż wszystkie asynchroniczne zadania PDF renderowania zostaną zakończone oraz odzyskuje wynikową tablicę obiektów PdfDocument. ToList() następnie konwertuje tablicę obiektów PdfDocument na Listę pdfList do łatwego dalszego manipulowania dokumentami PDF.