
用Spire.Doc for Java 可以添加及验证数字签名,参考代码:
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 AddCertificate {
public static void main(String[]args){
//加载PDF文档
PdfDocument doc = new PdfDocument()
doc.loadFromFile("test.pdf")
//加载pfx证书,及证书秘钥
PdfCertificate cert = new PdfCertificate("Cermia.pfx","123654yes!")
PdfSignature signature = new PdfSignature(doc, doc.getPages().get(2), cert, "MySignature")
Rectangle2D rect = new Rectangle2D.Float()
rect.setFrame(new Point2D.Float((float) doc.getPages().get(0).getActualSize().getWidth() - 340, (float) doc.getPages().get(0).getActualSize().getHeight() - 230), new Dimension(280, 150))
signature.setBounds(rect)
//设置签名为图片加文本模式
signature.setGraphicMode(GraphicMode.Sign_Image_And_Sign_Detail)
//设置签名的内容
signature.setNameLabel("签字者:")
signature.setName("Mia")
signature.setContactInfoLabel("联系电话:")
signature.setContactInfo("02881705109")
signature.setDateLabel("日期:")
signature.setDate(new java.util.Date())
signature.setLocationInfoLabel("地点:")
signature.setLocationInfo("成都")
signature.setReasonLabel("原因:")
signature.setReason("文档所有者")
signature.setDistinguishedNameLabel("DN: ")
signature.setDistinguishedName(signature.getCertificate().get_IssuerName().getName())
signature.setSignImageSource(PdfImage.fromFile("sign.png"))
//设置签名的字体
signature.setSignDetailsFont(new PdfTrueTypeFont(new Font("Arial Unicode MS", Font.PLAIN, 9)))
//设置文档权限为禁止更改
signature.setDocumentPermissions(PdfCertificationFlags.Forbid_Changes)
signature.setCertificated(true)
//保存文档
doc.saveToFile("AddSignature.pdf")
doc.close()
}
}
数字签名添加效果:
数字签名效果
参考原文
在电脑上面新建一个pdf文件,然后双击打开。在右边找到填写和签名的选项,点击。然后出现下面界面,点击红圈的签名,然后会跳出两项选择,选择添加签名。1.首先使用WPS打开一个PDF文件。
2.选择工具栏上的【插入】选项,在下拉菜单中点击【PDF签名】,在下方出现【创建签名】。
3.在d出的对话框中,我们看到三个标签:这里选择【手写】,我们在图框中手写姓名,点击确定
4.将手写的文字调整到合适大小。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)