IronPDF 教學 HTML 至 PDF Java 中的 HTML 轉 PDF Darrius Serrant 更新:7月 22, 2025 下載 IronPDF Maven 下載 JAR 下載 開始免費試用 法學碩士副本 法學碩士副本 將頁面複製為 Markdown 格式,用於 LLMs 在 ChatGPT 中打開 請向 ChatGPT 諮詢此頁面 在雙子座打開 請向 Gemini 詢問此頁面 在雙子座打開 請向 Gemini 詢問此頁面 打開困惑 向 Perplexity 詢問有關此頁面的信息 分享 在 Facebook 上分享 分享到 X(Twitter) 在 LinkedIn 上分享 複製連結 電子郵件文章 This article was translated from English: Does it need improvement? Translated View the article in English 本教學指導Java開發人員如何使用IronPDF庫將HTML內容轉換為像素級精確的PDF(便攜式文件格式)文件。 IronPDF 是一個功能齊全的 PDF 轉換器和 PDF 處理庫。 IronPDF 同時支援.NET和Java程式語言。 本教學介紹如何在 Java 應用程式中使用該程式庫來轉換 HTML 內容(檔案、標記等)。 .NET 應用程式中將 HTML 轉換為 PDF 的教學課程可在HTML 轉 PDF .NET 教學課程中找到。 如何在Java中將HTML轉換為PDF 如何在Java中將HTML轉換為PDF 1.安裝 Java 庫以將 HTML 轉換為 PDF 使用renderHtmlAsPdf方法將 HTML 字串轉換為 PDF 文檔 使用 Java 從網站 URL 產生 PDF 文件 使用renderHtmlFileAsPdf方法將 HTML 文件轉換為 PDF 文件 將產生的 PDF 文件另存為新文件 開始 立即開始在您的項目中使用 IronPDF 並免費試用。 第一步: 免費啟動 1. 安裝 IronPDF Java 版 PDF 函式庫 在 Java 專案中整合IronPDF庫有兩種方法: 在 Maven 配置的 Java 專案中新增 IronPDF 作為依賴項 下載 IronPDF JAR 檔案並手動將其新增至專案類路徑。 以下部分將簡要介紹兩種安裝方法。 方案一:將 IronPDF 安裝為 Maven 依賴項 若要使用 Maven 在 Java 專案中安裝 IronPDF,請將下列構件新增至 Java 專案的 pom.xml 檔案的相依性部分。 <dependencies> <!-- IronPDF Library --> <dependency> <groupId>com.ironsoftware</groupId> <artifactId>ironpdf</artifactId> <version>[LATEST_VERSION]</version> </dependency> <!-- SLF4J for logging (optional but recommended) --> <dependency> <groupId>org.slf4j</groupId> <artifactId>slf4j-simple</artifactId> <version>[LATEST_VERSION]</version> </dependency> </dependencies> <dependencies> <!-- IronPDF Library --> <dependency> <groupId>com.ironsoftware</groupId> <artifactId>ironpdf</artifactId> <version>[LATEST_VERSION]</version> </dependency> <!-- SLF4J for logging (optional but recommended) --> <dependency> <groupId>org.slf4j</groupId> <artifactId>slf4j-simple</artifactId> <version>[LATEST_VERSION]</version> </dependency> </dependencies> XML 第一個工件引用了最新版本的 IronPDF 庫。 第二個工件引用了SLF4J實作。 此依賴項是 IronPDF 渲染引擎在執行期間產生日誌訊息所必需的。 軟體工程師可以用其他日誌記錄提供者(例如Logback和Log4J )來取代此依賴項; 或者如果他們不需要或不希望記錄日誌,則可以完全省略。 在 Java 專案根目錄下的終端機中執行mvn install指令,以下載前面提到的函式庫。 選項二:手動安裝 IronPDF JAR 文件 不願意使用 Maven 或任何其他依賴管理系統的開發人員需要下載 IronPDF 庫 JAR 檔案(以及可選的SLF4J實作),並手動將其新增至專案的類別路徑。 直接從IronPDF JAR 下載頁面(或 Maven 儲存庫)下載 IronPDF JAR 檔案。 2. 將 HTML 轉換為 PDF 本節展示了 IronPDF 的旗艦級 HTML 轉 PDF 渲染功能。 PdfDocument類別是 IronPDF 所有 PDF 文件渲染和操作功能的入口點。 此類別包含一組強大的方法,用於將 HTML 轉換為 PDF 文檔,支援以下三種使用場景:從 HTML 字串/標記轉換、從 HTML 文件轉換以及從 URL 轉換。 本節將簡要介紹這些用例,並提供連結以收集更多資訊。 2.1 導入 IronPDF 包 IronPDF 的所有轉換和處理組件都包含在com.ironsoftware.ironpdf軟體包中。 在 Java 原始檔(IronPDF 將在其中使用)的頂部新增以下導入語句,使這些元件可供應用程式的原始程式碼存取。 // Import statement for IronPDF for Java import com.ironsoftware.ironpdf.*; // Import statement for IronPDF for Java import com.ironsoftware.ironpdf.*; JAVA 2.2. 設定許可證密鑰(可選) IronPDF for Java 可免費使用。 但是,對於免費用戶,它會在 PDF 文件上添加平鋪背景浮水印(如下圖所示)。 圖片顯示浮水印 若要使用 IronPDF 產生不含浮水印的 PDF,該庫必須使用有效的許可證金鑰。 下面這行程式碼使用許可證金鑰來配置庫。 // Apply your license key License.setLicenseKey("YOUR-LICENSE-KEY"); // Apply your license key License.setLicenseKey("YOUR-LICENSE-KEY"); JAVA 在產生 PDF 文件或自訂文件內容之前,應先設定許可證密鑰。 我們建議您在所有其他程式碼行之前呼叫setLicenseKey方法。 您可以從 IronPDF 許可頁面購買許可證金鑰,或聯絡我們以取得免費試用許可證金鑰。 2.3 設定日誌檔案位置(可選) 預設情況下(假設已安裝 SLF4J 提供者),IronPDF 會將日誌訊息產生到位於 Java 應用程式根目錄下的名為 IronPdfEngine.log 的文字檔案中。 若要為日誌檔案指定不同的名稱和位置,請使用Settings.setLogPath方法: // Set a log path Settings.setLogPath(Paths.get("IronPdfEngine.log")); // Set a log path Settings.setLogPath(Paths.get("IronPdfEngine.log")); JAVA 請注意 使用任何 PDF 轉換和處理方法之前,必須呼叫Settings.setLogPath 。 2.4. 從 HTML 字串建立 PDF PdfDocument.renderHtmlAsPdf將 HTML 內容字串轉換為 PDF 文件。 以下程式碼範例使用單一標題元素產生一個新檔案。 // Convert HTML string to PDF document PdfDocument pdf = PdfDocument.renderHtmlAsPdf("<h1>Hello from IronPDF!</h1>"); // Save the PDF document pdf.saveAs("htmlstring_to_pdf.pdf"); // Convert HTML string to PDF document PdfDocument pdf = PdfDocument.renderHtmlAsPdf("<h1>Hello from IronPDF!</h1>"); // Save the PDF document pdf.saveAs("htmlstring_to_pdf.pdf"); JAVA 將 HTML 字串轉換為 PDF renderHtmlAsPdf處理所有 HTML、CSS 和 JavaScript 內容的方式與現代符合標準的瀏覽器相同。 這有助於軟體工程師建立與在網頁瀏覽器中顯示效果完全相同的 PDF 文件。 renderHtmlAsPdf方法可以從電腦或網路磁碟機上的資料夾中取得影像、樣式表和腳本。以下範例從 HTML 產生 PDF 文檔,該文檔引用了assets資料夾中的 CSS 文件和圖像: // HTML string with external assets String html = "<html><head><title>Hello world!</title><link rel='stylesheet' href='assets/style.css'></head><body><h1>Hello from IronPDF!</h1><a href='https://ironpdf.com/java/'><img src='assets/logo.png' /></a></body></html>"; // Convert HTML to PDF PdfDocument pdf = PdfDocument.renderHtmlAsPdf(html); // Save the PDF document pdf.saveAs("output.pdf"); // HTML string with external assets String html = "<html><head><title>Hello world!</title><link rel='stylesheet' href='assets/style.css'></head><body><h1>Hello from IronPDF!</h1><a href='https://ironpdf.com/java/'><img src='assets/logo.png' /></a></body></html>"; // Convert HTML to PDF PdfDocument pdf = PdfDocument.renderHtmlAsPdf(html); // Save the PDF document pdf.saveAs("output.pdf"); JAVA !使用外部資產的轉化結果 renderHtmlAsPdf的第二個(可選)參數可讓開發人員指定引用 Web 資源的基本路徑。 該路徑可以是本機檔案系統上的目錄,甚至是 URL 路徑。 您可以從這個使用 HTML 創建 PDF 的程式碼範例中了解更多關於renderHtmlAsPdf方法的信息,或者閱讀[PdfDocument 類別的 API 參考頁面](/java/object-reference/api/com/ironsoftware/ironpdf/PdfDocument.html#renderHtmlAsPdf(java.lang.String)。 2.5. 從 URL 建立 PDF 開發者可以使用 IronPDF 的PdfDocument.renderUrlAsPdf方法將線上網頁轉換為 PDF 文件。 下一個範例將維基百科文章渲染成 PDF 內容。 // Convert a URL to PDF PdfDocument pdf = PdfDocument.renderUrlAsPdf("https://en.wikipedia.org/wiki/PDF"); // Save the PDF document pdf.saveAs("url_to_pdf.pdf"); // Convert a URL to PDF PdfDocument pdf = PdfDocument.renderUrlAsPdf("https://en.wikipedia.org/wiki/PDF"); // Save the PDF document pdf.saveAs("url_to_pdf.pdf"); JAVA URL 轉 PDF 結果 透過這個將 URL 轉換為 PDF 的程式碼範例,了解更多關於將網頁轉換為 PDF 內容的資訊。 2.6. 從 HTML 檔案建立 PDF IronPDF 也可以將儲存在本機檔案系統中的 HTML 文件直接渲染成等效的 PDF 格式。 下一個程式碼範例使用此發票作為實際演示,展示 IronPDF 轉換 HTML 檔案的效果如何。 為方便起見,此處列出發票的 HTML 標籤: <html> <head> <meta charset="utf-8"> <title>Invoice</title> <link rel="stylesheet" href="style.css"> <link rel="license" href="https://www.opensource.org/licenses/mit-license/"> <script src="script.js"></script> </head> <body> <header> <h1>Invoice</h1> <address contenteditable> <p>Jonathan Neal</p> <p>101 E. Chapman Ave<br>Orange, CA 92866</p> <p>(800) 555-1234</p> </address> <span><img alt="" src="http://www.jonathantneal.com/examples/invoice/logo.png"><input type="file" accept="image/*"></span> </header> <article> <h1>Recipient</h1> <address contenteditable> <p>Some Company<br>c/o Some Guy</p> </address> <table class="meta"> <tr> <th><span contenteditable>Invoice #</span></th> <td><span contenteditable>101138</span></td> </tr> <tr> <th><span contenteditable>Date</span></th> <td><span contenteditable>January 1, 2012</span></td> </tr> <tr> <th><span contenteditable>Amount Due</span></th> <td><span id="prefix" contenteditable>$</span><span>600.00</span></td> </tr> </table> <table class="inventory"> <thead> <tr> <th><span contenteditable>Item</span></th> <th><span contenteditable>Description</span></th> <th><span contenteditable>Rate</span></th> <th><span contenteditable>Quantity</span></th> <th><span contenteditable>Price</span></th> </tr> </thead> <tbody> <tr> <td><a class="cut">-</a><span contenteditable>Front End Consultation</span></td> <td><span contenteditable>Experience Review</span></td> <td><span data-prefix>$</span><span contenteditable>150.00</span></td> <td><span contenteditable>4</span></td> <td><span data-prefix>$</span><span>600.00</span></td> </tr> </tbody> </table> <a class="add">+</a> <table class="balance"> <tr> <th><span contenteditable>Total</span></th> <td><span data-prefix>$</span><span>600.00</span></td> </tr> <tr> <th><span contenteditable>Amount Paid</span></th> <td><span data-prefix>$</span><span contenteditable>0.00</span></td> </tr> <tr> <th><span contenteditable>Balance Due</span></th> <td><span data-prefix>$</span><span>600.00</span></td> </tr> </table> </article> <aside> <h1><span contenteditable>Additional Notes</span></h1> <div contenteditable> <p>A finance charge of 1.5% will be made on unpaid balances after 30 days.</p> </div> </aside> </body> </html> <html> <head> <meta charset="utf-8"> <title>Invoice</title> <link rel="stylesheet" href="style.css"> <link rel="license" href="https://www.opensource.org/licenses/mit-license/"> <script src="script.js"></script> </head> <body> <header> <h1>Invoice</h1> <address contenteditable> <p>Jonathan Neal</p> <p>101 E. Chapman Ave<br>Orange, CA 92866</p> <p>(800) 555-1234</p> </address> <span><img alt="" src="http://www.jonathantneal.com/examples/invoice/logo.png"><input type="file" accept="image/*"></span> </header> <article> <h1>Recipient</h1> <address contenteditable> <p>Some Company<br>c/o Some Guy</p> </address> <table class="meta"> <tr> <th><span contenteditable>Invoice #</span></th> <td><span contenteditable>101138</span></td> </tr> <tr> <th><span contenteditable>Date</span></th> <td><span contenteditable>January 1, 2012</span></td> </tr> <tr> <th><span contenteditable>Amount Due</span></th> <td><span id="prefix" contenteditable>$</span><span>600.00</span></td> </tr> </table> <table class="inventory"> <thead> <tr> <th><span contenteditable>Item</span></th> <th><span contenteditable>Description</span></th> <th><span contenteditable>Rate</span></th> <th><span contenteditable>Quantity</span></th> <th><span contenteditable>Price</span></th> </tr> </thead> <tbody> <tr> <td><a class="cut">-</a><span contenteditable>Front End Consultation</span></td> <td><span contenteditable>Experience Review</span></td> <td><span data-prefix>$</span><span contenteditable>150.00</span></td> <td><span contenteditable>4</span></td> <td><span data-prefix>$</span><span>600.00</span></td> </tr> </tbody> </table> <a class="add">+</a> <table class="balance"> <tr> <th><span contenteditable>Total</span></th> <td><span data-prefix>$</span><span>600.00</span></td> </tr> <tr> <th><span contenteditable>Amount Paid</span></th> <td><span data-prefix>$</span><span contenteditable>0.00</span></td> </tr> <tr> <th><span contenteditable>Balance Due</span></th> <td><span data-prefix>$</span><span>600.00</span></td> </tr> </table> </article> <aside> <h1><span contenteditable>Additional Notes</span></h1> <div contenteditable> <p>A finance charge of 1.5% will be made on unpaid balances after 30 days.</p> </div> </aside> </body> </html> HTML 假設 HTML 檔案及其 CSS 檔案和 JavaScript 檔案已儲存到名為"invoices"的資料夾中。我們可以使用 IronPDF 如下轉換 HTML 檔案: // Convert an HTML file to PDF PdfDocument pdf = PdfDocument.renderHtmlFileAsPdf("C:/invoices/TestInvoice1.html"); // Save the PDF document pdf.saveAs("htmlfile_to_pdf.pdf"); // Convert an HTML file to PDF PdfDocument pdf = PdfDocument.renderHtmlFileAsPdf("C:/invoices/TestInvoice1.html"); // Save the PDF document pdf.saveAs("htmlfile_to_pdf.pdf"); JAVA 與 HTML 字串到 PDF 轉換範例一樣,IronPDF 可以正確地將 HTML 文件中的任何相對 URL 解析為文件系統上的正確路徑。 因此,此範例產生的 PDF 檔案能夠完美地捕捉到任何引用的樣式表和腳本通常會對網頁產生的視覺影響。 3. 延伸閱讀 我們僅僅觸及了 IronPDF HTML 轉 PDF 渲染功能的冰山一角。 透過我們程式碼範例部分中精選的程式碼範例,進一步了解如何在 Java 開發中使用 HTML 轉 PDF 轉換器。 閱讀此 PDF 產生設定程式碼範例,以了解如何在轉換過程中自訂 PDF 文件的外觀。 產生具有自訂頁首和頁尾、邊距大小、頁面尺寸、浮水印等的 PDF 檔案。 從文件中提取 PDF 內容(從 PDF 中提取文字和從 PDF 中提取圖像),透過 PDF 壓縮優化文件大小,並使用 IronPrint 功能以程式設計方式列印 PDF 。 請查閱IronPDF Java API 參考頁面中的PdfDocument類,以便更好地控制渲染後的 HTML 到 PDF 的過程。 常見問題解答 如何在 Java 中將 HTML 內容轉換成 PDF? 您可以使用 IronPDF 的 PdfDocument.renderHtmlAsPdf 方法將 HTML 內容轉換成 PDF 文件。此方法可確保 HTML 的格式得以保留。 是否可以在 Java 中將網頁 URL 直接轉換為 PDF? 是的,您可以使用 IronPDF 的 PdfDocument.renderUrlAsPdf 方法將任何線上網頁直接轉換成 PDF 文件。 如何使用 Java 將本機 HTML 檔案轉換為 PDF? 使用 IronPDF,您可以使用 PdfDocument.renderHtmlFileAsPdf 方法將儲存在本機系統上的 HTML 檔案渲染為 PDF 文件。 我可以從 Java PDF 函式庫產生的 PDF 中移除水印嗎? 若要移除 IronPDF 所產生 PDF 的水印,您必須在建立 PDF 前,使用 License.setLicenseKey 方法設定有效的授權金鑰。 將 HTML 轉換為 PDF 時,如何包含 CSS 等外部資產? IronPDF 支持在将 HTML 转换为 PDF 时包含外部 CSS 和其他资产。請確保您的 HTML 內容正確引用了這些資產的路徑。 使用 Maven 安裝 IronPDF for Java 的步驟是什麼? 若要使用 Maven 在 Java 專案中安裝 IronPDF,請在專案的 pom.xml 檔案中加入 IronPDF 相依性,並在專案的根目錄中執行 mvn install。 在 Java 中是否有記錄 PDF 生成過程的選項? 是的,IronPDF 支援透過 SLF4J 記錄。如果您已安裝 SLF4J 提供者,您可以使用 Settings.setLogPath 方法設定日誌檔案位置。 我可以自訂 Java 中由 HTML 產生的 PDF 的外觀嗎? 是的,IronPDF 允許您自訂 PDF 生成設定,包括頁眉、頁腳和頁邊距。您可以使用庫中的各種自訂選項來實現這一目標。 我在哪裡可以找到更多在 Java 中使用 IronPDF 的範例? 您可以在 IronPDF 網站的 Code Examples 章節和 Java API Reference 頁面找到更多使用 IronPDF for Java 的範例和說明文件。 IronPDF 是否完全相容於 .NET 10 的 HTML 至 PDF 轉換? 是的,IronPDF 與 .NET 10 完全相容,開箱即可使用,無需特殊配置。您可以在 .NET Framework 10 中使用其 HTML-to-PDF 方法(例如 ChromePdfRenderer.RenderHtmlAsPdf ),並利用框架改進的優勢,例如增強的性能和更新的 API。 Darrius Serrant 立即與工程團隊聊天 全棧軟件工程師 (WebOps) Darrius Serrant 擁有邁阿密大學計算機科學學士學位,目前任職於 Iron Software 的全栈 WebOps 市場營銷工程師。從小就迷上編碼,他認為計算既神秘又可接近,是創意和解決問題的完美媒介。在 Iron Software,Darrius 喜歡創造新事物,並簡化複雜概念以便於理解。作為我們的駐場開發者之一,他也自願教學生,分享他的專業知識給下一代。對 Darrius 來說,工作令人滿意因為它被重視且有實際影響。 準備好開始了嗎? Version: 2025.11 剛發表 免費下載 Maven 檢視授權