我一直在搜索itextsharp类:
http://api.itextpdf.com/itext/
我发现你可以创建按钮、复选框、单选按钮、文本框:
但我不明白为什么你不能创建一个签名框?或者你可以吗?它是 PDF 模板的标准对象库的一部分。您可以使用 adobe acrobat 本身创建此对象。
是否有可以为 PDF 创建签名框的库/工具?
当我说签名时,我的意思是我需要用户能够在生成的 PDF 上签名。
我一直在搜索itextsharp类:
http://api.itextpdf.com/itext/
我发现你可以创建按钮、复选框、单选按钮、文本框:
但我不明白为什么你不能创建一个签名框?或者你可以吗?它是 PDF 模板的标准对象库的一部分。您可以使用 adobe acrobat 本身创建此对象。
是否有可以为 PDF 创建签名框的库/工具?
当我说签名时,我的意思是我需要用户能够在生成的 PDF 上签名。
请阅读http://itextpdf.com/book/digitalsignatures,更具体地说,第 2.3.2 节题为“使用 iText 以编程方式创建签名字段”。
但是,您还需要阅读第 2.4.4 节,标题为“普通和证明签名”:
ISO-32000-1 规定 PDF 文档可能包含以下标准类型的签名:
如果您想创建最终用户可以签名的文档,而不需要除 Adobe Reader 之外的任何其他软件,您的文档需要“启用 Reader”。由于数字签名白皮书中解释的原因,您需要 Adobe 软件来执行此操作。任何不同于 Adobe 的第三方使用 Adobe 的私钥都是违法的。
额外说明: 请注意,数字签名和签名字段所涉及的不仅仅是允许最终用户“签署他的名字”。他总是需要私钥来签署文件。假设这不是您的问题的意思,假设您希望人们在文本字段中填写他们的姓名,那么您仍然需要阅读器启用文档,除非最终用户使用其中一个最新版本的 Adobe Reader 解锁了保存已填写表格的可能性。
最后一句话: 现在我看到你需要人们“画”他们的签名。这不是一个有效的数字签名,您不能提供一个字段来添加这样的假签名。添加这样的虚假签名需要在最终用户使用的查看器中提供。如果您想知道为什么这些签名是假的并且没有任何法律价值,请观看此演示:http ://www.youtube.com/watch?v=VYK45lhLr8I
您可以使用 iText 创建一个空的签名字段,如iText in Action, 2nd edition中的示例SignatureField中所述。该示例应该可以使用 iTextSharp 轻松转换为 C#。您是否需要这样的签名,取决于 PDF 查看器及其版本。