23

mPDF ライブラリを使用して PDF を生成していますが、ヘッダーとフッターのサイズはいくつかのパラメーターによって異なります。

静的な解決策は、重複を解決するフッターの余白を設定することですが、フッターのサイズが異なる場合があるため、これは私が満足している解決策ではありません。フッターの寸法を取得し、それに応じて余白を適用する方法はありますか?

4

4 に答える 4

27

問題は 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);
于 2012-06-12T08:21:16.957 に答える