PHPでPDFファイルを作成するには?
翻訳校正:村上雅章・野崎裕子
PHPで記述されたFPDFというフリーのクラスを用いて、PHPからPDFファイルの作成や操作を行う方法を、簡単なコード例を使って紹介する。
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値を使用している。
- コメント(1件)
- ホワイトペーパー
- 話題のタグ
#1 anonymous
- 2009/06/11 10:11
グーグル、JavaScriptプログラミングツールをリリース
Windowsの歴史 Windows Server 2008編:同じカーネルを持つ「Vista」とは対照的に早くから支持を得たサーバOS
Windowsの歴史 Windows Server 2003 R2編:安定性と先進性の両立目指す「R2」の先駆けとなったOS
モジラ、「Firefox 3.6」の第1ベータ版をリリース
企業ITシステムの企画、構築、運用のイロハ
進むストレージ環境の見直し
大丈夫?あなたの会社のセキュリティ対策
―エン・ジャパン厳選求人☆毎週更新―
【最終警告】パンデミック対策特集
100万円で実現!中小企業の情報漏えい対策
最大32個のセンサーが電力を徹底管理!