国产PDF格式处理控件Spire.PDF功能演示:在 Java 中使用时间戳对 PDF 进行数字签名

本文演示了如何在使用 Spire.PDF for 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 = "http://timestamp.digicert.com";        signature.configureTimestamp(timestampServerUrl);        //Save to file        doc.saveToFile("Timestamp.pdf");        doc.close();    }}

输出结果

国产PDF格式处理控件Spire.PDF功能演示:在 Java 中使用时间戳对 PDF 进行数字签名



整合所有格式API处理套包Spire.office for Java正在网火热销售中!联系客服立马1分钟了解全部咨询!

标签:

来源:慧都

声明:本站部分文章及图片转载于互联网,内容版权归原作者所有,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2021年6月17日
下一篇 2021年6月17日

相关推荐

发表回复

登录后才能评论