phase4 : PDFファイルのプロパティ設定・パスワード設定の方法
セキュリティやプロパティなどPDFファイル全体に関する設定について紹介します。 重要な文書を生成するときには、PDFファイルにパスワードを設定することができます。また、ユーザーにコピーさせたくなかったり、印刷させたくないといったアクセスを制限を行うこともできます。 ここでは、PDFファイルの印刷を許可し、PDFファイル内の文字のコピー・編集を不可とするアクセス制限を設定します。
実行結果:tutorial_4.pdf(PDF表示時に要求されるパスワードは「pass」です。)
var doc = new PdfDocument();
doc.AddPage("page1");
var content = new AbstractPdfContentItem[1];
content[0] = new Line(20, 400, 200, 500);
doc.AddContent("page1", content);
//PDFファイルのプロパティを設定する
doc.SetDocInfo("タイトル", "サブタイトル", "作成者");
//PDFファイルを開くときのパスワード設定する
doc.SetOpenPassword("pass");
//PDFファイル保護する(印刷を許可し、PDFファイル内の文字のコピー・編集を不可とする)
doc.SetPermissionControlPassword("owner", UserPermissions.AllowPrint);
File.WriteAllBytes("tutorial_4.pdf", doc.GetBinary());
PDFファイルのプロパティを設定する
PDFの文書には、誰がどのような目的で作成したのかといった「メタ情報」を設定することができます。 「メタ情報」を設定するためには、DocumentクラスのSetDocInfoメソッドを呼び出します。引数 | 説明 |
---|---|
title | タイトルを設定する |
subTitle | サブタイトルを設定する |
author | 作成者を設定する |
//PDFファイルのプロパティを設定する
doc.SetDocInfo("タイトル", "サブタイトル", "作成者");
PDFファイルを開くときのパスワード設定する
PDFファイルを開くときのパスワードを要求するためには、DocumentクラスのSetOpenPasswordメソッドを呼び出します。 引数で指定する文字列がパスワードになります。 ここでは英数小文字4文字で「pass」と指定しています。
//PDFファイルを開くときのパスワード設定する
doc.SetOpenPassword("pass");
PDFファイル保護する
PDFファイルへのアクセス制限を行うためには、DocumentクラスのSetPermissionControlPasswordメソッドを呼び出します。 SetPermissionControlPasswordメソッドを呼び出すときに、引数に、「パスワード、アクセス権限設定」という順で設定します。 また、設定したセキュリティの内容は、プロパティの[セキュリティ]タブから確認することができます。 ここでは、PDFファイルの印刷を許可し、PDFファイル内の文字のコピー・編集を不可とする「AllowPrint」アクセス制限を設定します。アクセス権限で許可する項目はUserPermissions列挙子を「|」でつなぐことで定義できます。
列挙子 | 説明 |
---|---|
DenyAll | 制限可能な全ての権限を拒否する(文書の閲覧は可能) |
AllowPrint | 印刷を許可する |
AllowModify | 編集を許可する |
AllowCopyTextAndImage | 文字列と画像のコピーを許可する |
AllowModify | 文字列と画像のコピーを許可する |
AllowAll | すべてを許可する |
//PDFファイル保護する(印刷を許可し、PDFファイル内の文字のコピー・編集を不可とする)
doc.SetPermissionControlPassword("owner", UserPermissions.AllowPrint);