3

我一直在搜索itextsharp类:

http://api.itextpdf.com/itext/

我发现你可以创建按钮、复选框、单选按钮、文本框:

在此处输入图像描述

但我不明白为什么你不能创建一个签名框?或者你可以吗?它是 PDF 模板的标准对象库的一部分。您可以使用 adobe acrobat 本身创建此对象。

是否有可以为 PDF 创建签名框的库/工具?

当我说签名时,我的意思是我需要用户能够在生成的 PDF 上签名。

4

2 回答 2

4

请阅读http://itextpdf.com/book/digitalsignatures,更具体地说,第 2.3.2 节题为“使用 iText 以编程方式创建签名字段”。

但是,您还需要阅读第 2.4.4 节,标题为“普通和证明签名”:

ISO-32000-1 规定 PDF 文档可能包含以下标准类型的签名:

  • 一个或多个批准签名——...
  • 最多一个认证签名——...
  • 最多两个使用权签名——这些是使用例如 Adob​​e 专有的私钥创建的签名。当 PDF 文档使用 Adob​​e 的密钥使用使用权签名进行签名时,该文档将启用阅读器。Adobe Reader 将解锁某些使用权限,例如允许您在本地保存填写的表格。其他供应商可以使用他们的私钥来强制执行类似的使用权限。这种类型的签名超出了本文的范围。

如果您想创建最终用户可以签名的文档,而不需要除 Adob​​e Reader 之外的任何其他软件,您的文档需要“启用 Reader”。由于数字签名白皮书中解释的原因,您需要 Adob​​e 软件来执行此操作。任何不同于 Adob​​e 的第三方使用 Adob​​e 的私钥都是违法的。

额外说明: 请注意,数字签名和签名字段所涉及的不仅仅是允许最终用户“签署他的名字”。他总是需要私钥来签署文件。假设这不是您的问题的意思,假设您希望人们在文本字段中填写他们的姓名,那么您仍然需要阅读器启用文档,除非最终用户使用其中一个最新版本的 Adob​​e Reader 解锁了保存已填写表格的可能性。

最后一句话: 现在我看到你需要人们“画”他们的签名。这不是一个有效的数字签名,您不能提供一个字段来添加这样的假签名。添加这样的虚假签名需要在最终用户使用的查看器中提供。如果您想知道为什么这些签名是假的并且没有任何法律价值,请观看此演示:http ://www.youtube.com/watch?v=VYK45lhLr8I

于 2012-11-03T09:19:11.790 回答
3

您可以使用 iText 创建一个空的签名字段,如iText in Action, 2nd edition中的示例SignatureField中所述。该示例应该可以使用 iTextSharp 轻松转换为 C#。您是否需要这样的签名,取决于 PDF 查看器及其版本。

于 2012-11-02T21:17:45.230 回答