2010-09-08 16 views
5

Ich möchte ein Bild in meine erstellte PDF-Datei einfügen. Es wird sich jedoch nicht gut positionieren.Bild in PDF mit fpdf anzeigen

Wenn ich dies tun:

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

Die Bilder jedoch erscheinen, sie sind zu groß.

Wenn ich dies tun:

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

Nicht alle Bilder angezeigt. Nur 1 Bild pro Seite wird angezeigt, aber mit die richtige Größe.

Eigentlich bin ich ein Bild in eine While-Schleife einfügen. Was ich möchte in der pdf-Datei anzuzeigen ist: (in der Reihenfolge)

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

Antwort

5

Wenn eine Seite viele Bilder enthält dann Ihre Bilder auf der jeweils anderen gelegt werden können. Sie sollten die Position für jedes Bild auf einer Seite ändern. Probieren Sie so etwas aus.

for($i=10; $i<=200; $i=$i+10) { 
    $fpdf->Image($row_products['prod_imagelarge'],30, $i, 40, 40); 
} 
7

Ähnlich wie Naveed, aber ein wenig vollständiger mit dem Rest Ihrer Zeile Daten. Der Trick besteht darin, die X- und Y-Position zu erfassen, bevor das Bild platziert wird, und dann manuell die Abszisse ("Position") an die richtige Stelle zu setzen, wenn das neue Bild verwendet wird.

$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); 
}