2

iText を使用して PDF ファイルを暗号化しています。

stamp.setEncryption(hardPasswordByte, 
                    hardPasswordByte,
                    PdfWriter.ALLOW_PRINTING, 
                    PdfWriter.ENCRYPTION_AES_128 | PdfWriter.DO_NOT_ENCRYPT_METADATA);

を指定していることに注意してくださいPdfWriter.DO_NOT_ENCRYPT_METADATA

しかし、このようにドキュメント メタデータのみを読み取ろうとすると (ドキュメントを復号化せずに):

PdfReader ReadInputPDF = new PdfReader(path);
byte Document_MetaData[] = ReadInputPDF.getMetadata();

「ユーザー パスワードが正しくありません」という例外が発生します。

ドキュメントを復号化せずにメタデータを読み取る方法はありますか?

4

2 に答える 2

1

したがって、mkl が言ったように、PdfWriter.DO_NOT_ENCRYPT_METADATA は、クリア テキストとして読み取ることができる MetaData を設定するだけです。Java を使用すると、単純に InputStream を使用してファイルを読み取り、メタデータを検索できます。

于 2013-10-30T20:10:27.137 に答える