编程语言
首页 > 编程语言> > php – TCPDF错误:无法获取图像的大小

php – 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\u0026amp;suit_type=\u0026amp;min_area=\u0026amp;max_area=”这个创建我想要的图像,但如果放这个网址,它不起作用.它说无法获得图像的大小

但是,如果我把这样的东西

$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()通过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();

?>

标签:tcpdf,php,image
来源: https://codeday.me/bug/20190927/1824098.html