当进行延迟签名时,我在我的pdf中创建了这样一个空签名
public byte[] emptySignature(String src, String dest, String fieldname)
throws IOException, GeneralSecurityException, DocumentException {
PdfReader reader = new PdfReader(src);
FileOutputStream os = new FileOutputStream(dest);
PdfStamper stamper = PdfStamper.createSignature(reader, os, '\0');
PdfSignatureAppearance appearance = stamper.getSignatureAppearance();
appearance.setLocation("Office");
appearance.setReason("For testing");
Rectangle r = new Rectangle(36, 748, 244, 680);
r.setBackgroundColor(BaseColor.WHITE);
r.setBorderColor(BaseColor.RED);
r.setBorder(1);
r.setBorder(2);
r.setBorder(3);
r.setBorder(4);
appearance.setVisibleSignature(r, 1, fieldname);
ExternalSignatureContainer external = new ExternalBlankSignatureContainer(PdfName.ADOBE_PPKLITE, PdfName.ADBE_PKCS7_DETACHED);
MakeSignature.signExternalContainer(appearance, external, 8192);
byte[] data = IOUtils.toByteArray(appearance.getRangeStream());
return data;
}
签名后我的pdf有这个印章,默认的文字是 "Digitally signed by...Date: ...Reason: ...Location"。
我使用itext 5.5