Itextpdf 给pdf加密和限制权限

加入阅读密码,不允许打印,不允许修改,等等权限。

 

官方文档事例:

http://itextpdf.com/examples/iia.php?id=219

 

主要代码就一句话:

 

stamper.setEncryption(USER, OWNER,
            PdfWriter.ALLOW_PRINTING, PdfWriter.ENCRYPTION_AES_128 | PdfWriter.DO_NOT_ENCRYPT_METADATA);

 

或者调用

 

setEncryption(int encryptionType, String userPassword, String ownerPassword, int permissions) 
//第一个参数encryptionType可以使用 PdfWriter.ENCRYPTION_AES_128 
//密码可以是null
//最后一个参数permissions可以使用PdfWriter.AllowPrinting (循序打印)

 

注意:

1.这个方法调用必须在添加内容之前,否则会报错。

 

2. 注意文档的最后的一句话

If you want this example to work, you need the following jars: iText.jar,bcpkix-jdk15on-1.47.jarbcprov-jdk15on-1.47.jar

下载地址:

bcpkix-jdk15on-150.jar

bcprov-jdk15on-150.jar

 

3.注意版本号,1.47+ 都行

https://stackoverflow.com/questions/14042693/itext-and-org-bouncycastle-asn1-asn1primitive-not-found

如果用的版本号过低或者没有添加上述几个包会发生:

org.bouncycastle.asn1.ASN1Primitive not found的问题

 

完成。

 

 

 

 

你可能感兴趣的:(java)