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

时间:2013-10-02 23:44:28

标签: php image pdf-generation fpdf

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

我知道我们在FPDF中有$ pdf-> Image()函数,但有没有办法在FPDF中对所有这些图像块执行“搜索和替换”,这样我的文本就会在内联图像中注册它们应该如何在数据库数据中布局?

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

2 个答案:

答案 0 :(得分:0)

我推荐这个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格式。

答案 1 :(得分:0)

我成功地想出了在FPDF中绘制内嵌图像的方法。我所做的是复制FPDF-&gt;图像方法并使用图像的高度更新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 );

希望它可以帮助任何寻找答案的人:)