PDFLib を介して作成した PDF をパスワードで保護するオプションをユーザーに提供しようとしています。PLOP に関するドキュメントを読み、マニュアルの付録Aで次の段落に出くわしました(ここにあります):
メモリ ベースの組み合わせメモリ ベースの方法は高速ですが、より多くのメモリが必要です。非常に大きなドキュメントを扱う場合を除き、Web アプリケーションでの動的な PDF 生成と署名に推奨されます。PDFlib を使用してディスク上に PDF ファイルを生成する代わりに、 に空のファイル名を指定してコア内 PDF 生成を使用し、 を使用し
PDF_begin_document( )
て生成された PDF データを含むバッファーの内容を取得しPDF_get_buffer( )
、 を使用して仮想ファイルを作成しますPLOP_create_pvf( )
。仮想ファイルに使用されるファイル名は、PLOP_open_document( )
ディスク上に物理ファイルを作成することなく PLOP/PLOP DS を使用して渡すことができます。PDFlib バッファの内容を複数の部分に分けてフェッチすることはできないことに注意してください。これは、文書全体が単一のバッファで PLOP/PLOP DS に供給されなければならないためです。したがって、電話する必要がありますPDF_get_buffer( )
PDF_end_document( )
との間PDF_delete( )
。すべての PLOP パッケージに含まれている hellosign プログラミング サンプルは、PDFlib を使用して PDF 文書を動的に作成し、それをメモリ内の PLOP に渡してデジタル署名を適用する方法を示しています。
PDF_end_document()
これまでのところ、マニュアルの指示に従って、 の前に呼び出される次のメソッドを記述しました。
function encrypt_pdf($pdf_buffer, $password) {
$optlist = '';
$filename = "temp";
create_pvf($filename, $pdf_buffer, $optlist);
$optlist = "masterpassword=$password";
open_document($filename, $optlist);
$doc = create_file($filename, $optlist);
}
ここから先に進む方法がわかりません。私がやろうとしていることをリモートでさえカバーしていることがわかったドキュメントはありません (これは PLOP API の一般的な使用法だと思いますが)。
この方法を完了し、パスワードで出力 PDF を保護するにはどうすればよいですか?