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() で設定することができます。 |