关闭压模时出现 Itextsharp 错误 "Unknown Filter: "
Itextsharp error "Unknown Filter: " when closing the stamper
我正在尝试向空白的现有 pdf 添加数字签名,然后使用数字签名创建一个新的 pdf。
这是我的代码:
FileStream fs = new FileStream(newFile, FileMode.Create, FileAccess.Write);
PdfReader pdfreader = new PdfReader(pdf);
PdfStamper stamper = PdfStamper.CreateSignature(pdfreader, fs, '[=11=]');
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();
压模关闭时出现异常,异常显示"Unknown Filter:"
谁能帮忙?
提前致谢。
你没有告诉 iTextSharp 如何签名:
- 您不要将其指向要使用的私钥。
- 您无需告诉它要创建哪种 PDF 签名。
在你的情况下,很可能是后一个问题导致了错误消息,PDF 签名的类型基本上是由过滤器和子过滤器值给出的。
在旧的 iText(Sharp) 版本中,这些值是 PdfSignatureAppearance.SetCrypto
方法和 PdfSignature
构造函数调用的参数。
在当前版本中,这些值在 MakeSignature
辅助方法和 ExternalSignature
实现构造函数中设置。
您可能想阅读 Digital Signatures for PDF documents,Bruno Lowagie(iText 软件)撰写的关于使用 iText 签署 PDF 主题的白皮书。 iTextSharp/C# 个版本的示例代码可以在 iTextSharp sourceforge 存储库中找到。
我正在尝试向空白的现有 pdf 添加数字签名,然后使用数字签名创建一个新的 pdf。
这是我的代码:
FileStream fs = new FileStream(newFile, FileMode.Create, FileAccess.Write);
PdfReader pdfreader = new PdfReader(pdf);
PdfStamper stamper = PdfStamper.CreateSignature(pdfreader, fs, '[=11=]');
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();
压模关闭时出现异常,异常显示"Unknown Filter:" 谁能帮忙? 提前致谢。
你没有告诉 iTextSharp 如何签名:
- 您不要将其指向要使用的私钥。
- 您无需告诉它要创建哪种 PDF 签名。
在你的情况下,很可能是后一个问题导致了错误消息,PDF 签名的类型基本上是由过滤器和子过滤器值给出的。
在旧的 iText(Sharp) 版本中,这些值是 PdfSignatureAppearance.SetCrypto
方法和 PdfSignature
构造函数调用的参数。
在当前版本中,这些值在 MakeSignature
辅助方法和 ExternalSignature
实现构造函数中设置。
您可能想阅读 Digital Signatures for PDF documents,Bruno Lowagie(iText 软件)撰写的关于使用 iText 签署 PDF 主题的白皮书。 iTextSharp/C# 个版本的示例代码可以在 iTextSharp sourceforge 存储库中找到。