2013-10-31 131 views
2

我使用iText的转换文本文件为PDF,并将它们与这样的密码只加密打印:允许在iText的PDF阅读器

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

但是其他的属性已启用

enter image description here

我只需要印刷,并允许其他人不允许

+0

请提供样品PDF来说明这个问题。 – mkl

+0

我附上了一个截图。你想要整个文件? – ErrorNotFoundException

+0

是的。检查内部实际是什么。或者提供一个[完整的简短示例](http://sscce.org/)来重现该问题。 – mkl

回答

2

东张西望了一会儿后,我想出了一个解决方案,以我自己的问题,虽然T I应该分享,这样一旦有人遇到同样的问题,可以以此为参考:

我行:

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

实际上是问题。

所有者密码和用户密码是相同的,所以,当用户输入密码,PDF文档接受他/她的主人也因为这两个密码是相同的。我通过改变第二密码本一样克服了这个问题:

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

因此,当使用输入他的密码,打开PDF文档,但他只在打印属性的访问和其他被禁止。

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