将内联图像添加到 FPDF 中的文本


Adding inline image to text in FPDF

我目前有一个用FPDF生成的PDF,它从数据库中提取数据。我的大多数数据都有应该放置图像的块。例如:"这是一个((图像))测试",其中((图像))将替换为图像。

我知道我们在 FPDF 中有 $pdf->Image() 函数,但是有没有办法对 FPDF 中的所有图像块执行"搜索和替换",以便我的文本将内联图像注册它们应该在数据库数据中的布局方式?

希望我说得足够清楚。任何帮助都非常感谢!

我成功地想出了在 FPDF 中绘制内联图像的方法。我所做的是复制 FPDF->Image 方法,并使用图像的高度更新 PDF 的当前 Y 值。

这是代码:https://gist.github.com/woraperth/eea4b5e7d07b40cb46a13103603e2053#file-inlineimg-php

使用示例(将 100 更改为图像的宽度)

$pdf->Cell( 40, 40, $pdf->InlineImage("ds.jpg", $pdf->GetX(), $pdf->GetY(), 100), 0, 0, 'L', false );
$pdf->Ln(20);
$pdf->Cell( 40, 40, $pdf->InlineImage("ds.jpg", $pdf->GetX(), $pdf->GetY(), 100), 0, 0, 'L', false );
$pdf->Ln(20);
$pdf->Cell( 40, 40, $pdf->InlineImage("ds.jpg", $pdf->GetX(), $pdf->GetY(), 100), 0, 0, 'L', false );

希望它能帮助任何正在寻找答案的人:)

我推荐这个FPDF脚本,它将标准HTML写到正在创建的PDF中:

http://fpdf.org/en/script/script42.php

首先将((image))文本替换为<img src="http://www.example.com/image.gif">然后执行:

 $pdf->WriteHTML("This is a <img src="http://www.example.com/image.gif"> test");

这也将允许您处理其他 HTML 格式。