我们可以在创建 pdf 文件时使用 itextsharp 添加数字签名吗?

Can we add a digital signature using itextsharp while a pdf file is being created?

我查看了很多关于Whosebug 的问题,甚至阅读了有关itextsharp 数字签名的文章和书籍,但始终找不到任何解决方案。我想在编写文件时在 pdf 文件末尾添加数字签名。是否可以这样做,因为 PdfStamper.CreateSignature 使用 pdfreader 参数。有人可以帮我解决这个问题吗?

不,没有高级 iText API 允许单程文档创建和签名。

您当然可以尝试将面向 PdfStamper 的签名代码移植到面向 PdfWriter 的签名代码。但这并没有多大帮助。

例如,这不允许您简单地将创建中的 PDF 流式传输到响应流,因为除了创建签名之外,无法在整个 PDF 之前创建嵌入 PDF 中间某处的签名。

如果您想在创建 PDF 时签名,因为那时您最清楚在哪里放置签名,您可以改为创建一个空签名字段 可以在后面的步骤中签名。