こんにちはゲストさん
FPDF+FPDI下マージン・・・

通常の帳票はあまり気にしなかったが、佐川やゆうパックの送り状印刷などを行う時に、デフォルトで印刷するとどうしても下(マージン)が空いてしまい、印刷出来ないエリアが発生してしまう・・・
そこでリファレンスマニュアルを覗いてみると、SetMargins(float left, float top [, float right]) という関数はあるが、なななんと・・・
肝心な下のマージンの設定が出来ないのではないか
そこで、仕方なくfpdf.phpを覗いてみるとそもそも考え方が違っていたようで、下マージと云うよりはSetAutoPageBreak(自動改ページ)機能が働いていたようで元々下マージンと云う考え方が無いモノと思われる。
そこで少しこのあたりに手を加えて下まで印刷範囲が広がるようにした。

fpdf.phpの186行目
改造前  $this->SetAutoPageBreak(true,2*$margin);
改造後  $this->SetAutoPageBreak(true,0.2*$margin);
結局これは自動改ページの判断を下まで行わない為に下マージンは減る結果になるようである。(数値はゼロ"0"でもOKかと思うが、今回は小さくしただけで勘弁してやった

メールでの問合せ
意見を書込む
FPDF+FPDIでゆうパック用紙設定

ドットプリンタでゆうパック印刷用のPDFファイルを作成するはめになり、FPDF+FPDIで作成しましたが、用紙サイズの設定方法と下マージンの設定方法が解らず忘れそうなのでメモとして書いておきます。

普通A4サイズならこんな感じに出来るんだけど特殊サイズは作らないと駄目でした。

 まず fpdf.php の用紙サイズ設定 130行目付近の下記を追加

  if($format=='a3')
   $format=array(841.89,1190.55);
  elseif($format=='a4')
   $format=array(595.28,841.89);
  elseif($format=='a5')
   $format=array(420.94,595.28);
  elseif($format=='you1')
   $format=array(360,792);//サイズはピクセルで指定のこと

if文で用紙サイズと名前を追加し下記の印刷用ファイルで読み込めばいろいろなサイズを設定可能。

印刷用ファイルの設定部分の下記を設定、単位に注意 今回は11インチ×5インチで設定

  $pdf   = & new fpdi('landscape','mm','you1'); //ゆうパック連続用紙
  $pagecount  = $pdf->setSourceFile("form/youpackREN_D.pdf");//テンプレートPDFファイル
  $tplidx  = $pdf->ImportPage(1);
  
  $pdf->addPage();
  $pdf->useTemplate($tplidx,10,0,279.4,127);//サイズはmmで指定のこと

 

メールでの問合せ
意見を書込む
■ 1〜2件 全2件中