仅允许在itext Pdf中打印

时间:2013-10-31 13:31:43

标签: java security itext

我正在使用itext将文本文件转换为pdf,并使用以下密码加密它们:

writer.setEncryption(PdfWriter.ENCRYPTION_AES_128, finalpass, finalpass, PdfWriter.AllowPrinting);

但其他属性已启用

enter image description here

我只需要打印允许,其他不允许

1 个答案:

答案 0 :(得分:2)

环顾四周后,我想出了解决自己问题的方法,并认为我应该分享它,以便如果有人遇到同样的问题可以用这个作为参考:

My Line:

writer.setEncryption(PdfWriter.ENCRYPTION_AES_128, finalpass, finalpass, PdfWriter.AllowPrinting);

实际上是问题。

所有者密码和用户密码是相同的,因此,当用户输入密码时,Pdf文档也接受他/她作为所有者,因为两个密码都是相同的。我通过更改第二个密码来克服这个问题:

writer.setEncryption(PdfWriter.ENCRYPTION_AES_128, finalpass, "TheOwnerPassword", PdfWriter.AllowPrinting);

因此,当使用输入密码时,Pdf文档会打开,但他只能访问“打印属性”,其他人则被禁用。

感谢那些试图帮助的人。你的想法很有用。