XIV. ClibPDF 関数
導入
ClibPDF により、PDF ドキュメントを PHP により作成可能となります。 ClibPDF の機能と API は、PDFlib に 似ています。この文書とともに、よりライブラリの詳細を説明している ClibPDF のマニュアルも読んでください。
元の ClibPDF および PHP モジュールの多くの関数名は、 PDFlib と同様に同じです。 cpdf_open() 以外の全ての関数は、最初の パラメータとしてドキュメントのハンドルをとります。
現在、このハンドルは内部で使用されていません。これは、 ClibPDF が複数の PDF ドキュメントを同時に作成する機能をサポートして いないためです。実際、これを試みても、結果は期待できません。 マルチスレッド環境での結果を予測することはできません。ClibPDF の 作者によれば、これは将来のリリースで変更されます (これを書いている時点での最新版は 1.10 です)。 もしこの機能が必要なら、pdflib モジュールを使用してください。
ClipPDF (および PDFlib) が優れているのは、 テンポラリファイルを使用せずに pdf ドキュメントを 完全にメモリ上で作成することが可能であることです。 あらかじめ定義された単位長さの座標を渡す機能も有しています (この機能は、PDFlib 関数の pdf_translate() で模擬することも可能です)。
その他の ClibPDF の機能で優れているのは、新規のページのオープン後で あっても任意のページをいつでも修正可能であるという点です。関数 cpdf_set_current_page() により、カレントの ページを離れて、他のページを修正できるようになります。
多くの機能の使用法は非常に容易です。最も困難なのは、おそらく新規に PDF ドキュメントを作成する場合でしょう。次の例が導入の手助けと なるはずです。この例では、ページを 1 つ有するドキュメントを 作成します。このページは、30pt のアウトラインフォントでテキスト "Times-Roman" により書かれます。テキストには下線が引かれます。
注意: この拡張モジュールは PECL レポジトリに移動 されており、以下のバージョン以降 PHP にバンドルされなくなっています。 PHP 5.1.0.
注意: 外部の PDF ライブラリを使用しない別のフリーな PDF 作成ツールに ついては、関連する FAQ を参照ください。
要件
ClibPDF 関数を使用するには、ClibPDF パッケージをインストールする 必要があります。ClibPDF は、 FastIO からダウンロード可能ですが、商用で使用する場合には ライセンスを購入する必要があります。 PHP では、cpdflib >= 2 を使用する必要があります。
インストール手順
この関数が動作するには、 --with-cpdflib[=DIR] を指定して PHP をコンパイルする必要があります。DIR は cpdflib をインストールする ディレクトリで、/usr がデフォルトです。 ClibPDF が使用する jpeg ライブラリと tiff ライブラリの場所を指定することも できます。これを行うには、configure にオプション --with-jpeg-dir[=DIR] および --with-tiff-dir[=DIR] を 指定してください。
実行時設定
設定ディレクティブは定義されていません。
定義済み定数
以下の定数が定義されています。 この関数の拡張モジュールが PHP 組み込みでコンパイルされているか、 実行時に動的にロードされている場合のみ使用可能です。
例
pdflib の配布ファイルには、アナログクロックを有する複数ページを 作成するような複雑な例が含まれています。以下に ClipPDF 拡張を使用して この例を PHP に変換したものを示します。
例 2. pdflib 2.0 配布ファイルからの pdfclock の例
|
- 目次
- cpdf_add_annotation -- 注記を追加する
- cpdf_add_outline -- 現在のページにブックマークを追加する
- cpdf_arc -- 円弧を描く
- cpdf_begin_text -- テキストセクションを開始する
- cpdf_circle -- 円を描く
- cpdf_clip -- カレントのパスを切り取る
- cpdf_close -- pdf ドキュメントを閉じる
- cpdf_closepath_fill_stroke -- パスを閉じ、塗りつぶし、描く
- cpdf_closepath_stroke -- パスを閉じ、線をパスに沿って描く
- cpdf_closepath -- パスを閉じる
- cpdf_continue_text -- 次の行にテキストを出力する
- cpdf_curveto -- 曲線を描く
- cpdf_end_text -- テキストセクションを終了する
- cpdf_fill_stroke -- カレントのパスを塗りつぶし、描く
- cpdf_fill -- カレントのパスを塗りつぶす
- cpdf_finalize_page -- ページを終了する
- cpdf_finalize -- ドキュメントを終了する
- cpdf_global_set_document_limits -- PDF ドキュメントの制限を設定する
- cpdf_import_jpeg -- JPEG 画像をオープンする
- cpdf_lineto -- 線を描く
- cpdf_moveto -- カレントのポイントを設定する
- cpdf_newpath -- 新規パスを開始する
- cpdf_open -- 新規 pdf ドキュメントをオープンする
- cpdf_output_buffer -- pdf ドキュメントをメモリバッファに出力する
- cpdf_page_init -- 新規ページを開始する
- cpdf_place_inline_image -- 画像をページに置く
- cpdf_rect -- 矩形を描く
- cpdf_restore -- 以前に保存した環境を回復させる
- cpdf_rlineto -- 線を描く
- cpdf_rmoveto -- カレントのポイントを設定する
- cpdf_rotate_text -- テキスト回転角を設定する
- cpdf_rotate -- 回転を設定する
- cpdf_save_to_file -- pdf ドキュメントをファイルに書きこむ
- cpdf_save -- 現在の環境を保存する
- cpdf_scale -- 倍率を設定する
- cpdf_set_action_url -- ハイパーリンクを設定する
- cpdf_set_char_spacing -- 文字間隔を設定する
- cpdf_set_creator -- pdf ドキュメントの creator フィールドを設定する
- cpdf_set_current_page -- カレントページを設定する
- cpdf_set_font_directories -- 外部フォントを使用した際、検索するディレクトリを設定する
- cpdf_set_font_map_file -- 外部フォントを使用している場合、フォント名をファイル名変換マップ に設定する
- cpdf_set_font -- フォントの種類とサイズを選択する
- cpdf_set_horiz_scaling -- テキストの水平方向の倍率を設定する
- cpdf_set_keywords -- pdf ドキュメントの keywords フィールドを設定する
- cpdf_set_leading -- テキスト行の間隔を設定する
- cpdf_set_page_animation -- ページ間の移行時間を設定する
- cpdf_set_subject -- pdf ドキュメントの subject フィールドを設定する
- cpdf_set_text_matrix -- テキスト行列を設定する
- cpdf_set_text_pos -- テキスト位置を設定する
- cpdf_set_text_rendering -- テキストのレンダリング法を定義する
- cpdf_set_text_rise -- テキストの高さを設定する
- cpdf_set_title -- pdf ドキュメントの title フィールドを設定する
- cpdf_set_viewer_preferences -- ドキュメントのビューワ上での表示方法を設定する
- cpdf_set_word_spacing -- 単語間の間隔を設定する
- cpdf_setdash -- 破線のパターンを設定する
- cpdf_setflat -- flatness を設定する
- cpdf_setgray_fill -- 塗りつぶし色をグレー値に設定する
- cpdf_setgray_stroke -- 描画色をグレー値に設定する
- cpdf_setgray -- 描画、塗りつぶし色をグレー値に設定する
- cpdf_setlinecap -- linecap パラメータを設定する
- cpdf_setlinejoin -- linejoin パラメータを設定するparameter
- cpdf_setlinewidth -- 線幅を設定する
- cpdf_setmiterlimit -- miter のリミットを設定する
- cpdf_setrgbcolor_fill -- 塗りつぶし色を RGB カラー値に設定する
- cpdf_setrgbcolor_stroke -- 描画色を RGB カラー値に設定する
- cpdf_setrgbcolor -- 描画色および塗りつぶし色をRGB値に設定??
- cpdf_show_xy -- 指定位置にテキストを出力する
- cpdf_show -- 現在位置にテキストを出力する
- cpdf_stringwidth -- カレントフォントのテキストの幅を返す
- cpdf_stroke -- パスに沿って線を描く
- cpdf_text -- パラメータを元にテキストを出力する
- cpdf_translate -- 座標系の原点を設定する
