Zend_Pdfで複数ページを作成
ページは、newPage()メソッドを追記するか、Zend_Pdf_Pageのインスタンスを生成するだけで追加することができます。
Zend_Pdf-ex5.php (ページを追加)
<?php
/**
* Zend_Pdf
* 複数ページの作成
*/
/** Zend_Pdfのロード */
require_once 'Zend/Pdf.php';
// Zend_Pdfのインスタンス生成
$pdf = new Zend_Pdf();
// フォントの指定(標準フォント:Helvetica)
$font = Zend_Pdf_Font::fontWithName(Zend_Pdf_Font::FONT_HELVETICA);
/** 1から3ページ */
for ($i = 0; $i <= 2; $i++) {
// ページを作成
$pdf->pages[] = $pdf->newPage(300, 100);
// フォントを適用
$pdf->pages[$i]->setFont($font, ($i+1)*8);
// 文字列定義
$text = $i . ': Hello World!';
// UTF-8で描画
$pdf->pages[$i]->drawText($text, ($i+1)*10, 50, 'UTF-8');
}
/** 4ページ目 */
// ページを作成
$pdf->pages[] = new Zend_Pdf_Page(300, 100);
// フォントを適用
$pdf->pages[3]->setFont($font, 16);
// 文字列定義
$text = '3: Hello World!';
// UTF-8で描画
$pdf->pages[3]->drawText($text, 10, 50, 'UTF-8');
// ページを作成
$pdf->pages[] = $pdf->newPage(300, 100);
/** 5ページ目 */
// フォントを適用
$pdf->pages[4]->setFont($font, 8);
// 文字列定義
$text = '4: Hello World!';
// UTF-8で描画
$pdf->pages[4]->drawText($text, 10, 50, 'UTF-8');
/** 出力 */
// HTTPヘッダ:PDFを出力
header('Content-type: application/pdf');
// HTTPヘッダ:ファイル名をhello_world.pdfに
header('Content-Disposition: attachment; filename="hello_world.pdf"');
// ドキュメントを出力
echo $pdf->render();
Zend_Pdf-ex5.phpを実行し、保存後、ビューアーで表示