Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/339.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 使用C语言中的iTextSharp实现PDF格式图像的多重数字签名#_C#_Itext_Digital Signature - Fatal编程技术网

C# 使用C语言中的iTextSharp实现PDF格式图像的多重数字签名#

C# 使用C语言中的iTextSharp实现PDF格式图像的多重数字签名#,c#,itext,digital-signature,C#,Itext,Digital Signature,我正在尝试使用iTextSharp库在pdf中添加多个数字签名(带有签名图像)。使用PdfSignatureAppearance.CERTIFIED_FORM_FILLING和PdfSignatureAppearance.NOT_CERTIFIED,我可以添加数字签名而不会使以前的签名无效,但我的要求稍微复杂一些。除了数字签名,我们还需要附加签名图像。当签名图像添加到母版时,先前的签名将失效。有没有办法做到这一点?请帮忙 在下面的代码中,对图像行进行注释后,它就可以工作了。当我删除注释时,图像会

我正在尝试使用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表单中添加表单字段并用图像填充该字段,可能是一种选择?允许填写表单字段,对吗?严格来说,没有图像表单字段。通常使用按钮并更改其外观。这可能已经算作注释更改,而不仅仅是表单填充。