我用这样的密码加密pdf:public static void main(String[] args) throws DocumentException, MalformedURLException, IOException { Document document = new Document(); PdfWriter writer = PdfWriter.getInstance(document, new FileOutputStream("zrsz.pdf")); writer.setEncryption("ownerPass".getBytes(), "userPass".getBytes(), PdfWriter.ALLOW_PRINTING, PdfWriter.ENCRYPTION_AES_128); writer.createXmpMetadata(); document.open(); document.add(new Paragraph("This is create PDF with Password demo.")); document.close(); System.out.println("Done"); }但我找不到给这个setEncryption方法一个“无权限”参数的方法:public void setEncryption(byte[] userPassword, byte[] ownerPassword, int permissions, int encryptionType)甚至有可能吗?我想将该文件的访问权限限制在最低限度。我只是用它来读取机密数据。提前致谢 !
1 回答
犯罪嫌疑人X
TA贡献2080条经验 获得超4个赞
根据手册,您可以使用文档所说的以下所有内容
设置此文档的加密选项。userPassword 和 ownerPassword 可以为 null 或长度为零。在这种情况下,ownerPassword 被随机字符串替换。文档的打开权限可以是 AllowPrinting、AllowModifyContents、AllowCopy、AllowModifyAnnotations、AllowFillIn、AllowScreenReaders、AllowAssembly 和 AllowDegradedPrinting
使用用户密码打开文档时允许上述所有操作。所以你有一个安全措施,只有输入有效凭据(密码)的用户才能操作它。
添加回答
举报
0/150
提交
取消