プロパティを設定する
続いて、PDFにプロパティを設定します。プロパティは文書情報を示す上で大切な内容です。印刷する場合には不要な情報とも言えますが、デジタル情報ならではの特徴とも言えるものです。
PDFでプロパティを設定するには、以下の2つのメソッドを使います。
- bool HaruDoc::setInfoAttr ( int $type , string $info )
- bool HaruDoc::setInfoDateAttr ( int $type , int $year , int $month , int $day , int $hour , int $min , int $sec , string $ind , int $off_hour , int $off_min )
以下のように、PDFのプロパティダイアログで表示されるプロパティを設定します。最初に日本語でプロパティを表示する場合には、(1)のようにエンコードを指定する必要があります。
![実行結果](http://cz-cdn.shoeisha.jp/static/images/article/7218/7218_03.gif)
$haru_doc->setCurrentEncoder("90msp-RKSJ-H"); // <---- (1) $haru_doc->setInfoAttr(HaruDoc::INFO_TITLE,encode("タイトル")); $haru_doc->setInfoAttr(HaruDoc::INFO_AUTHOR,encode("作成者")); $haru_doc->setInfoAttr(HaruDoc::INFO_SUBJECT,encode("サブジェクト")); $haru_doc->setInfoAttr(HaruDoc::INFO_KEYWORDS,encode("キーワード1,キーワード2")); $t = time(); $haru_doc->setInfoDateAttr(HaruDoc::INFO_CREATION_DATE, date('Y',$t),date('n',$t),date('j',$t), date('H',$t),date('i',$t),date('s',$t), "",null,null); $haru_doc->setInfoDateAttr(HaruDoc::INFO_MOD_DATE, date('Y',$t),date('n',$t),date('j',$t), date('H',$t),date('i',$t),date('s',$t), "",null,null); ); $haru_doc->setInfoAttr(HaruDoc::INFO_CREATOR,"application");
セキュリティ設定をする
パスワードを設定する
出力するPDFにパスワードを設定します。例えば、個人ごとに機密性が高い帳票を作成する必要がある場合には、この機能は大変有効です。また、変更を許可しない場合でも、パスワード設定を行うことで実現が可能です。
$haru_doc->setPassword('ABC','DEF'); // <---- (1) // 5(40bit)から16(128bit)に設定します $haru_doc->setEncryptionMode(HaruDoc::ENCRYPT_R3,16); // <---- (2)
パスワードには、「所有者のパスワード」と「ユーザのパスワード」があり、(1)では「所有者のパスワード」に"ABC"を、「ユーザのパスワード」に"DEF"を設定しております。
主に「所有者のパスワード」はAcrobatを使って編集する人のためのパスワードであり、「ユーザのパスワード」はリーダーアプリを使って参照する人のためのパスワードです。
通常は「ユーザのパスワード」が主に利用するパスワードになります。
また、暗号化レベルの設定は(2)のように行えます。設定できる暗号強度は40ビットから128ビットまでとなっており、5から16までの数値を使って暗号強度を設定できます。
(1)のパスワード設定を行ってから、(2)の処理を行わないと設定が有効になりません。
パーミッションを設定する
次に、PDFのパーミッションを設定します。パーミッションとは、主にコピーを許可する設定や、印刷を許可する設定を指定します。
$haru_doc->setPassword('ABC',''); // <---- (1) $mode = HaruDoc::ENABLE_READ | HaruDoc::ENABLE_PRINT; // <---- (2) $haru_doc->setPermission($mode); // <---- (3)
今回は、(1)で「所有者のパスワード」のみを設定しています。これで、参照のみを行うユーザにはパスワードの入力は求められません。また、パスワードの設定を行わないと、パーミッションの設定は行えません。
(2)、(3)で、許可する設定を指定します。このように、複数の指定する場合にはフラグを組み合わせた値で設定が可能です。
通常の利用では、下記の権限がよく使われます。
- HaruDoc::ENABLE_READ (参照する権限)
- HaruDoc::ENABLE_PRINT (印刷する権限)
- HaruDoc::ENABLE_COPY (テキストや画像をコピーする権限)
例えば、テキストや画像のコピーを許可しない場合には、(2)のように指定を行わなければコピーが許可されません。