今回のサンプル(PHP)の中心は、EncodePermissionsメソッドになりますが、同メソッドについての詳細は、Quick PDF Libraryの体験版もしくは製品版のマニュアル(PDF)にも記載されていますが、こちらにも記載されています。
<?php error_reporting(E_ERROR | E_WARNING | E_PARSE | E_NOTICE); $PDFLibrary= new COM("DebenuPDFLibraryAX0912.PDFLibrary"); if(!$PDFLibrary){ echo "COM error"; exit; } if($PDFLibrary->UnlockKey("ライセンスキー") == 1){ echo "License validation successful!"; echo "なお、需要がどれほどあるかは疑問ですが、日本語のパスワードの設定はできません。これは、Acrobat®でもできませんから、特に問題はないでしょう。
"; echo "Valid license key: "; echo $PDFLibrary->LicenseInfo; echo "
"; }else{ echo "License validation failed!"; echo "
"; exit; } $filename="test.pdf"; if(!file_exists($filename)){ print $filename . " does not exist."; exit; } //Quick PDF Libraryで扱う場合、ファイルのパスはフルパスに $filename = realpath($filename); $result = $PDFLibrary->LoadFromFile($filename,""); if(!$result){ echo "load error $filename"; exit; } //印刷を許可しない $CanPrint = 0; //テキストや画像のコピーを許可しない $CanCopy = 0; //文書の変更を許可しない $CanChange = 0; //注釈の追加を許可しない $CanAddNotes = 0; //フォームフィールドへの書き込みを許可しない $CanFillFields = 0; //スクリーンリーダーデバイスのテキストアクセスを許可しない $CanCopyAccess = 0; //文書のアセンブリを許可しない $CanAssemble = 0; //印刷を許可する場合、高解像度での印刷を許可するかどうか //低解像度での印刷を許可する場合は、$CanPrint=1;にした上で$CanPrintFullを //0にします。 $CanPrintFull = 0; //パーミッションの設定 $permissions = $PDFLibrary->EncodePermissions($CanPrint, $CanCopy, $CanChange,$CanAddNotes, $CanFillFields,$CanCopyAccess, $CanAssemble,$CanPrintFull); if(!$permissions){ echo "can not set permissions. $filename
"; exit; } //オーナーパスワード $owner_password="ABC123PDF"; //オープンパスワード(ユーザーパスワード) $open_password=""; //暗号化の強度 $strength=3 → 256-bit AES (Acrobat 9 以降で表示可能) $strength = 3; $result = $PDFLibrary->Encrypt($owner_password,$open_password,$strength,$permissions); if(!$result){ echo "can not ecnrypt $filename
"; exit; } //Quick PDF Libraryでは常にフルパスに変換して処理 $filename2 = str_replace(".pdf","_encrypted.pdf",$filename); //保存します。 $result=$PDFLibrary->SaveToFile($filename2); if(!$result){ echo "can not save.$filename2
"; exit; } $PDFLibrary = null; $filename3=basename($filename2); echo "success
"; echo "$filename3"; ?>