我使用 FPDF 从数据库数据创建PDF。我需要将图像放在最后,但不受支持。
我从以这种方式从代码生成图像的php文件中获取图像:
retrieve_ref/0
通常我将此网址放在http://server/ean13.php?code=1234567890123
标记中,但不适用于FPDF。
这是代码:
<img>
在ean13.php中,图像是通过$pdf = new PDF(); //PDF Class extends FPDF
$pdf->AliasNbPages();
$pdf->AddPage();
$pdf->SetFont('Times','',12);
$pdf->Cell(0,10,'Test line',0,1);
$pdf->Image('ean13.php?code=1234567890123',10,6,30); //not work
$pdf->Output();
函数生成的,以显示条形码。
我也尝试过使用imagepng()
,但还是一样。
只需添加另一个示例,如果我在页面中放上file_get_contents
即可
答案 0 :(得分:0)
您正在使用一个相对URL,它在运行脚本的服务器上下文中没有任何意义。
相对url在浏览器中起作用,因为它们实际上是使用诸如http://example.com/some/path/index.php
之类的url加载当前页面的。因为,因此,当给图像一个相对的URL(例如ean13.php
)时,它实际上知道它应该在服务器上调用http://example.com/some/path/ean13.php
。
但是服务器上的脚本没有该上下文。它只会尝试将该字符串加载为文件,而无需实际执行ean13.php
中的代码。
因此,解决方案:使用完整的url,因此FPDF可以请求获取它。或生成图像并将其存储在本地文件中,然后将该文件名传递给FPDF。
据我所知(或可以用the documentation来告知),不幸的是,没有办法从流,字符串或图像的其他内存表示形式中加载图像。它可以是文件或完整的URL。