C# 使用C语言中的iTextSharp实现PDF格式图像的多重数字签名#
我正在尝试使用iTextSharp库在pdf中添加多个数字签名(带有签名图像)。使用PdfSignatureAppearance.CERTIFIED_FORM_FILLING和PdfSignatureAppearance.NOT_CERTIFIED,我可以添加数字签名而不会使以前的签名无效,但我的要求稍微复杂一些。除了数字签名,我们还需要附加签名图像。当签名图像添加到母版时,先前的签名将失效。有没有办法做到这一点?请帮忙 在下面的代码中,对图像行进行注释后,它就可以工作了。当我删除注释时,图像会被追加,但之前的签名会失效C# 使用C语言中的iTextSharp实现PDF格式图像的多重数字签名#,c#,itext,digital-signature,C#,Itext,Digital Signature,我正在尝试使用iTextSharp库在pdf中添加多个数字签名(带有签名图像)。使用PdfSignatureAppearance.CERTIFIED_FORM_FILLING和PdfSignatureAppearance.NOT_CERTIFIED,我可以添加数字签名而不会使以前的签名无效,但我的要求稍微复杂一些。除了数字签名,我们还需要附加签名图像。当签名图像添加到母版时,先前的签名将失效。有没有办法做到这一点?请帮忙 在下面的代码中,对图像行进行注释后,它就可以工作了。当我删除注释时,图像会
int signatureCount = GetSignatureCount(reader);
int signatureStartPos = signatureCount * 160 + 20;
PdfSignatureAppearance appearance = stamper.SignatureAppearance;
appearance.SignatureRenderingMode = PdfSignatureAppearance.RenderingMode.DESCRIPTION;
//string imagePath = _signatureImagePath;
//iTextSharp.text.Image signatureFieldImage = iTextSharp.text.Image.GetInstance(imagePath);
//appearance.SignatureGraphic = signatureFieldImage;
//signatureFieldImage.SetAbsolutePosition(signatureStartPos, 50);
//signatureFieldImage.ScaleAbsolute(90f, 30f);
//stamper.GetOverContent(1).AddImage(signatureFieldImage);
appearance.Reason = reason;
appearance.Location = location;
if (signatureCount == 0)
appearance.CertificationLevel = PdfSignatureAppearance.CERTIFIED_FORM_FILLING;
else
appearance.CertificationLevel = PdfSignatureAppearance.NOT_CERTIFIED;
appearance.SetVisibleSignature(new iTextSharp.text.Rectangle(signatureStartPos, 10, 140+ signatureStartPos, 60), 1, m_processStage);
您添加的任何内容都会使签名无效,无论是文本还是图像。没有办法保持签名有效。如果我们在pdf表单中添加表单字段并用图像填充该字段,可能是一种选择?允许填写表单字段,对吗?严格来说,没有图像表单字段。通常使用按钮并更改其外观。这可能已经算作注释更改,而不仅仅是表单填充。