小编典典

如何使用密码保护已经存在的PDF?

java

如何为现有PDF设置密码?


阅读 216

收藏
2020-11-23

共1个答案

小编典典

您是否看过本书第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();
}

请注意,USEROWNER是类型byte[]。您有不同的权限选项(查找以开头的常量ALLOW_),并且可以从不同的加密算法中进行选择。

至于参数:src是现有PDF的路径。dest是加密的PDF的路径。很明显,您无法在读取文件时写入文件。

2020-11-23