【问题标题】:mPDF images not showing on live servermPDF 图像未在实时服务器上显示
【发布时间】:2019-12-09 14:30:00
【问题描述】:

我们正在使用 mPDF 从包含小 png 图像的 html 页面生成报告 pdf 文件。

所有内容都在本地服务器上进行了测试和运行,直到几天前还在实时服务器上运行。

现在图像应该是一个小的红色 X。

我们进行了一些测试并发现了以下内容:

  1. 图片可以通过浏览器访问。
  2. 如果 src 属性指向不同网站上的图像,图像将显示在 pdf 中。

我们正在使用最新版本的 mPDF,带有 php 和 linux 服务器。

任何想法将不胜感激

【问题讨论】:

  • 你需要出示你的代码...

标签: php pdf mpdf


【解决方案1】:

您必须在您的实时服务器上安装 PHP GD 库

【讨论】:

    【解决方案2】:

    尝试使用图像的绝对路径:

    <img src="domain.com/images/logo.png" />
    

    而不是相对的,即使你的相对定义从你的“web”目录的根开始:

    <img src="/images/logo.png" />
    

    根据我的经验,mpdf 不能很好地理解图像的非绝对路径。然而,网络浏览器似乎没有任何问题并且显示正常。

    【讨论】:

    • 在我的情况下,将绝对路径更改为相对路径有效。
    【解决方案3】:

    我用了 4 个小时,图像在本地运行良好,但在 amazon ec2 上却不行。

    在 github 问题中建议的每一步都做了吗:

    • 改为base64。
    • 将相对路径更改为绝对路径。
    • png 转 jpg。

    没有任何帮助

    最后 - 重新安装 mpdf 以某种方式解决了它(不太确定为什么)。 因此,如果它对任何人有帮助,请尝试使用 composer 重新安装。

    【讨论】:

      【解决方案4】:

      简单地做

      <img src="<?php echo 'data:image/jpg;base64,'.base64_encode(file_get_contents('./template/assets/frontend/images/pdf-header.jpg')); ?>" style="width:100%;">
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-02-01
        • 2021-12-26
        • 1970-01-01
        • 2018-05-24
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多