Cellメソッドによるセル出力

広告

PDFドキュメントへ表を出力する方法を確認します。表そのものを出力するメソッドが用意されているわけではなく、表の1つ1つの要素となるセルを出力することで結果的に表形式で出力が可能です。

セルを出力するにはFPDFクラスで用意されているCellメソッドを使います。

表(セル(長方形))を表示します。オプションで境界線(ボーダー)、背景色、
文字を指定できます。カレントの位置は、表(セル)の左上の角になります。
表示するテキストの位置を指定できます。(左右alignまたはcenter) このメン
バ関数がコールされた後、カレントの位置は右、または次の行へ移動します。
テキストにリンクを張ることも可能です。

パラメータ:
  w  セルの幅
  h  セルの高さ
  txt  表示する文字列
  border  境界線
  ln  メソッド実行後のカレント位置
  align  テキストの位置
  fill  背景色をセットするかどうか
  link  URLかAddLink()メンバ関数によって返された識別子

1番目の引数にセルの幅を指定します。単位はMBFPDFクラスのコンストラクタで指定した寸法の種類です。0を指定すると幅は画面の右端まで広がります。2番目の引数にセルの高さを指定します。単位は幅の場合と同じです。

3番目の引数にセル内に表示する文字列を指定します。デフォルトの値は空文字です。

4番目の引数には境界線を表示するかどうかを指定します。指定できる値は次の通りです。

0: 境界線なし 
1: 境界線あり

数値の「1」を指定するとセルの上下左右に線を引きます。デフォルトの値は「0」です。また線を引く箇所を個別に引く場合は次の文字列を組み合わせて指定します。

L: left     左
T: top      上
R: right    右
B: bottom   下

例えば左と上だけ線を引く場合は「LT」を指定します。

5番目以降の引数については次のページ以降で説明します。

実際には次のように記述します。

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

$pdf = new MBFPDF();
$pdf->AddMBFont(GOTHIC ,'SJIS');
$pdf->AddPage();
$pdf->SetFont(GOTHIC,'',20);

$pdf->Cell(0, 20, 'サンプル文字列', 1);
$pdf->Ln();
$pdf->Cell(60, 20, 'サンプル文字列', 'LT');

$pdf->Output();
?>

サンプルプログラム

では簡単なサンプルで試してみます。

sample1-1.php

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

$pdf=new MBFPDF('P', 'mm', 'A4');
$pdf->AddMBFont(GOTHIC ,'SJIS');
$pdf->AddPage();
$pdf->SetFont(GOTHIC,'',20);

$x = $pdf->GetX();

$pdf->Cell(60, 30, '境界線は上と左、横幅指定', 'LT');
$pdf->SetXY($x, 60);
$pdf->Cell(0, 20, '境界線を上下左右、横幅は右端まで', 1);

$pdf->Output();
?>

上記のファイルをWWWサーバのドキュメントルート以下に設置しブラウザからアクセスすると次のように表示されます。

Cellメソッドによるセル出力

Cellメソッドで指定した幅に、表示する文字列が入りきらなくても自動的に改行はされず幅に関係無く表示されます。また文字列の縦位置はセル内の中央となるようです。

( Written by Tatsuo Ikura )