在HTML中JavaScript生成PDF
IronPDF 允许用户从 HTML 内容创建 PDF 文件,但不仅仅是纯 HTML 内容可以转换为 PDF; 它还可以将带有自定义 CSS 和 JavaScript 的 HTML 转换。 例如,在 HTML 内容中使用 JavaScript 允许资产如图像直接嵌入在 HTML 字符串中,而不是作为外部资产加载。 实现此目的只需要 ChromePdfRenderer 类及其 RenderingOptions 属性。
- `const string htmlWithJavaScript = "....";`
- `var renderer = new ChromePdfRenderer();`
- `renderer.RenderingOptions.EnableJavaScript = true;`
- `renderer.RenderingOptions.WaitForJavaScript();`
- `var pdfJavaScript = renderer.RenderHtmlAsPdf(htmlWithJavaScript);`
在字符串变量中,我们创建了一个 HTML 字符串,其中包含JavaScript <script> 标签,该标签将包含用于创建 PDF 的JavaScript代码。 使用 script 标签意味着我们已经指明了字符串的哪一部分是JavaScript,稍后将使用 RenderingOptions 属性启用它。 通过这样,您可以嵌入图像、在渲染的 PDF 中保持交互性等。
使用 new ChromePdfRenderer();,我们实例化 ChromePdfRenderer 类的一个新实例,该类控制 HTML 内容到 PDF 的渲染。 使用该类,您可以确信渲染的 PDF 文件将是像素完美的,并且最终结果中保留了任何自定义 JavaScript 或 CSS 内容。
接下来,利用 RenderingOptions 类中的 ChromePdfRenderer 属性,使JavaScript能够在新 PDF 渲染之前执行。 RenderingOptions.WaitForJavaScript() 方法确保程序等待JavaScript执行完毕后再继续渲染过程。 一旦JavaScript代码执行 window.ironpdf.notifyRender() 方法,渲染就会开始。 将 RenderingOptions 属性分配给我们创建的 ChromePdfRenderer 实例,以便这些选项将用于使用此渲染器创建的任何 PDF。
renderer.RenderHtmlAsPdf(...) 方法处理 PDF 文档的实际渲染。 通过将带有 JavaScript 的 HTML 字符串传递给此方法,我们可以将其渲染为包含所有 HTML 和 JavaScript 项目的高质量 PDF。 这会保存到一个新的 PdfDocument 对象中,该对象将存储新渲染的 PDF,在本例中称为 pdfJavaScript。 最后,我们可以使用 SaveAs 方法保存这个新的 PDF 文件。

