2017-03-20 5 views
1

それは私がiTextのライブラリに慣れていないんだけど、私は、ドキュメントを保護するために以下のコードを持って、暗号化の設定のための「PdfWriter.ALLOW_PRINTING」を使用していたことがありますPdfEncryptionSettings APIはどのようにItextで動作しますか?

using (Stream output = new FileStream(_outputFile, FileMode.Create, FileAccess.Write, FileShare.None)) 
{ 
     PdfEncryptor.Encrypt(_pdfReader, output, true, docKey, docKey, PdfWriter.ALLOW_PRINTING); 
     output.Close(); 
} 

それが生成された出力ファイルパスワード保護を持っていますが、私がそれを開いた後もpdfを編集することができ、ブックマークを変更したりコメントを追加したりして変更を保存することができます。

紛失している可能性がありますか、ここで許可設定をどのように理解する必要がありますか?私のiTextバージョンは5.5.10.0です

+0

このコンテキストでは、PdfWriterをインスタンス化できますか?同様のパラメータを持つメソッドPdfWriter.SetEncryptionがあります。うまく動作しますか(v4.1.6)どのような編集ツールを使用していますか? – COeDev

+0

インスピレーションを受けてくれてありがとう、実際には上記のコードもうまくいきます。オーナーのパスワードはユーザーのパスワードと同じです。 @COeDev – strisunshine

答えて

2

上記のコードの問題は、同じユーザーパスワードと所有者パスワードが使用されています。それらを別のものにして、ユーザーパスワードで文書を開くと、問題が解決しました

関連する問題