gpt4 book ai didi

php - 将图像与 FPDF 中的文本对齐

转载 作者:行者123 更新时间:2023-12-04 00:43:56 35 4
gpt4 key购买 nike

好的,我有一个我正在用 PHP 编写的 FPDF 文档,在这个页面中,我有一个使用 set x 和 Y 完美定位的 Logo ,效果很好。

我现在要做的是在标题旁边添加一个图像,现在我可以再次使用 x 和 y 来定位它。问题是页面中的信息是动态的,因此设置 x 和 y 将意味着标题可能会移动,但图像不会。

目前我已经像下面这样设置了图像和单元格,但标题总是位于图像下方的一行,我找不到让它们坐在同一行上。

 $pdf->Image('images/school.png');
$pdf->Cell(10,10,"Education",0,1,'L');

最佳答案

不幸的是,FPDF 不知道如何在图像旁边 float 文本。但是,通常存在解决方法。下面的方法写入 float 图像。请注意,您必须指定图像的高度。重写它应该很容易,也可以让您指定宽度或不指定任何内容。

class FloatPDF extends FPDF
{
public function floatingImage($imgPath, $height) {
list($w, $h) = getimagesize($imgPath);
$ratio = $w / $h;
$imgWidth = $height * $ratio;

$this->Image($imgPath, $this->GetX(), $this->GetY());
$this->x += $imgWidth;
}
}

这是一个演示:

$pdf = new FloatPDF();

$imgPath = "/logo.png";
$pdf->SetFont(self::FONT, 'B', 20);
$height = 10;

$pdf->floatingImage($imgPath, $height);
$pdf->Write($height, " This is a text ");
$pdf->floatingImage($imgPath, $height);
$pdf->Write($height, " with floating images. ");
$pdf->floatingImage($imgPath, $height);

$pdf->Output('demo.pdf', 'D');

这是演示的样子:

Floating images and text FPDF

哦,顺便说一句,你也很难过在调用 $pdf->Image() 后单元格打印在下一行的问题。一个简单的解决方法是将 $pdf->Image() 中的 $y 参数设置为 $pdf->getY()。如果未设置 $y 参数,FPDF 会尝试提供帮助并默认进行换行。

关于php - 将图像与 FPDF 中的文本对齐,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22358578/

35 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com