2021-07-19

Java 给PDF签名时添加可信时间戳

一、程序运行环境

  • 编译环境:IntelliJ IDEA
  • 所需测试文件:PDF、.pfx数字证书及密钥、PDF Jar包(Free Spire.PDF for Java)、签名图片(.png格式)
  • 可信时间戳服务器:URL地址

:以下代码中的所有测试文件路径均为IDEA程序项目文件夹路径,如C:\Users\Administrator\IdeaProjects\Certificate_PDF\test.pdf,文件路径可自定义。

关于jar导入可参考如下2种方法:

1.手动导入:下载jar包到本地,解压;在IDEA中,执行如下步骤导入:

 

2. Maven配置导入。在pom.

<repositories>  <repository>   <id>com.e-iceblue</id>   <url></url>  </repository> </repositories><dependencies> <dependency>  <groupId>e-iceblue</groupId>  <artifactId>spire.pdf.free</artifactId>  <version>4.4.1</version> </dependency></dependencies>

 

二、程序测试代码

import com.spire.pdf.*;import com.spire.pdf.graphics.PdfImage;import com.spire.pdf.graphics.PdfTrueTypeFont;import com.spire.pdf.security.GraphicMode;import com.spire.pdf.security.PdfCertificate;import com.spire.pdf.security.PdfCertificationFlags;import com.spire.pdf.security.PdfSignature;import java.awt.*;import java.awt.geom.Point2D;import java.awt.geom.Rectangle2D;public class TimeStamp { public static void main(String[] args) {  //加载PDF文档  PdfDocument pdf = new PdfDocument();  pdf.loadFromFile("test.pdf");  //加载pfx证书,及证书秘钥  PdfCertificate cert = new PdfCertificate("pfx证书","密钥");  //添加数字签名到指定页面,并设置其位置和大小  PdfSignature signature = new PdfSignature(pdf, pdf.getPages().get(2), cert, "Mia");  Rectangle2D rect = new Rectangle2D.Float();  rect.setFrame(new Point2D.Float((float) pdf.getPages().get(0).getActualSize().getWidth() - 340, (float) pdf.getPages().get(0).getActualSize().getHeight() - 230), new Dimension(280, 120));  signature.setBounds(rect);  //设置签名为图片加文本模式  signature.setGraphicMode(GraphicMode.Sign_Image_And_Sign_Detail);  //设置签名的内容  signature.setNameLabel("签字人:");  signature.setName("Manager");  signature.setDateLabel("日期:");  signature.setDate(new java.util.Date());  signature.setLocationInfoLabel("地点:");  signature.setLocationInfo("成都");  signature.setReasonLabel("原因:");  signature.setReason("文档管理者");  signature.setDistinguishedNameLabel("DN: ");  signat......

原文转载:http://www.shaoqun.com/a/887676.html

跨境电商:https://www.ikjzd.com/

白色清关:https://www.ikjzd.com/w/1410

丰趣海淘:https://www.ikjzd.com/w/1716

邓白氏集团:https://www.ikjzd.com/w/582


一、程序运行环境编译环境:IntelliJIDEA所需测试文件:PDF、.pfx数字证书及密钥、PDFJar包(FreeSpire.PDFforJava)、签名图片(.png格式)可信时间戳服务器:URL地址注:以下代码中的所有测试文件路径均为IDEA程序项目文件夹路径,如C:\Users\Administrator\IdeaProjects\Certificate_PDF\test.pdf,文件
慎入!血腥实拍蛇皮名包诞生记:http://www.30bags.com/a/428000.html
升级5A景区,看看西藏雅鲁藏布大峡谷有多美:http://www.30bags.com/a/222095.html
升为中风险地区!上海祝桥镇营前村实行道路封闭_路口:http://www.30bags.com/a/220790.html
生活家|坦桑尼亚:一生一次的动物大迁徙:http://www.30bags.com/a/248622.html
张柏芝自曝拍艳照原因 大爆陈冠希另类癖好:http://lady.shaoqun.com/a/46137.html
扒开女人下面添 宝贝你那里的水好甜:http://lady.shaoqun.com/a/247978.html
我在健身房被3p了 健身房被教练啪到腿软:http://www.30bags.com/m/a/249818.html
总裁桌子底下吸允花蜜 他埋头她腿间吮嫩软:http://www.30bags.com/m/a/249809.html
深圳爱丽丝梦游仙境音乐剧什么时候:http://www.30bags.com/a/512833.html
婚姻出轨:如何处理婚外情一般分为这两种情况:http://lady.shaoqun.com/a/425280.html
男人有战斗力,看大腿:http://lady.shaoqun.com/a/425281.html
惊呆了!50岁的大叔被一名29岁的男医生以检查的名义性侵:http://lady.shaoqun.com/a/425282.html

No comments:

Post a Comment