わかりました。次のスニペットを使用して、PHP変数が_$data
_として読み込まれるHTMLの「ビュー」を取得し、tr
を入力するなどの操作を実行できるようにします。データベース呼び出しなどからのデータの。
_function getView ($file, $data=NULL) {
if (!empty($data)) extract($data);
ob_start();
if (is_file($file)) include($file);
return ob_get_clean();
}
_
$htmlPDF = getView('receipt.php', array( 'orderNumber' => $orderNumber ));
のようなものに使用されます。ここで、_$orderNumber
_はHTMLで使用され、適切な場所に入力されます。たとえば、次のようなものです。
_<h1>You Order #<?= $orderNumber; ?></h1>
_
_$dompdf = new DOMPDF();
$dompdf->load_html($html);
$dompdf->render();
_
これはすべてうまく機能します。問題は、_inline php
_スクリプトを機能させてページ番号/ページヘッダー|フッターを取得することです。私は指示に従いました ここ 私ができる最善のことですが、私は正しいブレンドを作ることができないようです。これまでのところ、私が得ることを除いて、エラーはありません どこでもページ番号!
そして、はい、私は ヘッダーPDF PHPでDOMPDFを使用するページ および dompdfページ番号 のようなページを見ましたが、それでも前進はありません、まったく!_inline php
_スクリプトは、HTMLを文字列として取得する方法と関係があるのだろうか?ポインタ、アイデア、アドバイスはありますか?
DOMPDF> = 0.7.0を使用している場合、dompdf_config.inc.phpファイル 削除されています であり、ページ番号を追加するには、少し異なるアプローチが必要になります。
Dompdf_config.inc.phpファイルはこのリリースから削除されているため(参照されなくなったため)、すべてのdompdfオプションを実行時に設定する必要があります。
PHPコードをDOMPDFで実行できるようにするには、次を使用します。
$dompdf->set_option("isPhpEnabled", true);
また、FontMetrics 今は呼び出されるはずです$fontMetrics
の代わりにFont_Metrics
を使用するため、@ user1231342435346354で言及されているコードはわずかに変更されます。
<script type="text/php">
if ( isset($pdf) ) {
$pdf->page_script('
if ($PAGE_COUNT > 1) {
$font = $fontMetrics->get_font("Arial, Helvetica, sans-serif", "normal");
$size = 12;
$pageText = "Page " . $PAGE_NUM . " of " . $PAGE_COUNT;
$y = 15;
$x = 520;
$pdf->text($x, $y, $pageText, $font, $size);
}
');
}
</script>
Dompdfのすべてのページのフッターにページ番号を表示する簡単なコードがあります
#footer { position: fixed; right: 0px; bottom: 10px; text-align: center;border-top: 1px solid black;}
#footer .page:after { content: counter(page, decimal); }
@page { margin: 20px 30px 40px 50px; }
上記のコードはcssコードです
<div id="footer">
<p class="page">Page </p>
</div>
要件に応じてテキストの位置を変更できます