IRONSOFTWAREHOME
USING IRONPDF FOR JAVA

如何在 Java 中向 PDF 新增數位簽章

Curtis Chau
Curtis Chau
Updated: 2026年4月21日

在本文中,您將學習如何在Java程式中使用IronPDF將數位簽名新增到PDF中。

IronPDF - 一個Java PDF程式庫

IronPDF Java PDF 程式庫概述 是一個Java程式庫,允許開發者通過將HTML字串轉換為PDF、將HTML文件轉換為PDF、將Word轉換為PDF或URL來從頭建立新的PDF文件。 它能夠通過新增或刪除內容輕鬆操作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文件的dependencies標籤中新增以下程式碼片段:
<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>
    XML

如何在Java中為PDF新增數位簽名,圖1:pom.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;
Java

現在,一切需求都已經準備好,可以使用IronPDF在Java中為PDF文件新增數位簽名。

建立PDF文件或打開現有的PDF文件

要學習如何為PDF新增數位簽名,需要從頭建立一個PDF文件或打開一個現有的PDF文件。 本文將使用[renderHtmlAsPdf Method](/java/object-reference/api/com/ironsoftware/ironpdf/PdfDocument.html#renderHtmlAsPdf(java.lang.String)的PdfDocument Class為PDF簽名建立一個新的PDF文件。 程式碼如下:

PdfDocument pdf = PdfDocument.renderHtmlAsPdf("<h1>Testing 2048 bit digital security</h1>");
Java

PDF文件已建立,但尚未保存。 因此,下一步是建立數位簽章並將其新增到這個PDF文件中,然後最終保存它。

建立數位簽名

您需要使用Adobe Reader建立一個數位簽名憑證,這將在Java程式碼中用於利用這些細節對PDF文件進行數位簽名。 您可以查看如何在Adobe Reader中建立數位簽名。

打開Adobe Reader,然後點擊編輯 > 偏好設定。 然後點擊簽名和更多致別資訊和受信任證書。

如何在Java中為PDF新增數位簽名,圖2:專案偏好設定 專案偏好設定

新增以下簽名欄位以生成.pfx或.p12文件doc。

如何在Java中為PDF新增數位簽名,圖3:新增數位ID對話框 新增數位ID對話框

下面的程式碼範例將使用.pfx憑證文件(Windows)和.p12文件(Mac)及其私鑰(密碼)在Java程式碼中建立一個新的簽名:

Signature signature = new Signature("Iron.pfx", "123456");
Java

用數位簽章為PDF文件簽名

IronPDF有助於使用SignatureManager類新增簽章憑證。 [getSignature Method](/java/object-reference/api/com/ironsoftware/ironpdf/PdfDocument.html#getSignature()有助於獲取PDF文件的先前簽章,然後可以使用簽章文件作為參數,通過[SignPdfWithSignature Method](/java/object-reference/api/com/ironsoftware/ironpdf/signature/SignatureManager.html#SignPdfWithSignature(com.ironsoftware.ironpdf.signature.Signature)新增一個新的簽章。 程式碼如下:

SignatureManager signatureManager = pdf.getSignature();
signatureManager.SignPdfWithSignature(signature);
Java

保存PDF簽章文件

最後,讓我們保存PDF文件;否則使用PdfDocument類簽章的PDF不會被保存。 程式碼很簡單,如下所示:

pdf.saveAs("signed.pdf");
Java

程式編譯和執行成功後,生成了一個已經被數位簽名的PDF。

如何在Java中為PDF新增數位簽名,圖4:輸出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());
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");
    }
}
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。 您可以使用IronPDF程式庫提取或新增文字、載入和提取圖像、向PDF新增頁眉和頁腳、註解、將圖表和圖形渲染到PDF、並處理PDF表單等。

您可以從Java PDF程式碼範例頁面獲得有關如何使用IronPDF的詳細資訊。

IronPDF為個人開發免費,並提供免費試用無浮水印以生成PDF文件。 它可以授權用於商業用途,其使用者可以從這個詳細授權資訊頁面獲得更多有關授權的資訊。

Curtis Chau
技術作家

Curtis Chau擁有Carleton大學的電腦科學學士學位,專精於前端開發,擁有Node.js、TypeScript、JavaScript和React的專業知識。Curtis熱衷於建立直觀且美觀的使用者介面,喜愛使用現代框架並建立結構良好、視覺吸引力的手冊。

...
閱讀更多

相關文章

Key in blue circle

立即免費取得 30 天試用金鑰。

Your trial license will be sent to your email address

無任何限制。100% 解鎖。無需信用卡。

OR
bullet_checked無需信用卡或建立帳號無任何限制。100% 解鎖。無需信用卡。
  • Logo Aetna
  • Logo NASA
  • Logo GE
  • Logo Porsche
  • Logo USDA
  • Logo Qatar
Join Millions of Engineers who’ve tried Iron Suite
預訂您的免費 即時演示
Booking Badge

全球數百萬工程師的信任

Iron Software的客戶商標
獲取您的無義務諮詢
填寫以下表格或發送電子郵件至sales@ironsoftware.com
您的詳細資訊始終保持機密。
全球數百萬工程師的信任
Iron Software的客戶商標
立即獲取您的30天試用金鑰。
無需信用卡或帳戶建立
C# 用於PDF的NuGet程式庫
使用NuGet安裝

版本: 2026.9

PM > Install-Package IronPdf
nuget.org/packages/IronPdf/
  1. 在解決方案資源管理器,右鍵點選參考,管理NuGet包
  2. 選擇瀏覽並搜尋"IronPdf"
  3. 選擇套件並安裝
C# PDF DLL
下載DLL

版本: 2026.9

或者點擊此處下載Windows安裝程式。

  1. 下載並解壓IronPDF到類似~/Libs的位置,位於您的解決方案目錄中
  2. 在Visual Studio解決方案資源管理器,右鍵點選參考。選擇瀏覽,"IronPdf.dll"

授權從$999起