我有一个包含以下文档设置的PDF文件:
文件设定:
当我创建PdfStamper (iText)
对象时,它会给出异常“PdfReader not opened with owner password
”。如果我们查看设置“Form Field Fill-in or Signing: Allowed
”,我们可以手动填写此表单。
我们如何使用iTextSharp
或任何其他工具在C#中填写此表单。
显然我没有密码。
答案 0 :(得分:2)
iText NOT 是最终用户产品。相反,iText是一个库,它允许您访问您想要对PDF文件执行的任何操作,假设您可以打开文档。遵守文件上设置的权限的责任在于开发人员。
为确保开发人员了解此责任,如果您没有密码,则不允许对PDF文档执行任何操作。您可以通过更改PdfReader
中的静态变量来解决此问题:您需要将名为unethicalreading
的参数设置为true
(默认情况下为false
)。
从那一刻开始,您可以随意使用PDF,
是的,这意味着仅使用所有者密码在PDF中设置权限纯粹是一种“保护”文档的心理手段。
否,如果PDF受用户密码保护,则无法更改此参数(在这种情况下,您也无法在Adobe Reader中打开没有密码的文档)。