我目前有一个用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 格式。