使用fpdf在PDF中显示图像
问题描述:
我想在创建的PDF文件中插入图像。但是,它不会很好地定位。使用fpdf在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)
答
如果一个页面中包含许多图像,然后可能是你的图像放置在每个人。您应该在一个页面上更改每个图像的位置。尝试这样的事情。
for($i=10; $i<=200; $i=$i+10) {
$fpdf->Image($row_products['prod_imagelarge'],30, $i, 40, 40);
}
答
与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);
}