php - TCPDF 错误 :Unable to get the size of the image

标签 php image tcpdf

我正在使用 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 链接,但没有任何帮助

tcpdf working on localhost but not on my sever giving error TCPDF ERROR: [Image] Unable to get image:

cakephp tcpdf image error [Image] Unable to get image

TCPDF ERROR: [Image] Unable to get image

最佳答案

这可能是由于 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/

相关文章:

javascript - SRC属性为空且性能不佳

php - TCPDF 错误 : Can't open image file:/var/www/html/tcpdf/cache/

fpdf - 通过FPDI扩展TCPDF时,是否有使用交易的方法?

php - Ubuntu 在终端输入 'php' 显示很多错误

php - 从 PHP 服务器下载 csv 文件

android - android中如何处理图片下载不完整的情况?

html - 图片托管和 HTML img 链接

php - 使用 FPDI 和 TCPDF 在 PDF 上添加图像

php - mysql获取一个值的重复项

php - 尝试在PHP中将YouTube网址回显到iframe中