JAVA 给PDF添加数字签名

 时间:2026-02-12 16:30:20

1、首先,获取jar包。

Step 1: 下载控件包之后解压,打开“Project Structure”界面。(以下是两种在IDEA中快速打开Project Structure界面的方式:①file->Project Structure ②Shift+Ctrl+Alt+S快捷键进入‘Project Structure’。可选其中任意一种)

Step 2:按以下操作步骤进行导入。① 选择“Modules”—“Dependencies”,添加外置jar包;② 进入"Attach File or Directories"界面选择jar文件路径,然后点击“OK”;③ 勾选jar路径选项,点击“Apply/OK”;④ 导入完成。如下图:

JAVA 给PDF添加数字签名

JAVA 给PDF添加数字签名

1、import com.spire.pdf.PdfDocument;

import com.spire.pdf.security.*;

import com.spire.pdf.graphics.*;

import java.awt.*;

import java.awt.geom.*;

public class digitalSignature {

    public static void main(String[] args) {

        //定义输入、输出文件和数字签名文件

        String inputFile = "data/Doc2.pdf";

        String outputFile = "output/digitalSignature_result.pdf";

        String pfxPath = "data/test.pfx";

        //加载PDF文件

        PdfDocument doc = new PdfDocument();

        doc.loadFromFile(inputFile);

        //加载证书

        PdfCertificate cert = new PdfCertificate(pfxPath, "123456");

        PdfSignature signature = new PdfSignature(doc, doc.getPages().get(0), cert, "signature0");

        Rectangle2D rect = new Rectangle2D.Float();

        rect.setFrame(new Point2D.Float(90, 550), new Dimension(270, 90));

        signature.setBounds(rect);

        //设置图形显示模式,如果不设置图形显示模式,则应用默认的图形显示模式

        signature.setGraphicMode(GraphicMode.Sign_Image_And_Sign_Detail);

        signature.setNameLabel("Signer:");

        signature.setName("Gary");

        signature.setContactInfoLabel("ContactInfo:");

        signature.setContactInfo("136558284211");

        signature.setDateLabel("Date:");

        signature.setDate(new java.util.Date());

        signature.setLocationInfoLabel("Location:");

        signature.setLocationInfo("Chengdu");

        signature.setReasonLabel("Reason: ");

        signature.setReason("The certificate of this document");

        signature.setDistinguishedNameLabel("DN: ");

        signature.setDistinguishedName(signature.getCertificate().get_IssuerName().getName());

        signature.setSignImageSource(PdfImage.fromFile("data/logo.png"));

        signature.setDocumentPermissions(PdfCertificationFlags.Forbid_Changes);

        signature.setCertificated(true);

        //保存文件

        doc.saveToFile(outputFile);

        doc.close();

    }

}

2、运行效果:

JAVA 给PDF添加数字签名

  • Visual Studio 2015 如何发布web应用
  • 怎样使用phpstudy搭建TP5框架的php项目
  • 早餐应该怎么吃
  • VirtualBox虚拟机安装增强工具包图文教程
  • mfc中怎样使用picture control
  • 热门搜索
    通心粉怎么煮 花甲怎么清洗 猪肝怎么做 蛇怎么交配 股票怎么看 枸杞怎么吃 pdf怎么压缩 怎么改密码 鸽子怎么杀 怎么制作游戏