使用iText进行数字签名,无描述(仅图像)

Igr*_*Igr 1 java pdf itext digital-signature

我尝试使用iText以数字方式签署pdf,并且我在这个例子中成功地帮助了我.

我想做的只是显示签名者的标志,而不是文字说明

XXXX在XXXX日期间以数字方式签名

如果我使用签名设置图像,则会显示图像,但我无法删除那些对我无用的描述(在签名项目中可读,不需要在pdf的主视图上显示).

PdfSignatureAppearance appearance = stamper .getSignatureAppearance();
appearance.setImage(Image.getInstance(IMAGE));
appearance.setVisibleSignature(new Rectangle(0, 672, 200, 792), 1, "first");
Run Code Online (Sandbox Code Playgroud)

这些是示例中显示的标志性外观,并且(显然)没有写出我提到的描述.

是否有可能将它们从签名外观中删除?

KhA*_*aAb 5

添加此行

appearance.setRenderingMode(PdfSignatureAppearance.RenderingMode.GRAPHIC);
Run Code Online (Sandbox Code Playgroud)

在这之后

appearance.setVisibleSignature(new Rectangle(0, 672, 200, 792), 1, "first");
Run Code Online (Sandbox Code Playgroud)

这将显示没有此描述的图像 DIGITALLY SIGNED BY XXXX ON DATE XXXX


Igr*_*Igr 5

添加行后它起作用了:

appearance.setRenderingMode(PdfSignatureAppearance.RenderingMode.GRAPHIC);
Run Code Online (Sandbox Code Playgroud)

但只有在我还添加了这一行之后:

appearance.setSignatureGraphic(Image.getInstance(IMAGE));
Run Code Online (Sandbox Code Playgroud)

并删除:

appearance.setImage(Image.getInstance(IMAGE));
Run Code Online (Sandbox Code Playgroud)

(如果使用GRAPHIC渲染模式,则必须将渲染图像设置为图形外观)

不确定是否需要编辑您的答案。