2

我正在尝试使用 iText 对 pdf 进行数字签名,并且在此示例的帮助下取得了成功。

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

XXXX 日期 XXXX 数字签名

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

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

这些是示例中显示的签名外观,并且(显然)没有写我提到的描述。

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

4

2 回答 2

6

添加这一行

appearance.setRenderingMode(PdfSignatureAppearance.RenderingMode.GRAPHIC);

在这之后

appearance.setVisibleSignature(new Rectangle(0, 672, 200, 792), 1, "first");

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

于 2013-06-05T10:24:51.673 回答
4

添加该行后它起作用了:

appearance.setRenderingMode(PdfSignatureAppearance.RenderingMode.GRAPHIC);

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

appearance.setSignatureGraphic(Image.getInstance(IMAGE));

并删除:

appearance.setImage(Image.getInstance(IMAGE));

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

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

于 2013-06-05T10:47:39.060 回答