TCPDF错误:[图像]无法获取图像

Sha*_*iul 23 php tcpdf

我正在使用TCPDF和Drupal的打印模块来生成文章的PDF,并在单击链接生成PDF时以及以下错误消息结束:

TCPDF ERROR: [Image] Unable to get image: http://localhost/pathToDrupal/themes/bartik/logo.png

图像存在于指定的位置.我试过申请:

allow_url_fopen = On;
allow_url_include = On;
Run Code Online (Sandbox Code Playgroud)

php.ini但但无法解决问题.

请关心帮助:(

vst*_*stm 26

显然TCPDF不使用"fopen"-wrappers.

如果提供图像的URL,TCPDF会尝试使用cURL将其下载到存储TCPDF安装的"缓存"目录中(您必须检查K_PATH_CACHE-constant包含的内容以确定).

所以我猜你必须在这个魔法工作的目录中拥有写权限.您还需要启用cURL.

  • 在debian服务器中输入CURL后,它对我有用:`apt-get install php5-curl && /etc/init.d/apache2 restart` (3认同)

lui*_*all 8

我们在linux"example.com"服务器中处理连接的方式存在问题.所以这导致我们尝试服务器:

curl -v http://www.example.com/image.jpg
Run Code Online (Sandbox Code Playgroud)

每当TCPDF尝试使用curl下载图像时,都找不到图像,但是,我们可以通过直接在浏览器中打开图像来查看图像(例如http://www.example.com/image.jpg).

我们通过将example.com VirtualHost设置为接受127.0.0.1连接并将"127.0.0.1 example.com"行添加到/ etc/hosts来解决了这个问题.


小智 5

只需在PDF html 中将图像路径用作"images/your_image.png"而不是" http://yourdomain.com/images/your_image.png ".