Top > FPDF > tuto2

Header, footer, page braek and image

ヘッダ,フッタ,ロゴを持った 2 ページの例をここに示します。

<?php
define('FPDF_FONTPATH','font/');
require('fpdf.php');

class PDF extends FPDF
{
//Page header
function Header()
{
    //Logo
    $this->Image('logo_pb.png',10,8,33);
    //Arial bold 15
    $this->SetFont('Arial','B',15);
    //Move to the right
    $this->Cell(80);
    //Title
    $this->Cell(30,10,'Title',1,0,'C');
    //Line break
    $this->Ln(20);
}

//Page footer
function Footer()
{
    //Position at 1.5 cm from bottom
    $this->SetY(-15);
    //Arial italic 8
    $this->SetFont('Arial','I',8);
    //Page number
    $this->Cell(0,10,'Page '.$this->PageNo().'/{nb}',0,0,'C');
}
}

//Instanciation of inherited class
$pdf=new PDF();
$pdf->AliasNbPages();
$pdf->AddPage();
$pdf->SetFont('Times','',12);
for($i=1;$i<=40;$i++)
    $pdf->Cell(0,10,'Printing line number '.$i,0,1);
$pdf->Output();
?>

この例はページのヘッダとフッタを処理するために Header() と Footer() メソッドの使用します。それらのメソッドは自動的に呼ばれます。それらのメソッドは FPDF クラスにすでに存在しますが何も行いません。したがって,クラスを拡張するかオーバーライドしなければいけません。

ロゴは指定した左上隅に指定した幅で Image() メソッドでプリントされます。高さはイメージプロパティーに依存して自動的に計算されます。

ページ番号をプリントするためには, null 値をセル幅として渡します。これは,セルがページの右マージンに拡張されなければいけないということで,中央ぞろへのテキストを利用します。現在のページ番号は PageNo() メソッドで返されます。ページのトータル数として,ドキュメントを閉じる際に置換される特別な値 {nb} によって取得します。(AliasNbPages() を最初に呼ぶことで提供されます)。上または下から始まるページでの絶対位置を設定することができる SetY() メソッドを使用に注意してください。

ほかの面白い機能をここで使用しています。それは自動改ページ機能です。セルがページの限界に近づくと (デフォルトでは下から 2 cm の位置),改ページが行われ,フォントがレストアされます。ヘッダとフッタでそれぞれのフォント (Arial) を使用しているにもかかわらず,ボディーでは Times が続けられます。自動レストアのこの機構は色と行幅にも適用されます。改ページの限界は SetAutoPageBreak() で設定することができます。


Reload   New Lower page making Edit Freeze Diff Upload Copy Rename   Front page List of pages Search Recent changes Backup   Help   RSS of recent changes