2

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

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

希望我说得足够清楚。任何帮助深表感谢!

4

2 回答 2

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 格式。

于 2013-10-22T18:13:52.173 回答
0

我成功地想出了在 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 );

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

于 2017-04-24T15:42:28.870 回答