IronPDF pozwala użytkownikom tworzyć pliki PDF z treści HTML, ale nie tylko czysta treść HTML może być przekształcona do PDF; może również przekształcić HTML z niestandardowym CSS i JavaScript. Użycie JavaScript w obrębie treści HTML, na przykład, pozwala na osadzanie zasobów takich jak obrazy bezpośrednio w ciągu HTML, zamiast ładować je jako zewnętrzne zasoby. Wszystko, czego potrzebujesz, aby to osiągnąć, to klasa ChromePdfRenderer i jej właściwość RenderingOptions.
5 kroków do renderowania HTML z JavaScript do PDF w C#
const string htmlWithJavaScript = "....";var renderer = new ChromePdfRenderer();renderer.RenderingOptions.EnableJavaScript = true;renderer.RenderingOptions.WaitForJavaScript();var pdfJavaScript = renderer.RenderHtmlAsPdf(htmlWithJavaScript);
W zmiennej string stworzyliśmy łańcuch HTML, który zawiera znacznik <script> JavaScript, który zawiera kod JavaScript służący do stworzenia naszego PDF. Używając znacznika script, wskazaliśmy, która sekcja łańcucha to JavaScript, która później zostanie włączona przy użyciu właściwości RenderingOptions. Dzięki temu można osadzać obrazy, zachować interaktywność w renderowanym PDF i więcej.
Z new ChromePdfRenderer();, tworzymy nową instancję klasy ChromePdfRenderer, która kontroluje renderowanie treści HTML na PDF. Dzięki tej klasie możesz być pewny, że Twoje renderowane pliki PDF będą perfekcyjnie odwzorowane, wraz z zachowaniem dowolnej niestandardowej zawartości JavaScript lub CSS w końcowym wyniku.
Następnie, korzystaj z właściwości RenderingOptions w obrębie klasy ChromePdfRenderer, aby umożliwić wykonanie JavaScript przed renderowaniem nowego PDF. Metoda RenderingOptions.WaitForJavaScript() zapewnia, że program czeka na zakończenie wykonywania JavaScript, zanim kontynuuje proces renderowania. Renderowanie rozpocznie się, gdy kod JavaScript wykona metodę window.ironpdf.notifyRender(). Właściwość RenderingOptions jest przypisana do instancji ChromePdfRenderer, którą stworzyliśmy, dzięki czemu opcje te będą używane dla każdego PDF stworzonego z tym rendererem.
Metoda renderer.RenderHtmlAsPdf(...) obsługuje rzeczywiste renderowanie dokumentu PDF. Przekazując ciąg HTML z JavaScript do tej metody, możemy renderować go jako wysokiej jakości PDF zawierający wszystkie elementy HTML i JavaScript. To jest zapisane do nowego obiektu PdfDocument, który przechowa nowo zrenderowany PDF, który w tym przypadku nazywa się pdfJavaScript. Na koniec, możemy zapisać ten nowy PDF używając metody SaveAs.