Требование состоит в том, чтобы обрабатывать пакет PDF по одному за раз и при успешном шифровании каждого из них с помощью пароля пользователя.Как читать PDF-файлы, созданные с неизвестным случайным паролем владельца?
Однако эти PDF-файлы были зашифрованы ранее случайным образом созданным динамическим паролем владельца (не знаю никому), чтобы предотвратить любые изменения.
Я использую iText для шифрования, как показано ниже:
byte[] userPass = "user".getBytes();
byte[] ownerPass = "owner".getBytes();
PdfReader reader = new PdfReader("Misc.pdf");
PdfStamper stamper = new PdfStamper(reader,
new FileOutputStream("Processed_Encrypted.pdf"));
stamper.setEncryption(userPass, ownerPass,
PdfWriter.ALLOW_PRINTING, PdfWriter.ENCRYPTION_AES_128
| PdfWriter.DO_NOT_ENCRYPT_METADATA);
stamper.close();
reader.close();
Но этот код бросает com.itextpdf.text.exceptions.BadPasswordException: PdfReader not opened with owner password
Может кто-нибудь руководство о том, как устранить эту ошибку/перепускной пароль владельца?
Здесь я хотел бы пояснить, что мы юридически владеем этими PDF-файлами, поэтому преступление/хакинг не совершается.
P.S.: Решение не ограничивается iText, может использовать любую другую библиотеку Java (Бесплатно или лицензировать).
спасибо, что сработал :) –
Спасибо, Бруно это помогло мне – OMG
спасибо. Работает нормально. – swemon