使用 pdfbox 1.8.8 的数字可见标志
Digital visible Sign with pdfbox 1.8.8
我正在使用 pdfbox 1.8.8 在 PDF 上生成可见标志。
这是我的代码。我无法看到登录 pdf。
我得到的只是一个没有内容的矩形框。
PDDocument document = PDDocument.load(temp);
document.getCurrentAccessPermission().setCanModify(false);
PDSignature signature = new PDSignature();
signature.setFilter(PDSignature.FILTER_ADOBE_PPKLITE);
signature.setSubFilter(PDSignature.SUBFILTER_ADBE_PKCS7_DETACHED);
signature.setName("XyZ");
signature.setLocation("XYZ");
signature.setReason("test");
signature.setSignDate(Calendar.getInstance());
InputStream image = new FileInputStream("download.png");
PDVisibleSignDesigner signatureDesigner = new PDVisibleSignDesigner(
document, image, document.getNumberOfPages());
signatureDesigner.xAxis(0).yAxis(0).zoom(-80).signatureFieldName("signature");
PDVisibleSigProperties signatureProperties = new PDVisibleSigProperties();
signatureProperties.signerName("Xyz").signerLocation("Xyz")
.signatureReason("Test").preferredSize(100).page(1)
.visualSignEnabled(true).setPdVisibleSignature(signatureDesigner).buildSignature();
SignatureOptions options = new SignatureOptions();
options.setVisualSignature(signatureProperties);
document.addSignature(signature, (SignatureInterface) this, options);
/* Sign */
document.saveIncremental(tempIn, tempOut);
实际结果:
预期结果:我想要这个包含图像和签名字段内容的块。
1.8.* 中的示例仅支持 JPEG 文件。
我推荐使用2.0.* PDFBox版本,有两个数字签名示例(其中一个是文本),它们更灵活,提供更多功能。
我正在使用 pdfbox 1.8.8 在 PDF 上生成可见标志。 这是我的代码。我无法看到登录 pdf。 我得到的只是一个没有内容的矩形框。
PDDocument document = PDDocument.load(temp);
document.getCurrentAccessPermission().setCanModify(false);
PDSignature signature = new PDSignature();
signature.setFilter(PDSignature.FILTER_ADOBE_PPKLITE);
signature.setSubFilter(PDSignature.SUBFILTER_ADBE_PKCS7_DETACHED);
signature.setName("XyZ");
signature.setLocation("XYZ");
signature.setReason("test");
signature.setSignDate(Calendar.getInstance());
InputStream image = new FileInputStream("download.png");
PDVisibleSignDesigner signatureDesigner = new PDVisibleSignDesigner(
document, image, document.getNumberOfPages());
signatureDesigner.xAxis(0).yAxis(0).zoom(-80).signatureFieldName("signature");
PDVisibleSigProperties signatureProperties = new PDVisibleSigProperties();
signatureProperties.signerName("Xyz").signerLocation("Xyz")
.signatureReason("Test").preferredSize(100).page(1)
.visualSignEnabled(true).setPdVisibleSignature(signatureDesigner).buildSignature();
SignatureOptions options = new SignatureOptions();
options.setVisualSignature(signatureProperties);
document.addSignature(signature, (SignatureInterface) this, options);
/* Sign */
document.saveIncremental(tempIn, tempOut);
实际结果:
预期结果:我想要这个包含图像和签名字段内容的块。
1.8.* 中的示例仅支持 JPEG 文件。
我推荐使用2.0.* PDFBox版本,有两个数字签名示例(其中一个是文本),它们更灵活,提供更多功能。