builder by ZDNet Japanをご愛読頂きありがとうございます。

builder by ZDNet Japanは2022年1月31日にサービスを終了いたします。

長らくのご愛読ありがとうございました。

PHPでPDFファイルを作成するには?

文:Lana Kovacevic(Builder AU) 翻訳校正:村上雅章・野崎裕子
2008-02-27 08:00:00
  • このエントリーをはてなブックマークに追加

 ここまでの指定が終わったのであれば、PDFドキュメントのページ設定を以下のように行う。

$pdf->AddPage('P');
$pdf->SetDisplayMode(real,'default');

 AddPage()のパラメータに「P」または「L」を引き渡すことで、ページの向きを指定することができる。ここでは「P」を引き渡すことでポートレートを指定している。SetDisplayMode関数は、ページの表示方法を指定するためのものである。そのパラメータは、表示倍率とレイアウトだ。ここでは表示倍率を100パーセント、レイアウトをビューアのデフォルトレイアウトと指定している。

 ページの設定ができたところで、見映えを良くするために画像を挿入し、そこにリンクを設定することにしよう。ここではファイル名と大きさ、URLをパラメータとしてImage関数を呼び出すことで、FPDFのロゴを表示している。

$pdf->Image('logo.png',10,20,33,0,' ','http://www.fpdf.org/');

 また以下のように記述することで、リンクを挿入することができる。

$pdf->Link(10, 20, 33,33, 'http://www.fpdf.org/');

 では、ドキュメントの表題を作成し、それを枠で囲んでみることにしよう。

$pdf->SetXY(50,20);
$pdf->SetDrawColor(50,60,100);
$pdf->Cell(100,10,'FPDF Tutorial',1,0,'C',0);

 ここではSetXY関数を用いて、表題の表示位置をX座標とY座標で指定している。また、SetDrawColor関数にRGB値を引き渡すことで枠の色を指定している。その後、Cell関数を呼び出し、表題のテキストを引き渡し、矩形の枠を描画している。この関数にはwidth(幅)とheight(高さ)、text(テキスト)、border(枠の有無)、ln(関数呼び出し後の現在位置)、align(揃え)、fill(塗りつぶしの有無)といったパラメータを引き渡している。borderに指定できる値は0(枠なし)か1(枠あり)のいずれかである。この例では、lnにデフォルト値である0を、alignには枠の中のテキストを中央揃えするための「C」を、そしてfillには0を指定している。fillに1を指定すると、矩形内が塗りつぶされることになる。ここでは0を指定しているため、矩形内は透明になる。

 では、ちょっとしたメッセージとなるテキストをPDFに書き込んでみよう。

$pdf->SetXY(10,50);
$pdf->SetFontSize(10);
$pdf->Write(5,'Congratulations! You have generated a PDF. ');

 ここでもまた、テキストの位置をX座標とY座標で指定しているが、今回はSetFontSize関数を用いてフォントのサイズを小さくしている。実際のテキストはWrite関数によってPDFへと出力される。第1パラメータの5は、行の高さを指定するものだ。ただしこの指定は、テキストが複数行で構成されている場合にのみ意味を持つことになる。

 最後に、Output関数を使用し、以下のように出力先を指定する。

$pdf->Output('example1.pdf','I');

 ここでは、Output関数にフィル名と出力先(この例では「I」)を引き渡している。第2パラメータに「I」を指定すると、出力先がブラウザになる。

 すべてをまとめると以下のようになる。

SetAuthor('Lana Kovacevic');
$pdf->SetTitle('FPDF tutorial');

//ドキュメント全体のフォントを指定する
$pdf->SetFont('Helvetica','B',20);
$pdf->SetTextColor(50,60,100);

//ページの設定を行う
$pdf->AddPage('P');
$pdf->SetDisplayMode(real,'default');

//画像を挿入し、リンクを設定する
$pdf->Image('logo.png',10,20,33,0,' ','http://www.fpdf.org/');

//枠で囲まれた表題を表示する
$pdf->SetXY(50,20);
$pdf->SetDrawColor(50,60,100);
$pdf->Cell(100,10,'FPDF Tutorial',1,0,'C',0);

//本文の位置をX座標とY座標によって指定し、フォントサイズを小さくした後、内容を出力する
$pdf->SetXY(10,50);
$pdf->SetFontSize(10);
$pdf->Write(5,'Congratulations! You have generated a PDF.');

//ドキュメントを出力する
$pdf->Output('example1.pdf','I');
?>

ブログの新規登録は、2021年12月22日に終了いたしました。

folllow builer on twitter
このサイトでは、利用状況の把握や広告配信などのために、Cookieなどを使用してアクセスデータを取得・利用しています。 これ以降ページを遷移した場合、Cookieなどの設定や使用に同意したことになります。
Cookieなどの設定や使用の詳細、オプトアウトについては詳細をご覧ください。
[ 閉じる ]