Как ДЕЙСТВИТЕЛЬНО защитить PDF-файл, предпочтительно используя ItextPDF?

Я работал над установкой паролей для PDF-файлов, чтобы предотвратить копирование / вставку и разрешить печать, добавить водяные знаки и установить пароль владельца, чтобы предотвратить дальнейшие изменения.

Все работает хорошо. как и ожидалось, проблем не возникло.

Затем я загрузил это бесплатное средство для удаления pdf на 15 дней, a-pdf. В мгновение ока он снимает всю защиту, независимо от сложности пароля (при использовании 50 символов будут все виды символов).

Я вижу, что в itextPDF есть другие методы для шифрования документа. Я использовал следующее:

File f = new File("C:/TEMP/zip/waterMarked.pdf");

String hardPassword = "D 5BaIZQ@ CqAk+NQCW)7Dkgb@i&02ifu!2TMX*d 0TGK(j(Kq";
byte[] hardPasswordByte = hardPassword.getBytes(); 

PdfReader reader = new PdfReader("C:/TEMP/zip/Original_document-9.pdf");

FileOutputStream out = new FileOutputStream(f);

PdfStamper stamp = new PdfStamper(reader, out);

//first argument is the user password. If set to something it asks for password when opening file, not wanted.
stamp.setEncryption(null, hardPasswordByte, PdfWriter.ALLOW_PRINTING, true);

//do stuff on the stamper, save file.

Кто-нибудь знает лучший способ защиты PDF-документов от кода Java?

5
задан IceGras 12 July 2011 в 13:24
поделиться