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ファイルのプロパティ この結果は、プロパティの「概要」タブで確認できます。
//PDFファイルのプロパティを設定する
doc.SetDocInfo("タイトル", "サブタイトル", "作成者");

PDFファイルを開くときのパスワード設定する

PDFファイルを開くときのパスワードを要求するためには、DocumentクラスのSetOpenPasswordメソッドを呼び出します。 引数で指定する文字列がパスワードになります。 ここでは英数小文字4文字で「pass」と指定しています。
//PDFファイルを開くときのパスワード設定する
doc.SetOpenPassword("pass");

PDFファイル保護する

PDFファイルへのアクセス制限を行うためには、DocumentクラスのSetPermissionControlPasswordメソッドを呼び出します。 SetPermissionControlPasswordメソッドを呼び出すときに、引数に、「パスワード、アクセス権限設定」という順で設定します。 また、設定したセキュリティの内容は、プロパティの[セキュリティ]タブから確認することができます。 PDFファイルのプロパティ アクセス権限 ここでは、PDFファイルの印刷を許可し、PDFファイル内の文字のコピー・編集を不可とする「AllowPrint」アクセス制限を設定します。

アクセス権限で許可する項目はUserPermissions列挙子を「|」でつなぐことで定義できます。

アクセス権限を許可できる項目(UserPermissions列挙子)
列挙子 説明
DenyAll 制限可能な全ての権限を拒否する(文書の閲覧は可能)
AllowPrint 印刷を許可する
AllowModify 編集を許可する
AllowCopyTextAndImage 文字列と画像のコピーを許可する
AllowModify 文字列と画像のコピーを許可する
AllowAll すべてを許可する
//PDFファイル保護する(印刷を許可し、PDFファイル内の文字のコピー・編集を不可とする)
doc.SetPermissionControlPassword("owner", UserPermissions.AllowPrint);
※ソースコードの色付けにgoogle-code-prettifyを使用しています。
inserted by FC2 system