C# Itextsharp关闭母版时出现错误“未知过滤器”:

C# Itextsharp关闭母版时出现错误“未知过滤器”:,c#,itextsharp,C#,Itextsharp,我正在尝试将数字签名添加到一个空白的现有pdf中,然后使用该数字签名创建一个新的pdf 这是我的密码: FileStream fs = new FileStream(newFile, FileMode.Create, FileAccess.Write); PdfReader pdfreader = new PdfReader(pdf); PdfStamper stamper = PdfStamper.CreateSignature(pdfreader, fs, '\0'); stamper.Wr

我正在尝试将数字签名添加到一个空白的现有pdf中,然后使用该数字签名创建一个新的pdf

这是我的密码:

FileStream fs = new FileStream(newFile, FileMode.Create, FileAccess.Write);
PdfReader pdfreader = new PdfReader(pdf);
PdfStamper stamper = PdfStamper.CreateSignature(pdfreader, fs, '\0');
stamper.Writer.CloseStream = false;

StringBuilder sb = new StringBuilder();
sb.AppendLine("SIGNATURE");

PdfSignatureAppearance sap = stamper.SignatureAppearance;
sap.SignDate = DateTime.Now;
sap.Acro6Layers = true;

Font signatureFont = new Font();
signatureFont.Size = 10;

sap.Layer2Text = sb.ToString();
sap.Layer2Font = signatureFont; 

stamper.Close();    
pdfreader.Close();
fs.Close();
母版关闭时出现异常,异常为未知过滤器: 有人能帮忙吗?
提前感谢。

您没有告诉iTextSharp如何签名:

您不能将它指向要使用的私钥。 您不会告诉它要创建哪种PDF签名。 在您的情况下,后一个问题很可能会导致错误消息,PDF签名的类型基本上由一个过滤器和一个子过滤器值给出

在旧的iTextSharp版本中,这些值是PdfSignatureAppearance.SetCrypto方法和PdfSignature构造函数调用的参数

在当前版本中,这些值在MakeSignature助手方法和ExternalSignature实现构造函数中设置

您可能想阅读Bruno Lowagie iText Software关于使用iText签署PDF主题的白皮书。示例代码的iTextSharp/C版本可以在iTextSharp sourceforge存储库中找到