作成日: 2022/05/25 最終更新日: 2022/05/25
文書種別
使用方法
詳細
PDFを開くときに使用したパスワード(Loadメソッドの第2引数に渡したパスワード)の権限はSecurity.DecryptHandlerのAccessTypeプロパティから判別できます。
◆サンプルコード
using GrapeCity.Documents.Pdf; using GrapeCity.Documents.Pdf.Security; using (var fs = new FileStream("sample.pdf", FileMode.Open, FileAccess.Read)) { var doc = new GcPdfDocument(); doc.Load(fs, "password"); var dh = doc.Security.DecryptHandler as StandardSecurityHandler; if (dh is not null){ Console.WriteLine(dh.AccessType); }else{ Console.WriteLine("DecryptHandler is null"); } }
ただし、この方法で判別した「権限」は「パスワードがユーザーとオーナーのどちらであるか」と必ずしも一致しないことにご留意ください。
具体的には、以下の結果になります。
ユーザーで開く | オーナーで開く | パスワードなしで開く | |
---|---|---|---|
ユーザーパスワードのみ 設定されているPDF |
Owner | - | × |
オーナーパスワードのみ 設定されているPDF |
- | Owner | User |
両方のパスワードが 設定されているPDF |
User | Owner | × |
パスワードが 設定されていないPDF |
- | - | DecryptHandler is null |