【发布时间】:2013-12-18 14:29:13
【问题描述】:
我正在使用 iTextSharp 处理 PDF。我想将签名图像添加到签名字段而不对文档进行数字签名(不涉及任何证书)。
有可能吗?我可以使用数字签名,但我也想在签名字段上添加签名图像而不使用任何证书。
更新:
现在写我有以下代码。
// Set PDF Reader and PDF Stamper
PdfReader reader = new PdfReader(sourceDocument);
// File stream where PDF will write
FileStream fout = new FileStream(destinationPath, FileMode.Create, FileAccess.ReadWrite);
PdfStamper stamper = PdfStamper.CreateSignature(reader, fout, '\0', null, true);
// Set PDF Appearance
PdfSignatureAppearance appearance = stamper.SignatureAppearance;
iTextSharp.text.Image signatureFieldImage = iTextSharp.text.Image.GetInstance(image, System.Drawing.Imaging.ImageFormat.Png);
appearance.SignatureGraphic = signatureFieldImage;
appearance.SignatureRenderingMode = PdfSignatureAppearance.RenderingMode.GRAPHIC;
appearance.SetVisibleSignature(signatureFieldName);
stamper.Close();
reader.Close();
fout.Close();
但是当我尝试运行它时,它会给出以下错误:
签名已定义。必须在 PdfSignatureAppearance 中关闭
【问题讨论】:
-
为签名字段添加外观后,签名字段仍显示为未使用(在签名选项卡中)。你可以吗?
-
是的,没关系。我只想在其中一个案例中显示签名图像。
-
@mkl 请查看更新后的帖子。
-
如我所见,@Bruno 已经恰当地回答了您的问题。
-
感谢 mkl 和布鲁诺。布鲁诺的回答对我有用。
标签: c# pdf certificate itextsharp signature