我正在使用itext将文本文件转换为pdf,并使用以下密码加密它们:
writer.setEncryption(PdfWriter.ENCRYPTION_AES_128, finalpass, finalpass, PdfWriter.AllowPrinting);
但其他属性已启用
我只需要打印允许,其他不允许
答案 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文档会打开,但他只能访问“打印属性”,其他人则被禁用。
感谢那些试图帮助的人。你的想法很有用。