PHPでPDF出力 3(体裁を整える)
3.縦、横位置を定義して体裁を整える
取り敢えず、Microsoft Visual StudioのVB.NETで開発することにした。
まずは、Excelファイルを読み込み、セル書式から文字列をジェネレートするために、
文字列、フォント名、フォントサイズ、前景色、横縦揃えに絞った。
その結果は、1行に重なってしまった。
セルの絶対位置の取得
Excelのセル位置を先頭からの絶対値(ミリ)で取得することにした。
1ピクセルが約0.0846ミリとして計算すれば、該当セルまでの絶対値が求まる、ハズ。
0.0何ミリと細かくしても意味がないので、10ピクセルで0.85ミリで計算することにした。
結果は、以下の通り無残な状態。
ピクセルからミリへの変換が間違っているのか確かめたが、10ピクセルで0.085で計算し、小数点2位で四捨五入している。
ならば、セルのピクセル数の取得が・・・。
Excelのページレイアウト表示で、受注日(列B)と図番(列D)までの値を調べた。
受注日(列B)は1.1ミリ(4ピクセル)、図番(列D)は21.4ミリ(82ピクセル)
まるで違う。はて?
嗚呼~、なんてこった。ピクセルではなく単位はポイント(世間の常識?)
1ポイントを0.35ミリにプログラムを修正して再実行。
結果は満足できる出来栄えに、ひとり悦に入る。
SetXYを忘れずに。
--------------------------------------------------------------
$tcpdf->SetFont('kozgopromedium', '',11);
$tcpdf->SetTextColor(0,0,0);
$source ='受 注 日';
$tcpdf->SetXY(1.2, 2.9);
$tcpdf->Cell(21,8, $source, 0, 0,'C',0,'',0,0,'T','M');
$source ='図 番';
$tcpdf->SetFont('kozgopromedium', '',11);
$tcpdf->SetXY(21.9, 2.9);
$tcpdf->Cell(59,8, $source, 0, 0,'C',0,'',0,0,'T','M');
--------------------------------------------------------------
次は、罫線の処理の追加