22

我正在尝试插入图像,但不想指定 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 往下推,而且不可避免地会在固定的图像下面。有没有办法让图像像产品标题和副标题一样被推下,同时仍然声明尺寸?

4

5 回答 5

54

我想通了,它实际上非常简单。

设置你的变量:

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

然后创建一个单元格,定位它,然后使用您在上面创建的变量而不是设置图像的位置:

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

现在,如果周围的其他单元格移动,该单元格将随内容上下移动。

希望这对同一条船上的其他人有所帮助。

于 2010-08-25T18:51:42.120 回答
12

您可以使用$pdf->GetX()and$pdf->GetY()获取当前坐标并使用它们插入图像。

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

甚至

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

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

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

于 2010-08-12T19:49:41.200 回答
5
$image="img_name.jpg";
$pdf =new FPDF();
$pdf-> AddPage();
$pdf-> SetFont("Arial","B",10);
$pdf-> Image('profileimage/'.$image,100,15,35,35);
于 2017-02-28T17:49:06.873 回答
0

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

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

$pdf->Image($myImage, 5, $pdf->GetY(), 33.78);
于 2019-08-01T05:42:13.793 回答
-1

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

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

于 2010-08-12T19:59:42.820 回答