iText7 数字签名图像对齐

问题描述

在 iText7 中,当我将图像添加到数字签名时,图像认位于我定义的 Rect 的中心,任何文本都与右侧对齐。有没有办法将图像移动到数字签名的 Rect 左侧对齐?

com.itextpdf.layout.element.Image 有一种方法可以让自己向左对齐。但是 PdfSignatureAppearance.setSignatureGraphic() 需要一个 ImageData 参数。

解决方法

您可以通过检索 PdfFormXObject Layer 2 并在其上绘制,以完全自定义的方式设计签名外观:

PdfSigner signer = ...
PdfSignatureAppearance appearance = signer.getSignatureAppearance();
PdfFormXObject layer2 = appearance.getLayer2();
try (Canvas layer2Canvas = new Canvas(layer2,signer.getDocument())) {
    [... design your signature appearance on layer2Canvas ...]
}

不过,如果您不想这样做,iText 会自行设计,几乎不会给您留下任何选择。