我正在使用TCPDF来创建动态生成的pdf文件.在我的pdf文件中,根据用户输入生成图像,我想在我的pdf文件中添加该图像.这是我的代码
$map_image = "example.com/wp-content/themes/example/map_image_leasing.php/?city=Calgary&suit_type=&min_area=&max_area=";
$pdf->Image ($map_image, 55, 19, '', '', 'JPG', '', 'T', false, 300, '', false, false, 0, false, false, false);
如果我在我的网址上粘贴“example.com/wp-content/themes/example/map_image_leasing.php/?city=Calgary\u0026amp;suit_type=\u0026amp;min_area=\u0026amp;max_area=”这个创建我想要的图像,但如果放这个网址,它不起作用.它说无法获得图像的大小
但是,如果我把这样的东西
$map_image = '/wp-content/themes/v3/resources/images/public/logo_side.jpg';
它可以成功生成带有该图像的pdf.
我该如何解决?
我访问了以下*链接,但没有一个得到任何帮助
cakephp tcpdf image error [Image] Unable to get image
TCPDF ERROR: [Image] Unable to get image
解决方法:
这可能是由于filesize()
通过HTTP wrapper未能通过stat()
远程映像文件(因为包装器不支持它).
根据TCPDF image() method documentation,您可以通过在@符号前面添加图像数据.因此,您可以获取原始图像数据,然后将其传递给TCPDF,如下所示:
$img = file_get_contents('http://example.com/wp-content/themes/example/map_image_leasing.php/?city=Calgary&suit_type=&min_area=&max_area=');
$pdf->Image('@' . $img, 55, 19, '', '', 'JPG', '', 'T', false, 300, '', false, false, 0, false, false, false);
请注意,我没有对此进行测试(并且TCPDF文档很稀疏),因此您可能需要进行一些实验才能使其正常工作.
编辑:
这是一个完全有效的例子(在我的电脑上).使用此选项可测试您是否可以成功检索图像并将PDF输出到浏览器.当然,您需要为图像设置已知的有效路径!
<?php
require './tcpdf/tcpdf.php';
$pdf = new TCPDF();
$pdf->AddPage();
$img = file_get_contents('http://path/to/your.jpg');
$pdf->Image('@' . $img);
$pdf->Output();
?>