1

iText 发行说明提到,iText 版本 5.4.2 和 5.4.3 支持使用 XFA 表单签署 PDF:

http://itextpdf.com/history/?branch=54&node=542

http://itextpdf.com/history/?branch=54&node=543

在某处是否有文档如何在 Java 中进行签名?

我对使用 XFA 签署 PDF 特别感兴趣,其中有一个准备好的签名字段。

4

1 回答 1

0

这是一个展示如何使用 XmlDSig 签名的小示例:

PdfReader reader =new  PdfReader(src);
FileOutputStream os =new  FileOutputStream(dest);
PdfStamper stamper = PdfStamper.createXmlSignature(reader, os);
XmlSignatureAppearance appearance = stamper.getXmlSignatureAppearance();
appearance.setXmlLocator(new  XfaXmlLocator(stamper));
appearance.setXpathConstructor(new XfaXpathConstructor(XfaXpathConstructor.XdpPackage.Datasets));
ExternalSignature signature =new  PrivateKeySignature(pk, digestAlgorithm,"BC");
//use signXmlDSig or signXades
MakeXmlSignature.signXmlDSig(appearance, signature, chain);

您也可以使用 XAdES 进行签名,但是您将无法在 Adob​​e 软件中验证签名,因为我认为 Adob​​e 不支持 XAdES(如果我错了,请纠正我)。

于 2014-02-14T11:30:20.477 回答