必要条件は、一度に1つのPDFバッチを処理し、成功した場合は、それぞれをユーザーパスワードで暗号化することです。ランダムなオーナーパスワードが不明なPDFを読むには?
ただし、これらのPDFは、ランダムに生成された動的所有者パスワード(いずれも知らない)で編集しないように事前に暗号化されています。
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
をスロー:以下に示すように
私は、暗号化にiTextを使うのか?
ここでは、これらのPDFを法的に所有していることを明確にしたいので、犯罪/ハッキングは行われていません。
P.S.:ソリューションはiTextに限定されず、その他のJavaライブラリ(は無料またはライセンス)も使用できます。
ありがとうございました:) –
ありがとうブルーノそれは私を助けました – OMG
ありがとう。うまく動作します。 – swemon