iText7 数字签名图像对齐

iText7 Digital Signature Image Alignment

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

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

您可以通过检索 PdfFormXObject 第 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 会自行设计它,几乎不会给您留下任何选择。