將 HTML 中的 JavaScript 轉換為 PDF
IronPDF允許使用者從 HTML 內容建立 PDF 文件,但不僅僅是純 HTML 內容可以轉換為 PDF; 它還可以將 HTML 與自訂 CSS 和JavaScript進行轉換。 例如,在 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 文件的實際渲染。 透過將 HTML 字串和JavaScript傳遞給此方法,我們可以將其渲染成包含所有 HTML 和JavaScript項目的高品質 PDF。 這會保存到一個新的 PdfDocument 物件中,該物件將儲存新渲染的 PDF,在本例中,該物件被稱為 pdfJavaScript。 最後,我們可以使用 SaveAs 方法來儲存這個新的 PDF 檔案。

