技術・業務

【TCPDF】Cellの文字列の配置指定について

システムデザイン開発のA.Oです。
今回は前回に続き、Cellの引数について紹介します。

前回の記事はこちら
【TCPDF】Cellの改行機能について

Cellの引数について

Cellは矩形領域(セル)を出力するメソッドです。引数は以下の通りになります。

引数
$width セルの幅 
$height セルの高さ
$text 出力する文字
$border 左右上下の境界線
$ln 改行
$align 文字の整列指定
$fill セルの塗りつぶし
$link 登録するリンク先のURL
$stretch 文字の伸縮
$ignore_min_height セルの高さの最小値調整
$calign 指定されたY座標に対するセルの配置
$valign セル内の文字の垂直方向の配置

今回は$alignの設定による文字の配置やセルの余白の空け方について紹介します。

$alignの設定内容について

まずは、簡単に設定内容を説明します。設定するのは$align(6番目の引数)です。

$align→L(または空白)  左寄せ。
$align→R 右寄せ。
$align→C 中央寄せ。
$align→J 両端揃え。スペースを入れて出力すると均等の文字幅で出力されます。

Cell内の文字の配置を設定することができます。

$pdf->Cell(50, 10, 'あいうえお', '1', '0', 'L', false, '', '');
$pdf->ln(15);
$pdf->Cell(50, 10, 'あいうえお', '1', '0', 'R', false, '', '');
$pdf->ln(15);
$pdf->Cell(50, 10, 'あいうえお', '1', '0', 'C', false, '', '');
$pdf->ln(15);
$pdf->Cell(50, 10, 'あいうえお', '1', '0', 'J', false, '', '');
$pdf->ln(15);
画像1

画像1を見ると、左寄せと両端揃えが同じ結果となります。
両端揃えで出力する場合は、半角のスペースを入れてあげると機能します。

下のコードでは、それぞれの文字の間に半角スペースを入れています。

$pdf->Cell(50, 10, 'あ い う え お', '1', '0', 'L', false, '', '');
$pdf->ln(15);
$pdf->Cell(50, 10, 'あ い う え お', '1', '0', 'J', false, '', '');
$pdf->ln(15);
画像2

画像2の左寄せの場合は、半角スペース分の間がそのまま出力されますが、両端揃えの場合は、幅全体のなかで文字の間隔が均等になります。

$ignore_min_heightの設定内容について

設定するのは$ignore_min_height (10番目の引数)です。

$ignore_min_height→false(または0,空白)  フォントサイズや余白等で高さが変動
$ignore_min_height→true(または1) 高さが変動しない 

初期値はfalseになっています。これをtrueにした場合、cellの設定した高さ(2番目の引数)が最大の高さとなるため、フォントサイズやcellの余白などに関係なく、高さが変動しません。

$pdf->setFontSize(13.4);
$pdf->Cell(50, 2, 'あいうえお', '1', '0', 'L', false, '', '', 0);
$pdf->ln(15);
$pdf->Cell(50, 2, 'あいうえお', '1', '0', 'L', false, '', '', 1);
$pdf->ln(15);
画像3

高さやフォントサイズが同じセルですが、10番目の引数に0をセットした場合は文字のサイズに合わせた高さになっています。
1をセットした場合は、文字のサイズに関わらず、2番目の引数で設定した高さになっています。

まとめ

$align(6番目の引数)を使用すると、右寄せや中央寄せなどが可能になります。
次回は今回の内容と関連するsetCellPaddingsメソッドについて紹介したいと思います。


システムデザイン開発は、北海道の地で35年以上の歴史があります。企業向けのシステム設計~開発・構築~保守運用までワンストップサービスを提供するシステム開発会社です。豊富な開発実績と高い技術力を強みとして、北海道から全国へ幅広い分野・業種へトータルにサポートいたします。

システムの導入やご検討、お困りごとがありましたら、お気軽にご相談・お問合せください。

SDDの受託システムとは?

お問い合わせはこちら

タイトルとURLをコピーしました