不幸的是,FPDF不知道如何將文本浮動到圖像旁邊。但是,通常存在解決方法。下面的方法寫入一個浮動圖像。請注意,您必須指定圖像的高度。它應該很容易重寫它也讓你指定寬度或沒有。
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');
這裏是演示的樣子:
哦,對了,你也難過,你有問題在調用$pdf->Image()
之後,該單元打印在下一行。一個簡單的解決方法是將參數$pdf->Image()
中的$y
設置爲$pdf->getY()
。如果未設置$y
參數,FPDF會嘗試幫助並默認進行換行。