使用PHP和FPDF插入图像

时间:2010-08-12 19:46:23

标签: php fpdf

我正在尝试插入图片但不想指定x和y坐标。这可能吗?

$pdf->Image($image1, 5, 70, 33.78);

我希望能够指定大小(33.78),但不能指定x和y,以便根据内容进行移动。

$pdf->Write( 70, $reportTitle );
$pdf->Ln( 45 );
$pdf->SetFont( 'Arial', '', 12 );
$pdf->Write( 6, $reportSubtitle );

/**
  Create product 1
**/
$pdf->Ln( 10 );
$pdf->SetFont( 'Arial', '', 12 );
$pdf->Write( 6, $prod1title );
$pdf->Ln( 30 );
$pdf->SetFont( 'Arial', '', 10 );
$pdf->Write( 5, $prod1sub );
$pdf->Ln( 30 );
$pdf->Image($image1, 5, 70, 33.78);

以上是我使用的代码。如果$ reportSubtitle是两行或三行,它会将$ prod1title和$$ prod1sub向下推,并且不可避免地在修复的图像下。有没有办法让图像像产品标题和副标题一样,并且在仍然声明尺寸的同时被推下来?

5 个答案:

答案 0 :(得分:50)

我明白了,而且实际上非常直接。

设置变量:

$image1 = "img/products/image1.jpg";

然后停止一个单元格,定位它,然后不是设置图像的位置,使用上面创建的变量和以下内容:

$this->Cell( 40, 40, $pdf->Image($image1, $pdf->GetX(), $pdf->GetY(), 33.78), 0, 0, 'L', false );

现在,如果细胞周围的其他细胞移动,细胞会随着内容上下移动。

希望这可以帮助其他人在同一条船上。

答案 1 :(得分:9)

您可以使用$pdf->GetX()$pdf->GetY()获取当前的cooridnates并使用它们来插入图片。

$pdf->Image($image1, 5, $pdf->GetY(), 33.78);

甚至

$pdf->Image($image1, 5, null, 33.78);

(虽然在第一种情况下你可以添加一个数字来创建一些空间)

$pdf->Image($image1, 5, $pdf->GetY() + 5, 33.78);

答案 2 :(得分:5)

$image="img_name.jpg";
$pdf =new FPDF();
$pdf-> AddPage();
$pdf-> SetFont("Arial","B",10);
$pdf-> Image('profileimage/'.$image,100,15,35,35);

答案 3 :(得分:0)

请注意,在测试时不要使用任何png,首先要使用jpg。

$myImage = "images/logos/mylogo.jpg";  // this is where you get your Image

$pdf->Image($myImage, 5, $pdf->GetY(), 33.78);

答案 4 :(得分:-1)

您不能将PDF视为HTML文档。图像不能在文档中“浮动”并使事物围绕它们流动,或者与周围文本一起流动。 FPDF允许您在文本块中嵌入html,但仅仅因为它解析了标记并用Postscript等效命令替换<i><b>等等。动态放置图像并不够智能。

换句话说,您必须指定坐标(如果不指定,则无论如何都会使用当前位置的坐标。)