6

作成した PDF ファイルに画像を挿入したい。しかし、それはまったくうまく配置されません。

私がこれを行う場合:

$fpdf->Image($row_products['prod_imagelarge'], 10); 

画像は表示されますが、大きすぎます。

私がこれを行う場合:

$fpdf->Image($row_products['prod_imagelarge'],30, 40, 40, 40);

すべての画像が表示されるわけではありません。ページごとに 1 つの画像のみが表示されますが、適切なサイズです。

実際、while ループ内に画像を挿入しています。私がpdfファイルに表示したいのは:(順番に)

-product name (works fine)  
-product image (the problem is here!)  
-product description (works fine)
4

2 に答える 2

7

Naveed に似ていますが、残りの行データがもう少し完全です。トリックは、画像を配置する前に X と Y の位置をキャプチャしてから、新しい画像を考慮して横座標 (「位置」) を適切な場所に手動で設定することです。

$image_height = 40;
$image_width = 40;
while ($row_products = mysql_fetch_array($products)) { 
   $fpdf->Cell(0, 0, $row_products['prod_name'], 0, 2);
   $fpdf->Cell(0, 0, $row_products['prod_description'], 0, 2);

   // get current X and Y
   $start_x = $fpdf->GetX();
   $start_y = $fpdf->GetY();

   // place image and move cursor to proper place. "+ 5" added for buffer
   $fpdf->Image($row_products['prod_imagelarge'], $fpdf->GetX(), $fpdf->GetY() + 5, 
                $image_height, $image_width) 
   $fpdf->SetXY($start_x, $start_y + $image_height + 5);
}
于 2010-09-29T14:38:59.370 に答える
5

1 つのページに多くの画像が含まれている場合、画像が互いに重ねて配置されている可能性があります。1 ページ内の各画像の位置を変更する必要があります。このようなことを試してください。

for( $i=10; $i<=200; $i=$i+10 ) {
  $fpdf->Image($row_products['prod_imagelarge'],30, $i, 40, 40);
}
于 2010-09-08T04:30:16.800 に答える