tFPDFでの画像サイズの変更について簡単に紹介。
画像サイズに関する知識
サイズの変更が無い場合、下記のコードを記入します。
$pdf->Image("参照ファイルのフルパス", Xの座標, Yの座標);
サイズの変更がある場合、下記のコードを記入します。
$pdf->Image("参照ファイルのフルパス", Xの座標, Yの座標, 横幅, 縦幅);
◆座標、幅の単位は最初にtFPDFの変数を定義するところで決定されます。
$pdf = new tFPDF('P', 'mm', 'A4');
上記のコードの場合、真ん中の引数が”mm” = ミリメーターとなっています。その為、座標、幅の単位もミリメーターとなります。
PDF上に表示する画像サイズが決まっている時の対処
下記のコードの場合、画像のアスペクト比が維持されません。
$pdf->Image("参照ファイルのフルパス", Xの座標, Yの座標, 横幅, 縦幅);
PDF上に表示する画像サイズが決まっている場合、アスペクト比を維持したいですよね。その場合の対処するコードを紹介します。
以下が、PDF上で50mm x 50mm以内の大きさに変更した画像とサイズ変更なしのコードになります。
<?php
require_once('./../tfpdf/tfpdf.php');
$pdf = new tFPDF('P', 'mm', 'A4');
$pdf->SetLeftMargin(10);
$pdf->AddPage();
$filename = "animal.png"; //表示する画像
// 表示させたい大きさ
$width = 50;
$height = 50;
list($origin_width, $origin_height) = getimagesize($filename);
if($origin_width > $origin_height) {
$height = $origin_height * $width / $origin_width;
}else{
$width = $origin_width * $height / $origin_height;
}
$pdf->Image($filename, 0, 0, $width, $height);
$pdf->Image($filename, 0, 60);
$pdf->Output();
出力結果は下記になります。
コメント