中学受験専門塾・優学習会 すぐるホームページ > きしも.com > インターネット, コンピュータ > FPDF

FPDF

 自宅サーバーの調子が思わしくなく,基礎500題の成績処理によるくり返し学習がストップしてします。
 この状態を打破するために,FPDFを勉強することにしました。
 FPDFは,PHPスクリプトからPDFファイルを生成できるライブラリです。
 いまや殆どのレンタルサーバーで対応しているPHPによって,PDFファイルを無料で作成できるようになるのですから,これはすごいことです。
 このページでは,FPDFの使い方をまとめた備忘録です。
 インストールのしかたは,FPDFを使ったPDF作成FPDFのインストールと,MBFPDFの適用を参考にしてください。
 まず,PHPスクリプトのサンプルを挙げておきます。

<?php
require('mbfpdf.php');

$pdf = new MBFPDF();
$pdf->AddMBFont(GOTHIC ,'SJIS');
$pdf->AddPage();
$pdf->SetFont(GOTHIC,'',20);
$pdf->Write(10,"ここに文を書きます。");

$pdf->Output();
?>

 意味を簡単に説明します。
require('mbfpdf.php')基本モジュールを読み込みます。環境によってはパスが必要な場合があります。
$pdf = new MBFPDF()MBFPDFクラスのオブジェクトを作成します。
 第1パラメータ ページ方向。P(縦長)か,L(横長)。デフォルトはP。
 第2パラメータ 寸法の種類。pt(ポイント))か,mm(ミリ)か,cm(センチ)か,in(インチ)。デフォルトはmm。
 第3パラメータ 用紙サイズ。A3, A4, A5, Letter, Legalのいずれか。デフォルトはA4。

※単位について…1インチは2.54cmです。1ポイントは1/72インチです。10ポイントは,約3.53mmになります。
※A4サイズとは…210mm×297mmです。

$pdf->AddMBFont(GOTHIC ,'SJIS')FPDFでは,標準で使用できるフォントは Courier, Helvetica, Arial, Times, Symbol, ZapDingbats です。
標準で使用できるフォント以外を使用したいときには,あらかじめAddMBFont命令で登録しておきます。
日本語フォントは標準フォントではないので,日本語を利用したいときには,必ずこの命令のお世話になるわけです。
 第1パラメータ フォントファミリー。KOZMIN か,GOTHIC か,PGOTHIC か,UIGOTHIC か,MINCHO か,PMINCHO。
 第2パラメータ 文字コード。SJIS か,EUC-JP。
$pdf->AddPage()ページを追加します。
$pdf->SetFont(GOTHIC,'',20)使用するフォントを設定します。
 第1パラメータ フォントファミリー。標準フォント名か,あるいはAddMBFontであらかじめ登録しておいたフォント名。
 第2パラメータ フォントスタイル。空文字で標準,B が太字,I が斜体,U が下線。
 第3パラメータ フォントサイズ。デフォルトは12ポイントです。省略すると,前の設定を引き継ぎます。

 もし,フォントサイズのみ変更したい場合は,SetFontSize(フォントサイズ) を使用します。

$pdf->Write(10,"ここに文を書きます。")文を出力します。
 第1パラメータ 行の高さ。高さの単位はMBFPDFの第2パラメータで設定したものです。
 第2パラメータ 出力する文字列。右端に達した場合,あるいは \n があった場合には改行されます。
$pdf->Output()ブラウザに出力します。

 他に文字修飾やマージンなどに関して,次のような命令があります。
Ln()改行します。
 第1パラメータ 行の高さ。省略すると,直前の行の高さを引き継ぎます。
SetTextColor() 描画色を指定します。パラメータには,0 から 255 までの値を指定します。
 第1パラメータのみ指定した場合は,グレーのレベルになります。
 第1〜第3パラメータを指定した場合には,赤・緑・青の色要素になります。
SetMargins()左マージン,上マージン,右マージンを設定します。
 もし右マージンを省略すると,左マージンと同じ値になります。
 デフォルトは,すべて1cmです。
 左マージンのみ,上マージンのみ,右マージンのみを設定したい場合は,SetLeftMargin(), SetTopMargin(), SetRightMargin()命令を使用します。

 FPDFでは,HTMLでのtableのような表の概念はなく,あくまでもセルを組み合わせていって表を作成することになります。
Cell()セルを表示します。ただし,セル内での改行はできません。
 第1パラメータ セルの幅を指定します。0なら幅は右端までになります。
 第2パラメータ セルの高さを指定します。
 第3パラメータ セルの中に表示する文字列を指定します。
 第4パラメータ 境界線を引くか引かないかを指定します。0 なら境界線を引かない,1 なら境界線を引きます。
           1の代わりに"L", "T", "R", "B"を組み合わせて指定すると,左,上,右,下を区別して境界線を引きます。
 第5パラメータ 命令終了後のカレントポジションを設定します。
           0 ならすぐ右,1 なら左端に戻って下,2 ならすぐ下になります。デフォルトは 0 です。
 第6パラメータ 文字列の水平位置を指定します。'L'なら左寄せ,'C'なら中央,'R'なら右寄せです。デフォルトは'L'です。

 次のような数値を取得,あるいは設定することができます。
GetX()現在の X 座標を返します。
$x = $pdf->GetX() のように書きます。
GetY()現在の Y 座標を返します。
$y = $pdf->GetY() のように書きます。
SetXY()X 座標,Y 座標を設定します。
もしマイナスの値が設定された場合,右端,下端からの座標になります。
X 座標,Y 座標のみを設定したい場合は,SetX(), SetY() 命令を使用します。
PageNo()現在のページ番号を返します。最初のページは 1 となります。

 グラフィックについては,次のような命令があります。
Image()画像を出力します。
 パラメータは,第1パラメータにファイル名を指定。ただし,可能なのは JPEG と PNG のみです。
 第2〜第5パラメータは,左上の角の x 座標,y 座標,画像の幅,画像の高さです。

 画像の幅,あるいは高さのみを指定した場合,他方は縦横比率を変えないように調整します。
 両方とも指定しなかった場合は,72dpiとなるように調整します。

Line()直線を描画します。
 パラメータは,始点の x 座標,始点の y 座標,終点の x 座標,終点の y 座標 の順です。
Rect()長方形を描画します。
 パラメータは,左上の角の x 座標,y 座標,幅,高さの順です。

 さらに5番目のパラメータで,塗りつぶしについて指定できます。
 "D"なら境界線,"F"なら内部の塗りつぶしです。"DF"ならその両方です。デフォルトは"D"です。

SetDrawColor()直線,長方形の枠,表の枠の描画色を指定します。
パラメータの指定方法は,SetTextColor()と同じです。
SetFillColor()長方形の塗りつぶし,表の背景の描画色を指定します。
SetLineWidth()線の太さを指定します。デフォルトは 0.2mm です。


きしも.com