Dompdf 远程图像未以 pdf 格式显示

新手上路,请多包涵

在我的服务器上,通过 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 的问题,我在我的 localhost 中设置了 false,它现在提供与服务器相同的输出。

所以,现在的问题是我想用 allow_url_fopen = false 以 PDF 格式显示远程图像

  • 我尝试了近 5-10 种独特的方法来做到这一点。
  • 我试图在 php 文件中显示图像(通过设置标题),然后在 pdf 中显示 php 链接
  • 我也尝试通过 php 的绝对路径显示图像,但没有任何效果。
  • 我尝试通过函数中的 curl 获取图像,然后将其显示在 php 文件中……但没有运气。

有没有人可以建议我如何在 pdf 中显示图像。我总是得到的错误是……

 Image not found
http://localhost/dompdf/image.php

Image not found
http://localhost/dompdf/image.jpg

原文由 TechCare99 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 754
2 个回答

我有同样的问题, 在实时服务器上找不到 dompdf 图像

我找到了它的解决方案,你只需要仔细检查图像路径,

考虑您的实时服务器图像路径

<img src="http://www.example.com/public/images/thumb.png">

您只需将其更改为,

 <img src="public/images/thumb.png">

注意:确保所有设置都与您所做的相同。

我希望这能帮到您。

原文由 Irfan Ahmed 发布,翻译遵循 CC BY-SA 3.0 许可协议

实际上问题出在远程服务器 dompdf 上没有显示 .png 但 .jpg 有效,我认为简单的解决方案是,

 $extension = substr('1.png', - 4);
    if($extension == '.png' || $extension == '.PNG')
    {
        //convert image png to jpg, because dompdf png not working on Remote Server.
        $image = imagecreatefrompng('1.png');
        imagejpeg($image, '1.png', 100);
        $profileimage = '1.jpg';

    }

生成pdf后,您可以取消链接上面的临时jpg文件。

原文由 MAYUR SANCHETI 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题