在通过DOMPDF生成我的服务器的PDF不显示图像。 因为他们是远程URL的图像。(本地图片工作正常),然后我才知道,它需要一些设置来显示图像远程。
allow_url_fopen = true => i can not as server control is not in my hand.(and no one will suggest to do this due to security reasons)
read/write access to the DOMPDF_TEMP_DIR (already have this)
DOMPDF_ENABLE_REMOTE = true (already have this)
因此,要确保了allow_url_fopen的问题,我设置我的本地也就是现在给输出作为服务器相同的错误。
所以,现在的问题是,现在我想了allow_url_fopen = false来显示PDF远程图像
- 我几乎尝试了5-10独特的方式来做到这一点。
- 我试图显示PHP文件图像(通过设置头部),然后显示在PDF PHP的链路
- 我试图显示图像通过绝对路径到PHP太多,但毫无效果。
- 我通过通过卷曲的功能越来越像,然后在PHP文件显示它试图...但没有运气。
是否有任何人可以建议我怎么可以在PDF显示图像请。 我总是得到的错误是...
Image not found
http://localhost/dompdf/image.php
和
Image not found
http://localhost/dompdf/image.jpg
我有同样的问题, DOMPDF图像不活的服务器上找到
我找到了自己的解决方案,你只需要仔细检查图像路径,
考虑到你的在线服务器映像路径
<img src="http://www.example.com/public/images/thumb.png">
你只需要将其更改为,
<img src="public/images/thumb.png">
注意:确保,所有的设置都是一样的,你已经做出。
我希望这能帮到您。
尝试
$options = new Options();
$options->set('isRemoteEnabled', true);
$dompdf = new Dompdf($options);
可以达到在机器上的Web浏览器这些网址,您使用打开PDF? 如果不是,PDF阅读器将无法要么。
我怀疑是“localhost”的域名意味着这些网址只从生成的PDF中的Web服务器可见。 你需要输出就像一个网址http://example.com/dompdf/image.jpg
(要步骤解决此问题,请记住,有充分的理由不使用遥控器的图像。该文件将看起来很糟糕,如果观众没有连接到互联网,例如,是否有可能只是直接在嵌入图像文献?)
DOMPDF目前还没有对本地和远程域之间的区分机制,使启动HTTP的任何URL:// ...被视为远程。 另外,使用一个基于PHP的中介(如pic.php)任何图像不能使用本地路径,因为除非你通过一个Web服务器的PHP不会被解析。
这是一个困难的前景,但你的页面是动态生成的。 所以,我看到两个选项:
- 下载远程图像和链接到他们的本地文件系统上
- 下载远程图像和使用数据URI。
既然你已经制定了让使用curl的图像,你应该能够实现的两者之一。
我想你可以添加此
private function change_url_image($data, $url) {
$str = $url; //for example "http://localhost/yoursite/";
$str2 = str_replace($str, "", $data);
return $str2;
}
更改URL图像
同样的问题,我面临着,而我是还设置了“DOMPDF_ENABLE_REMOTE =>真正的”中“DOMPDF / dompdf_config.inc”,但没有奏效。
有一两件事为我工作从绝对更改图像/ CSS的SRC 相对事物done.in这种情况下,我有我的服务器上的所有的CSS /图像。
我用这行代码
<img src="{{ url('/frontened/images/jeevan-green-logo.png') }}" >
它的正常工作。 谢谢。
转至dompdf_config.inc.php文件和可变DOMPDF_ENABLE_REMOTE设置为TRUE ...