文档半岛外围网上直营>>Aspose.PDF使用教程>>Spire.PDF功能演示:在 Java 中使用时间戳对 PDF 进行数字签名
Spire.PDF功能演示:在 Java 中使用时间戳对 PDF 进行数字签名
Spire.PDF for Java 是一款专门对 PDF 文档进行操作的 Java 类库。该类库的主要功能在于帮助开发人员在 Java 应用程序(J2SE和J2EE)中生成 PDF 文档和操作现有 PDF 文档,并且运行环境无需安装 Adobe Acrobat。
本文演示了如何在使用 Spire.PDF for Java 对 PDF 文档进行数字签名时嵌入时间戳。可点击此处下载最新版测试。
import com.spire.pdf.PdfDocument;
import com.spire.pdf.graphics.*;
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 SignWithTimestamp {
public static void main(String[] args) {
//Load a pdf document
PdfDocument doc = new PdfDocument();
doc.loadFromFile("C:\\Users\\Administrator\\Desktop\\Introduction.pdf");
//Load the certificate
PdfCertificate cert = new PdfCertificate("C:\\Users\\Administrator\\Desktop\\gary.pfx", "e-iceblue");
//Create a PdfSignature object and specify its position and size
PdfSignature signature = new PdfSignature(doc, doc.getPages().get(0), cert, "MySignature");
Rectangle2D rect = new Rectangle2D.Float();
rect.setFrame(new Point2D.Float((float) doc.getPages().get(0).getActualSize().getWidth() - 220, (float) doc.getPages().get(0).getActualSize().getHeight() - 140), new Dimension(200, 100));
signature.setBounds(rect);
//Set the graphics mode
signature.setGraphicMode(GraphicMode.Sign_Detail);
//Set the signature content
signature.setNameLabel("Signer:");
signature.setName("Gary");
signature.setContactInfoLabel("ContactInfo:");
signature.setContactInfo("02881705109");
signature.setLocationInfoLabel("Location:");
signature.setLocationInfo("Chengdu");
signature.setReasonLabel("Reason: ");
signature.setReason("The certificate of this document");
//Set the signature font
signature.setSignDetailsFont(new PdfFont(PdfFontFamily.Helvetica, 10f, PdfFontStyle.Regular));
//Set the document permission
signature.setDocumentPermissions(PdfCertificationFlags.Forbid_Changes);
signature.setCertificated(true);
//Configure a time stamp server
String timestampServerUrl = "//timestamp.digicert.com";
signature.configureTimestamp(timestampServerUrl);
//Save to file
doc.saveToFile("Timestamp.pdf");
doc.close();
}
}
输出结果
整合所有格式API处理套包Spire.office for Java正在慧都网火热销售中!立马1分钟了解全部咨询!

QQ交谈
在线咨询

渝公网安备
50010702500608号

客服热线