更改 PDF 文件的密码
Contents
[
Hide
]
更改 PDF 文件的密码
当需要在已加密的 PDF 上轮换凭据时,使用 PdfFileSecurity。
步骤
- 创建一个
PdfFileSecurity实例。 - 绑定受保护的 PDF 与
bindPdf。 - 调用适当的
changePassword重载,具体取决于您是否还想重置权限和密钥大小。 - 保存更新后的文件并关闭安全对象。
Java 示例
public static void changeUserAndOwnerPassword(Path inputFile, Path outputFile) {
PdfFileSecurity fileSecurity = new PdfFileSecurity();
fileSecurity.bindPdf(inputFile.toString());
fileSecurity.changePassword("owner_password", "new_user_password", "new_owner_password");
fileSecurity.save(outputFile.toString());
fileSecurity.close();
}
public static void changePasswordAndResetSecurity(Path inputFile, Path outputFile) {
PdfFileSecurity fileSecurity = new PdfFileSecurity();
fileSecurity.bindPdf(inputFile.toString());
DocumentPrivilege privilege = DocumentPrivilege.getForbidAll();
privilege.setAllowPrint(true);
fileSecurity.changePassword("owner_password", "new_user_password", "new_owner_password", privilege, KeySize.x128);
fileSecurity.save(outputFile.toString());
fileSecurity.close();
}
public static void tryChangePasswordWithoutException(Path inputFile, Path outputFile) {
PdfFileSecurity fileSecurity = new PdfFileSecurity();
fileSecurity.bindPdf(inputFile.toString());
if (fileSecurity.tryChangePassword("owner_password", "new_user_password", "new_owner_password")) {
fileSecurity.save(outputFile.toString());
} else {
System.out.println("Password change failed. Check owner password or document security.");
}
fileSecurity.close();
}