使用 IRONPDF FOR JAVA 如何在 Java 中向 PDF 添加數字簽名 Darrius Serrant 更新日期:7月 28, 2025 Download IronPDF Maven 下載 JAR 下載 Start Free Trial Copy for LLMs Copy for LLMs Copy page as Markdown for LLMs Open in ChatGPT Ask ChatGPT about this page Open in Gemini Ask Gemini about this page Open in Grok Ask Grok about this page Open in Perplexity Ask Perplexity about this page Share Share on Facebook Share on X (Twitter) Share on LinkedIn Copy URL Email article 在這篇文章中,你將學習如何在 Java 程式中使用 IronPDF 向 PDF 添加數位簽名。 IronPDF - 一個 Java PDF 函式庫 IronPDF Java PDF Library Overview is a Java library that allows developers to create new PDF documents from scratch through Converting HTML String to PDF, Converting HTML File to PDF, Word 轉 PDF 或 URL 從頭創建新的 PDF 文件。 它幫助輕鬆操作 PDF,高效添加或刪除內容。 它提供文檔的 安全和數位簽名選項,同時提供數位簽名。 IronPDF 不需要其他任何第三方庫來執行任何與 PDF 相關的任務。 它還提供在不同檔案格式之間轉換的功能。 它提供跨平台支持,並專門為 Java、Scala 和 Kotlin 設計。 在 Java 中向 PDF 文檔添加數位簽名的步驟 先決條件 要為 PDF 文件進行數位簽名,您需要以下先決條件: 已安裝的任何 Java IDE(NetBeans、Eclipse、IntelliJ) - 本文將使用 IntelliJ。 您可以從 Oracle Java SE 下載 獨立下載 Java 開發工具包。 Maven 自動化的 Java 專案 - 這將幫助下載和管理您 Java 程式中的依賴項。 您可以從 Apache Maven 下載頁面 下載 Maven。 已下載安裝的 IronPDF 函式庫 - 要下載和安裝 IronPDF,請包括其 Maven 依賴項工件。 您可以在 pom.xml 文件依賴項標籤中添加以下程式碼片段: <dependency> <groupId>com.ironsoftware</groupId> <artifactId>ironpdf</artifactId> <version>2023.2.0</version> </dependency> <dependency> <groupId>com.ironsoftware</groupId> <artifactId>ironpdf</artifactId> <version>2023.2.0</version> </dependency> XML 另一個需要的依賴是 Slf4j-simple。 這是可選的,可以使用以下依賴在 pom.xml 文件中添加: <dependency> <groupId>org.slf4j</groupId> <artifactId>slf4j-simple</artifactId> <version>2.0.5</version> </dependency> <dependency> <groupId>org.slf4j</groupId> <artifactId>slf4j-simple</artifactId> <version>2.0.5</version> </dependency> XML pom.xml 文件 IronPDF 導入 Java 套件 在主文件中需要以下導入。它允許使用 IronPDF 功能在 PDF 文檔中添加數位簽名: import com.ironsoftware.ironpdf.PdfDocument; import com.ironsoftware.ironpdf.signature.Signature; import com.ironsoftware.ironpdf.signature.SignatureManager; import java.io.IOException; import java.nio.file.Paths; import com.ironsoftware.ironpdf.PdfDocument; import com.ironsoftware.ironpdf.signature.Signature; import com.ironsoftware.ironpdf.signature.SignatureManager; import java.io.IOException; import java.nio.file.Paths; JAVA 現在,一切所需的工作都已經完成,可以使用 IronPDF 在 Java 中為 PDF 文件添加數位簽名。 創建 PDF 檔案或打開存在的 PDF 檔案 要 學習如何數位簽署 PDF,需從頭創建 PDF 文件或打開已存在的 PDF 文件。 This article will create a new PDF document for PDF signature using the renderHtmlAsPdf Method of the PdfDocument Class. 程式碼如下: PdfDocument pdf = PdfDocument.renderHtmlAsPdf("<h1>Testing 2048 bit digital security</h1>"); PdfDocument pdf = PdfDocument.renderHtmlAsPdf("<h1>Testing 2048 bit digital security</h1>"); JAVA PDF 文件已創建但尚未保存。 因此,下一步是創建數位簽名,然後將其添加到該 PDF 文件中,然後最終將其保存。 創建數位簽名 您需要使用 Adobe Reader 創建一個數位簽名憑證,然後在 Java 程式碼中使用這些詳細信息對 PDF 文件進行數位簽名。 您可以查看 如何在 Adobe Reader 中創建數位簽名。 打開 Adobe Reader 並單擊 編輯 > 首選項。 然後點擊 "Signatures" 並點擊 "Identities and Trusted Certificates"。 專案偏好設置 將以下簽名字段添加到 .pfx 或 .p12 文件 doc。 添加數位 ID 對話框 以下代碼示例將使用 Windows 的 .pfx 憑證文件和 Mac 的 .p12 文件以及其私鑰(密碼)在 Java 代碼中創建新的簽名: Signature signature = new Signature("Iron.pfx", "123456"); Signature signature = new Signature("Iron.pfx", "123456"); JAVA 使用數位簽名簽署 PDF 文件 IronPDF 幫助使用 SignatureManager 類添加簽名憑證。 [getSignature Method](/java/object-reference/api/com/ironsoftware/ironpdf/PdfDocument.html#getSignature()) helps to get the previous signature of the PDF document, and then a new signature can be added using the SignPdfWithSignature 方法 添加新的簽名,以簽名文件為參數。 程式碼如下: SignatureManager signatureManager = pdf.getSignature(); signatureManager.SignPdfWithSignature(signature); SignatureManager signatureManager = pdf.getSignature(); signatureManager.SignPdfWithSignature(signature); JAVA 保存 PDF 簽名文件 最後,讓我們保存 PDF 文件;否則,不能通過使用 saveAs 方法 則無法保存 PDF 簽名。 代碼簡單而如下: pdf.saveAs("signed.pdf"); pdf.saveAs("signed.pdf"); JAVA 代碼成功編譯並執行後,輸出會生成一個已經數位簽名的 PDF。 輸出 PDF 文件 IronPDF 也提供其他簽署選擇,這些是可選的,同樣可以用於數位簽名。 它包括手寫形式的簽名圖片,電腦生成的文本圖片,或數位化圖像。 下面的代碼示例幫助您添加一些額外的安全選項以進行數位簽名: signature.setSigningContact("support@ironsoftware.com"); signature.setSigningLocation("Chicago, USA"); signature.setSigningReason("To show how to sign a PDF"); BufferedImage signatureImage = ImageIO.read(new File("handwriting.png")); WritableRaster raster = signatureImage.getRaster(); DataBufferByte data = (DataBufferByte) raster.getDataBuffer(); signature.setSignatureImage(data.getData()); signature.setSigningContact("support@ironsoftware.com"); signature.setSigningLocation("Chicago, USA"); signature.setSigningReason("To show how to sign a PDF"); BufferedImage signatureImage = ImageIO.read(new File("handwriting.png")); WritableRaster raster = signatureImage.getRaster(); DataBufferByte data = (DataBufferByte) raster.getDataBuffer(); signature.setSignatureImage(data.getData()); JAVA 完整的代碼如下: import com.ironsoftware.ironpdf.PdfDocument; import com.ironsoftware.ironpdf.signature.Signature; import com.ironsoftware.ironpdf.signature.SignatureManager; import javax.imageio.ImageIO; import java.awt.image.BufferedImage; import java.awt.image.DataBufferByte; import java.awt.image.WritableRaster; import java.io.File; import java.io.IOException; public class DigitalSignatureExample { public static void main(String[] args) throws IOException { // Step 1. Create a PDF File Doc PdfDocument pdf = PdfDocument.renderHtmlAsPdf("<h1>Testing 2048 bit digital security</h1>"); // Step 2. Create a Signature. Signature signature = new Signature("Iron.pfx", "123456"); // Step 3. Sign the PDF with the PdfSignature. SignatureManager signatureManager = pdf.getSignature(); signatureManager.SignPdfWithSignature(signature); // Step 4. The PDF is not signed until saved to file, stream, or byte array. pdf.saveAs("signed.pdf"); } } import com.ironsoftware.ironpdf.PdfDocument; import com.ironsoftware.ironpdf.signature.Signature; import com.ironsoftware.ironpdf.signature.SignatureManager; import javax.imageio.ImageIO; import java.awt.image.BufferedImage; import java.awt.image.DataBufferByte; import java.awt.image.WritableRaster; import java.io.File; import java.io.IOException; public class DigitalSignatureExample { public static void main(String[] args) throws IOException { // Step 1. Create a PDF File Doc PdfDocument pdf = PdfDocument.renderHtmlAsPdf("<h1>Testing 2048 bit digital security</h1>"); // Step 2. Create a Signature. Signature signature = new Signature("Iron.pfx", "123456"); // Step 3. Sign the PDF with the PdfSignature. SignatureManager signatureManager = pdf.getSignature(); signatureManager.SignPdfWithSignature(signature); // Step 4. The PDF is not signed until saved to file, stream, or byte array. pdf.saveAs("signed.pdf"); } } JAVA 您可以從 PDF 簽名代碼示例 中檢查更多數位簽名的詳細信息。 如果您想增加更多的安全性甚至編輯元數據,那麼檢查 安全性和元數據代碼示例。 結論 本文逐步解釋了如何使用 IronPDF for Java 向 PDF 文件添加數位簽名。 首先,文章介紹了使用 IronPDF 在 Java 中進行 PDF 操作所需的必要組件。 然後使用 HTML 字串創建了一個簡單的 PDF 文件。 從 Adobe Reader 創建了一個憑證文件,該文件用於簽署原始 PDF 文件。 IronPDF 提供 Signature 和 SignatureManager 類,幫助使用者添加憑證和使用簽名欄位為 PDF 簽名。 IronPDF 為開發人員進行 PDF 相關任務提供了便利,高效且快速。 它提供了準確的結果,生成像素完美的 PDF。 對於像 Java 這樣廣泛使用的多用途編程語言來說,IronPDF 非常適合操作 PDF 文件,因為它也具備高適用性,並支持幾乎所有的 PDF 操作。 此外,該函式庫建立於已經成功的 .NET 功能之上。 IronPDF 還提供通過不同文件格式進行快速轉換,使用專為 Java 設計的快速 IronPDFEngine。 You can use the IronPDF library to Extract or Add Text, Load and Extract Images, Add Headers and Footers to PDFs, annotations, Render Charts and Graphs to PDFs, work with PDF Forms, and many more. 您可以從 Java PDF 代碼示例 頁面獲取如何使用 IronPDF 的詳細信息。 IronPDF 對個人開發來說是免費的,提供免費試用,不帶水印產生 PDF 文件。 它可獲得商業使用的許可證,使用者可以從此詳細許可證信息頁面獲得更多信息。 常見問題解答 如何在 Java 中將數位簽名添加到 PDF? 您可以使用 IronPDF 在 Java 中將數位簽名添加到 PDF,方法是創建或打開 PDF 文檔,使用證書文件生成數位簽名,然後使用 IronPDF 的 `SignatureManager` 類應用該簽名。最後,保存簽名的 PDF 文檔。 使用 Java 庫將 HTML 轉換為 PDF 的步驟是什麼? 要在 Java 中使用 IronPDF 將 HTML 轉換為 PDF,請使用 PdfDocument.renderHtmlAsPdf 方法。這樣您就可以將 HTML 字符串直接轉換為 PDF 文檔,然後使用 PdfDocument.saveAs 方法保存。 在 Java 項目中使用 IronPDF 需要哪些前提條件? 在 Java 項目中使用 IronPDF,您需要 Java IDE,如 IntelliJ,一個 Maven 項目來管理依賴項,以及 IronPDF 庫。此外,要添加數位簽名,還需要一個數位簽名證書。 Java 中的 IronPDF 可以將其他文件格式轉換為 PDF 嗎? 是的,除了 HTML,IronPDF 還可以將各種其他文件格式,如 Word 文檔和 URL,轉換為 Java 應用程序中的 PDF。 IronPDF 是否需要第三方庫來實現 PDF 功能? 不,IronPDF 的核心 PDF 功能不需要任何第三方庫,這使其成為在 Java 中創建和操作 PDF 的獨立解決方案。 我如何生成用於簽署 PDF 的數位簽名證書? 可以使用 Adobe Reader 創建數位簽名證書,方法是導航到首選項 > 簽名,並管理身份和受信任證書。 在 Java 中用于管理數位簽名的 IronPDF 類是什麼? IronPDF 中的 SignatureManager 類用於在 Java 中管理數位簽名。它允許您從 PDF 文檔添加新簽名和檢索現有簽名。 IronPDF 在 Java 中提供了哪些額外的數位簽名選項? IronPDF 在 Java 中提供選項來添加簽名圖像、指定簽名聯繫方式、位置和原因,還有添加手寫和數位化圖像到數位簽名中。 IronPDF for Java 有免費版嗎? IronPDF 提供個人開發的免費試用版,可以不帶水印使用。也提供商業用途的許可選擇。 IronPDF for Java 的一些高級功能是什麼? IronPDF for Java 包括文本和圖像提取、添加頁眉和頁腳、渲染圖表、以及操作 PDF 表單等功能。 Darrius Serrant 立即與工程團隊聊天 全棧軟件工程師 (WebOps) Darrius Serrant 擁有邁阿密大學計算機科學學士學位,目前任職於 Iron Software 的全栈 WebOps 市場營銷工程師。從小就迷上編碼,他認為計算既神秘又可接近,是創意和解決問題的完美媒介。在 Iron Software,Darrius 喜歡創造新事物,並簡化複雜概念以便於理解。作為我們的駐場開發者之一,他也自願教學生,分享他的專業知識給下一代。對 Darrius 來說,工作令人滿意因為它被重視且有實際影響。 相關文章 更新日期 6月 22, 2025 如何在 Java 中將 TIFF 轉換為 PDF 本綜合指南將引導您逐步在 Java 中使用 IronPDF 無縫將 TIFF 圖像轉換為 PDF。 閱讀更多 更新日期 7月 28, 2025 如何在 Java 中將 PDF 轉換為 PDF/A 在本文中,我們將探討如何使用 IronPDF 在 Java 中將 PDF 文件轉換為 PDF/A 格式。 閱讀更多 更新日期 7月 28, 2025 如何在 Java 中創建 PDF 文檔 本文將提供一個全面指南,涵蓋 Java 中的 PDF 操作,包括關鍵概念、最佳庫和示例。 閱讀更多 Java PDF 轉換器(代碼示例教程)如何在 Java 中讀取 PDF 文件