防止复制使用iText生成的pdf内容
我们有一个Web应用程序,它生成一个报告并使用iText将其保存为pdf . 我们希望阻止用户复制此文件中的内容 . 我认为这可以通过将pdf内容转换为图像然后将该图像添加到pdf来实现,但似乎iText无法将pdf转换为图像 .
有没有办法可以用iText做到这一点?
我们有一个Web应用程序,它生成一个报告并使用iText将其保存为pdf . 我们希望阻止用户复制此文件中的内容 . 我认为这可以通过将pdf内容转换为图像然后将该图像添加到pdf来实现,但似乎iText无法将pdf转换为图像 .
有没有办法可以用iText做到这一点?
2 years ago
正如@YuriyGalanter所指出的,PDF中的限制性权限主要是在PDF加密的上下文中定义的,参见PDF规范的第7.6.3.1节ISO 32000-1:2008:
因此,如果使用所有者密码但没有用户密码对PDF进行加密,则任何人都可以打开PDF并受加密期间选择的权限限制 . 只允许以其所有者密码打开该PDF的人才能无限制地访问PDF .
显然,这样的方案很容易被打破并且保护被删除 . 这取决于PDF处理软件的道德行为 .
iText in Action — 2nd Edition第12章中的示例EncryptionPdf.java演示了如何使用iText应用加密 .
方法
createPdf
说明了在创建新PDF时如何应用加密:方法
encryptPdf
说明了如何加密现有PDF:这里
USER
和OWNER
是上面提到的用户和所有者密码 .该示例仅设置一个权限,
PdfWriter.ALLOW_PRINTING
;还有其他多个,只需检查PdfWriter.
的所有ALLOW_*
常量