Laravel-snappyを使用していて、実際のページ数とフッタのページ数が合わない現象に遭遇した。
PHPサイドでのページフッタの指定はこう。
1 |
$pdf->setOption('footer-center', '[page] / [topage]'); |
Bladeの任意の場所で改ページするときはこう。
1 |
<div style="page-break-after:always;"></div> |
これで大抵うまくいくんだが、今回は「生成されたPDFのページ数と、フッタのページ数が合わない」という変な状況になった。
色々削っていくと、今回のケースではページ内に「display:inline-block;」な要素があったためらしい。
高さが未確定なために、内部でのページカウントと描画したあとのページで不一致がおきたんじゃないかと。。。
ということで、今回は inline-block をやめて width を指定、高さも指定できるものは指定して解消。