私はCodeigniterを使用しており、PDFファイルを生成するためのdompdfの実装に成功しました。生成されたPDFにヘッダーとフッターを追加する際に問題が発生しました。
これが私のdompdf_helperコードです:
<?php if (!defined('BASEPATH')) exit('No direct script access allowed');
function pdf_create($html, $filename='', $stream=TRUE)
{
require_once("dompdf/dompdf_config.inc.php");
$dompdf = new DOMPDF();
$dompdf->load_html($html);
$dompdf->render();
$dompdf->set_paper("A4");
if ($stream) {
$dompdf->stream($filename.".pdf",1);
} else {
return $dompdf->output();
}
}
?>
これがPDF生成を呼び出すための私のコントローラーです:
<?php
$data['store']=$res;
$this->load->helper(array('dompdf', 'file'));
$html = $this->load->view('store/sales_pdf', $data, true);
$html.= $this->load->view('footer');
$filename="salesbill".$id;
pdf_create($html, $filename);
$data = pdf_create($html, '', false);
write_file('name', $data);
?>
このスクリプトを使用してページ番号を取得しますが、2番目のページが終了した場合にのみ印刷され、それ以外の場合は印刷されません。
<script type="text/php">
if ( isset($pdf) ) {
$font = Font_Metrics::get_font("helvetica", "bold");
$pdf->page_text(500,10, "Page: {PAGE_NUM} of {PAGE_COUNT}", $font, 6, array(0,0,0));
}
</script>
会社名、連絡先の詳細、請求書番号をヘッダーとしてすべてのページに印刷し、次にフッターに印刷したいと思います。「1/3」のようなページ番号を追加したい。