現在の位置を設定(SetXY, SetX, SetY)

広告

Writeメソッドは現在の位置から出力が行われますが、現在の位置は自由に設定することができますのでPDFドキュメントの任意の位置から文字列を出力することができます。現在の位置を設定するにはFPDFクラスで用意されているSetXYメソッドを使います。

カレント(現在の)x座標、y座標を設定します。もしマイナスの値が指定された
場合、現在のページの右端、下端からの相対座標になります。

パラメータ:
  x  x座標の値
  y  y座標の値

1番目の引数にX座標、2番目の引数にY座標を指定します。SetXYメソッドを呼び出すと現在の位置が指定した座標に設定されるため、任意の位置に文字列を出力できます。

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

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

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

$pdf->SetXY(12.0, 12.0);
$pdf->Write(10,"こんにちは。");

$pdf->Output();
?>

なお、X座標だけを設定するSetXメソッドと、Y座標だけを設定するSetYメソッドがFPDFクラスで用意されています。

SetX:

カレント(現在の)x座標を設定します。もしマイナスの値が指定された場合、
現在のページの右端からの相対座標になります。

パラメータ:
  x  x座標の値

SetY:

現在の左マージンまでカレントのx座標を移動し、カレント(現在の)y座標を設
定します。もしマイナスの値が指定された場合、現在のページの下端からの相対
座標になります。

パラメータ:
  y  y座標の値

サンプルプログラム

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

sample3-1.php

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

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

$pdf->SetXY(15.0, 15.0);
$pdf->Write(10,'文字列の出力');

$pdf->SetXY(30.0, 30.0);
$pdf->Write(10,'次の文字列');

$pdf->SetXY(45.0, 45.0);
$pdf->Write(10,'その次の文字列');

$pdf->Output();
?>

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

現在の位置を設定(SetXY, SetX, SetY)

( Written by Tatsuo Ikura )