×
[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。
今回は TCPDF で出力するPDFファイルに保護設定を行い、PDFリーダーでオープンする時にパスワードを要求する様に処理します。
保護設定を行う為には setProtection メソッドの呼出を TCPDF クラスの生成直後に行います。
ここであらためて、setProtection メソッドの引数について説明を記します。
// setProtectionメソッド public function setProtection($permissions, $user_pass='', $owner_pass=null, $mode=0, $pubkeys=null) // $permissions : 権限の組み合わせ // 権限 array('print', 'modify', 'copy', 'annot-forms', // 'fill-forms', 'extract', 'assemble', 'print-high') // $user_pass : ユーザー・パスワード // $owner_pass : マスタ・パスワード(指定しない場合ランダム値が設定される) // $mode : 暗号化強度([0]:RC4 40 bit, [1]:RC4 128 bit, [2]:AES 128 bit, [3]:AES 256 bit) // $pubkeys : array of recipients containing public-key certificates ('c') and permissions ('p'). // For example: array(array('c' => 'file://../examples/data/cert/tcpdf.crt', // 'p' => array('print'))
以下に簡単な例を記します。
<?php require_once('../tcpdf/tcpdf.php'); // クラス生成 $pdf = new TCPDF(); // 暗号化の設定 $pdf->setProtection(array('print', 'copy'), '0123', null, 0, null); // 日本語フォント $pdf->setFont('kozgopromedium', '', 16); // 新規ページ $pdf->AddPage(); // テキスト出力 $pdf->Write(0, 'PDFファイル暗号化テスト...', '', false, '', true); // PDFファイル出力 $pdf->Output('pdf-encryption-1.pdf', 'D'); ?>
特にソースは難しくはありません。これの実行した時に「pdf-encryption-1.pdf」ファイルが登録されます。
そのファイルを Acrobat Reader で開くと、以下の様にパスワード入力が表示されますので setProtection メソッドで指定した「0123」を入力します。
パスワード入力後に Acrobat Reader に「pdf-encryption-1.pdf」ファイルの内容が表示されます。
キャプションのところに「pdf-encryption-1.pdf(保護)」と「保護」の文字があるのが分かります。
さらに Acrobat Reader の左側のメニューアイコンの1番目の「保護」をクリックします。
保護の設定がなされていることが分かると思います。
PR
コメント