作成日: 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 |