我想自定义PDF格式的数字签名外观。我正在使用 IText7 (C#)。以下是我在 C# 中的代码摘录:
PdfSignatureAppearance psa = signer.GetSignatureAppearance(); psa.SetRenderingMode(PdfSignatureAppearance.RenderingMode.GRAPHIC);
psa.SetSignatureGraphic(ImageDataFactory.Create(File.ReadAllBytes("test.jpg")));
PdfFormXObject pdfFormXObject = psa.GetLayer2();
Canvas canvas = new Canvas(pdfFormXObject, pdfDoc);
PdfCanvas pdfCanvas = canvas.GetPdfCanvas();
pdfCanvas.AddImageFittedIntoRectangle(ImageDataFactory.Create(File.ReadAllBytes("test.jpg"), rect, false);
BackgroundImage.Builder builder = new BackgroundImage.Builder();
PdfImageXObject imageXObject = new PdfImageXObject(ImageDataFactory.Create(signingMetadata.SignatureAppearance.SignatureBackgroundImg));
builder.SetImage(imageXObject);
canvas.SetBackgroundImage(builder.Build());
iText.Layout.Element.Text line1 = new iText.Layout.Element.Text("Test Line1");
Paragraph p1 = new Paragraph().Add(line1);
p1.SetTextAlignment(iText.Layout.Properties.TextAlignment.LEFT);
canvas.Add(p1);
iText.Layout.Element.Text line2 = new iText.Layout.Element.Text("Test Line2");
Paragraph p2 = new Paragraph().Add(line2);
p2.SetTextAlignment(iText.Layout.Properties.TextAlignment.LEFT);
canvas.Add(p2);
canvas.Close();
文本可见且对齐正确,但是背景图像不出现。这里可能缺少什么?