使えるシステムから使いたいシステムへ、有限会社アテージ

PHPでPDFを生成する方法はいろいろありますが、実験的なモジュールではありますが、PHPのマニュアルにも掲載のあるlibHaruを使ったものを使ってみました。

環境は、Ubuntu12.04、PHP5.3です。

インストール

libharuを入れて、peclでインストールできます。

PHPにharu.soを読み込む設定を追加してapacheを再起動します。

/etc/php5/apache2/conf.d/haru.ini

phpinfo()の出力にharuが追加されていればOKです。

日本語文字出力にIPAフォントを使いますので、インストールしていない場合は、インストールします。

図形の描画

ドキュメントの左下が座標の原点となり、長さの単位はDTPポイントを使います。A4横の場合、幅は841.89001464844、高さは595.27600097656です。

コード例:ページの背景色をグレーに

コード例:基本的な図形の描画

図形の描画はペン(setRBGStroke, setDash, setLineWidth etc)と刷毛(setRGBFill etc)を選んで、描画(stroke, fillStroke)を行います。

直線はペンを始点に移動して終点を指定して描画します。少し違和感があるのが、円弧の開始角、終了角で、時計の12時の位置を0度として時計回りに角度を測ります。

出力されたPDFはこちら

ベジェ曲線も描画できますが今回は割愛します。

画像の挿入

画像を挿入するときに指定する座標は、画像の左上の位置になります。

コード例:PNG画像の挿入

出力されたPDFはこちら

次回は文字についてみていきます。