2012-06-07 31 views
10

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

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

+0

私も同じ問題を抱えていますが、解決策が見つかったら質問を更新できますか? – Bogdan

+0

私は以下の答えを更新しました。うまくいけばそれはあなたを助けるでしょう。マージンはmargin_header/footerに設定する必要があります。設定ファイルで 'setAutoTopMargin'設定を無効にする必要があるかもしれません。 – Daniel

答えて

18

問題は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); 
+10

アップデートのおかげで、 "実験設定" '$ mpdf-> setAutoTopMargin = 'stretch'と$ mpdf-> setAutoBottomMargin = 'stretch''の設定は、ヘッダとフッタが本体と重ならないようにします。ヘッダーとフッターの余白を手動で計算します。ダイナミックなユーザー作成のヘッダーとフッターを扱うときには非常に便利です – Bogdan

+0

うわー!それが可能であることを知らなかった。その情報をありがとう、すぐに便利になるでしょう。 – Daniel

+0

私は$ mpdf-> setAutoBottomMargin = 'stretch'を成功させようとしましたが、どのような使い方をしてください? – Aiphee

6
$mpdf->setAutoBottomMargin = 'stretch'; 

:ここ

はマージンを扱うのが正しい方法です。私がしなければならなかったのは、フッタの前にオプションを含めることでした。

+0

私はフッターの前にそれを設定するまで、それは私のためにもうまくいきませんでした。 –

関連する問題