如何为现有PDF设置密码?
您是否看过本书第12章中的EncryptionPdf示例?
就这么简单:
public void encryptPdf(String src, String dest) throws IOException, DocumentException { PdfReader reader = new PdfReader(src); PdfStamper stamper = new PdfStamper(reader, new FileOutputStream(dest)); stamper.setEncryption(USER, OWNER, PdfWriter.ALLOW_PRINTING, PdfWriter.ENCRYPTION_AES_128 | PdfWriter.DO_NOT_ENCRYPT_METADATA); stamper.close(); reader.close(); }
请注意,USER和OWNER是类型byte[]。您有不同的权限选项(查找以开头的常量ALLOW_),并且可以从不同的加密算法中进行选择。
USER
OWNER
byte[]
ALLOW_
至于参数:src是现有PDF的路径。dest是加密的PDF的路径。很明显,您无法在读取文件时写入文件。
src
dest