mPDF ライブラリを使用して PDF を生成していますが、ヘッダーとフッターのサイズはいくつかのパラメーターによって異なります。
静的な解決策は、重複を解決するフッターの余白を設定することですが、フッターのサイズが異なる場合があるため、これは私が満足している解決策ではありません。フッターの寸法を取得し、それに応じて余白を適用する方法はありますか?
問題は mpdf のドキュメントにあります。margin_footer と margin_header は、文書本体とこれらの間の余白だと思います。代わりに、margin_footer と margin_header は、margin_top と margin_bottom と思われるドキュメントの余白です。
したがって、下マージンと上マージンを変更すると、ドキュメント本文の開始位置が決まります。また、ヘッダー/フッターの余白を変更すると、印刷の余白が決まります。
それが役に立てば幸い!
更新された回答
mPDF のドキュメントは、コンストラクターの呼び出しに関しては少しずれていると思います。margin_top/bottom 引数は実際にはコンテンツ マージンであり、margin_header/footer 引数には適用されません。(私の記憶が正しければ)。margin_top/bottom は、ドキュメントの上端からの絶対マージンで、ヘッダー/フッターの高さを含める必要があります。
マージンを処理する正しい方法は次のとおりです。
/**
* Create a new PDF document
*
* @param string $mode
* @param string $format
* @param int $font_size
* @param string $font
* @param int $margin_left
* @param int $margin_right
* @param int $margin_top (Margin between content and header, not to be mixed with margin_header - which is document margin)
* @param int $margin_bottom (Margin between content and footer, not to be mixed with margin_footer - which is document margin)
* @param int $margin_header
* @param int $margin_footer
* @param string $orientation (P, L)
*/
new mPDF($mode, $format, $font_size, $font, $margin_left, $margin_right, $margin_top, $margin_bottom, $margin_header, $margin_footer, $orientation);