Execute Custom JavaScript
With IronPDF, you can execute custom JavaScript to better customize your PDFs rendered from HTML content. With the ChromePdfRenderOptions.Javascript property, you can make sure the JavaScript executes after the HTML content has loaded but before your PDF is rendered, allowing for dynamic content rendering and interactivity. IronPDF's ChromePdfRenderer class ensures you create high-quality PDF documents tailored to your needs without losing any of the original quality or interactivity.
Steps to Execute Custom JavaScript for your PDF Documents
var renderOptions = new ChromePdfRenderOptions(); // Initializing ChromePdfRenderOptions to set custom rendering options.renderOptions.Javascript = "document.querySelectorAll('h1').forEach(function(el){el.style.color='red';});"; // Setting JavaScript to change the color of all h1 elements to red.var renderer = new ChromePdfRenderer { RenderingOptions = renderOptions }; // Creating a new ChromePdfRenderer and assigning our renderOptions to it.var pdf = renderer.RenderHtmlAsPdf("Happy New Year
"); // Rendering HTML as PDF and storing the result in the pdf variable.pdf.Password = "my-password"; // Setting a password for the PDF document for added security.
Before we can begin rendering our custom HTML and JavaScript into PDFs, we must first create a new ChromePdfRenderer instance. The ChromePdfRenderer class handles the rendering of HTML, CSS, and JavaScript content into PDF format, while maintaining a pixel-perfect quality. Then, using the Javascript property of the ChromePdfRenderOptions class, we can create a custom JavaScript code that will execute as soon as the HTML content has loaded, ensuring that the changes dictated by our JavaScript string are reflected in the final PDF document. In this case, we are selecting any h1 tags within the HTML content and changing their text color to red.
We then handle assigning our renderOptions object to the ChromePdfRenderer RenderingOptions property, which controls the rendering options for that specific instance of the ChromePdfRenderer. This means that when we use our instance of the ChromePdfRenderer class, we will be running our JavaScript before the PDF is rendered, ensuring the changes are made in the resulting PDF. Then, we render our HTML content using RenderHtmlAsPdf and use the PdfDocument class to create a new PDF document from the rendered content, which is stored in the variable pdf.
Finally, we save the rendered PDF using the final line, SaveAs, which will export the PDF to the specified filepath.



