JavaScript 轉 HTML 轉 PDF
IronPDF 允許使用者從 HTML 內容建立 PDF 檔案,但不僅僅是純 HTML 內容可以轉換為 PDF; 它亦能轉換包含自訂 CSS 和 JavaScript 的 HTML 檔案。 例如,在 HTML 內容中使用 JavaScript,可讓圖片等資源直接嵌入 HTML 字串中,而非作為外部資源載入。 您只需使用 ChromePdfRenderer 類別及其 RenderingOptions 屬性,即可達成此目標。
使用 JavaScript 將 HTML 渲染為 PDF 的 5 個步驟(C# 版)
const string htmlWithJavaScript = "....";var renderer = new ChromePdfRenderer();renderer.RenderingOptions.EnableJavaScript = true;renderer.RenderingOptions.WaitForJavaScript();var pdfJavaScript = renderer.RenderHtmlAsPdf(htmlWithJavaScript);
在字串變數中,我們建立了一個包含 JavaScript <script> 標籤的 HTML 字串,該標籤將包含用於建立 PDF 的 JavaScript 程式碼。 使用 script 標籤表示我們已標示字串中的哪個區段是 JavaScript,該區段稍後將透過 RenderingOptions 屬性啟用。 藉此,您可以嵌入圖片、在渲染後的 PDF/A 中維持互動性,以及更多功能。
透過 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 字串傳遞給此方法,我們可以將其渲染為高品質的 PDF 檔案,其中包含所有 HTML 和 JavaScript 元素。 此內容將儲存至一個新的 PdfDocument 物件中,該物件將存放新渲染的 PDF,在此案例中稱為 pdfJavaScript。 最後,我們可以使用 SaveAs 方法儲存這份新的 PDF 檔案。

