DOBON.NET DOBON.NETプログラミング掲示板過去ログ

iTextでユーザーパスワードのみ指定したい

環境/言語:[VB.NET VisualStudio2005]
分類:[.NET]

先日VB.NETからPDFのセキュリティを付与する処理について質問をさせていただき、
iText.NETで対応することにしましたのですが、
ユーザーパスワードだけをかける(オーナーパスワードはかけない)ということがなかなかできません。
指定したくなければNULLを指定するとの情報がありましたが、
VBではNothingを指定してもダメでした。

PdfEncryptor.encrypt( _
reader, _
New FileOutputStream(pdf_file_path_out), _
System.Text.Encoding.GetEncoding("Shift_JIS").GetBytes("hogehoge"), _
System.Text.Encoding.GetEncoding("Shift_JIS").GetBytes(Nothing), _
permission, _
True)

あるいは

PdfEncryptor.encrypt( _
reader, _
New FileOutputStream(pdf_file_path_out), _
True, _
user_password, _
owner_password, _
permission)


※readerは入力ファイル
permissionは許可処理の情報(Integer型)

ユーザーパスワードは""で指定するとパスがかからないのですが、
オーナーパスワードは""で指定するとパスがかかってしまい、
しかもPDFのセキュリティ解除認証のダイアログで空文字を入力してもエラーとなり
セキュリティ解除ができません。

ユーザーパスワードだけかけるということは
iTextでは無理なのでしょうか?

ご存知の方がいらっしゃいましたらご教示お願いいたします。
自己レスです。
いろいろ調べてみたところ、
iText.NETでは権限ユーザーパスワードを指定しないということができないようです。

VBからの呼び出しだけでなくJavaからの呼び出しも確認しましたが、
こちらでもパスワードのnull指定は無理でした。
また、iTextの元になったConcatPDFでも
権限ユーザーパスワードを指定しないという動作が不可能なのを確認済み。

なので、iTextは諦めてpdftkをVBからキックする方式に変えて実現させました。
お騒がせしました。
解決済み!

DOBON.NET | プログラミング道 | プログラミング掲示板