PHPでPDFファイルを作成するには?

文:Lana Kovacevic(Builder AU) 翻訳校正:村上雅章・野崎裕子
2008-02-27 08:00:00
  • このエントリーをはてなブックマークに追加

 PHPには動的にPDFファイルを作成する機能が搭載されているため、さまざまな作業において重宝するはずだ。そしてFPDFは、PDFファイルの作成や操作を可能にする数多くの機能を持ったフリーのPHPクラスだ。

PDFlib

 PHPのAPIには、PDFファイルを取り扱うための機能が数多く用意されており、それらはPDFlibというライブラリとともに使用することを念頭に置いて設計されている。このPDFlibは拡張可能となっているものの、商業利用の際には無償で利用することができない。また、PDFlib Liteという、個人利用の許されている無償版もあるものの、その機能には制限がある。つまりPDFlibライブラリのすべての機能を使用するには、高額なライセンス料を支払う必要があるのだ。

なぜFPDFを使用するのか?

 PHPからPDFファイルを作成するもう1つの方法は、FPDFを使用するというものだ。FPDFはPDFファイルの作成や操作を可能にする数多くの機能を持ったフリーのPHPクラスである。ここで重要なのは、FPDFが「フリー」であるという点だ。つまり、このクラスのダウンロードと使用は無償(free)であり、あなたのニーズに合わせてカスタマイズすることも自由(free)に行えるのだ。さらに、フリーであることに加え、PDFlibよりも簡単に使用することができる。PDFlibはPHPパッケージのエクステンションとしてインストールする必要があるのに対して、FPDFはPHPスクリプト内でインクルードするだけで使用できるようになっているのだ。

PDFファイルの作成

 まず始めに、FPDFクラスをFPDFのウェブサイトからダウンロードし、以下のようにしてそれをPHPスクリプト内でインクルードする。

require('fpdf.php');

 では、FPDFを使って単純なPDFファイルを作成する方法を紹介していくことにしよう。

 まず、以下のようにして新たなFPDFオブジェクトを生成する。

$pdf= new FPDF();

 FPDFのコンストラクタは以下のパラメータを受け取ることができる。

  • String orientation (PまたはL) -- ページの向き(ポートレートかランドスケープか)
  • String unit (pt, mm, cm, inのいずれか) -- 長さの単位(ポイント、ミリメートル、センチメートル、インチのいずれか)
  • Mixed format (A3, A4, A5, Letter, Legalのいずれか) -- ページのフォーマット(A3、A4、A5、レター、リーガルのいずれか)

 次に、以下のようにドキュメントの属性を設定する。

$pdf->SetAuthor('Lana Kovacevic');
$pdf->SetTitle('FPDF tutorial');

 今回の例では、ドキュメント全体で同じフォントを用いるため、ページの作成前に以下のようにしてフォントを設定する。

$pdf->SetFont('Helvetica','B',20);
$pdf->SetTextColor(50,60,100);

 SetFont関数は3つのパラメータ、すなわちフォントファミリとスタイル、サイズを受け取る。ここでは20ポイントのHelveticaフォントをBold(太字)指定している。なお、これらの設定はドキュメントの表題に適用される。フォントは、通常のフォントファミリ中から指定することも、AddFont()関数を使って別途指定することもできる。

 また、SetTextColor()によって、ドキュメント全体で使用するフォントの色を設定している。色はRGB値またはグレイスケールで表現することができる。なお、ここではRGB値を使用している。

  • コメント(2件)
#1 anonymous   2009-06-11 10:11:42
サンプルソース非常にありがたいです。
出来れば結果として出力されたPDFもしくはPDFのイメージ画像が見たいです。
#2 hat   2012-03-22 10:55:05
$pdf->SetDisplayMode(real,'default');

第一引数は'real'の文字列でないとエラーになりました。
  • 新着記事
  • 特集
  • ブログ