我正在使用 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&suit_type=&min_area=&max_area=”粘贴到我的网址上,这会根据需要创建图像,但是如果把这个 url,它不起作用。它说无法获取图像的大小
但是如果我放这样的东西
$map_image = '/wp-content/themes/v3/resources/images/public/logo_side.jpg';
它可以成功地用那个图像生成pdf。
我该如何解决?
我访问了以下 stackoverflow 链接,但没有任何帮助
最佳答案
这可能是由于 filesize()
未能 stat()
通过 HTTP wrapper 的远程图像文件(因为包装器不支持它)。
根据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();
?>
关于php - TCPDF 错误 :Unable to get the size of the image,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27060947/