【问题标题】:How to show image in generated pdf by dompdf using symfony 4.2?如何使用 symfony 4.2 在 dompdf 生成的 pdf 中显示图像?
【发布时间】:2019-09-07 09:05:08
【问题描述】:

我正在使用 DOMPDF 生成一个 pdf 文件。我的 pdf 文件是录取卡,其中包含有关特定学生的信息。

在这张准考证中,我有两张图片要展示。所以在我的树枝文件中,

个人资料图片:

<img src="{{ response['display_image'] }}" alt="Profile Pic" width="100px" height="100px" class="img-thumbnail" />

公司形象:

<img src="images/webkul.png" alt="Webkul"/>

这两个图像都没有在我的 PDF 文件中生成。我给出了“图像未找到或类型未知”。

我正在从数据库中获取个人资料图片,而公司图片是 存储在项目文件中,即,

public/assets/images/xyz.png

控制器:

$pdfOptions = new Options();

        $pdfOptions->set('defaultFont', 'Arial');
        $pdfOptions->setIsRemoteEnabled(true);
        $dompdf = new Dompdf($pdfOptions);
        $html = $this->renderView('download_pdf/index.html.twig', [
            'title' => "Admit-Card",
            'response' => $response,
            'data' => $data,
        ]);

        $dompdf->loadHtml($html);
        $dompdf->setPaper('A4', 'portrait');
        $dompdf->render();

我已附上屏幕截图。

我应该如何在我的 twig 文件中提供路径,以便可以在 PDF 文件中呈现图像?

【问题讨论】:

  • 错误很明显。我认为路径不正确。
  • @AndreiLupuleasa:我知道,但我正在寻找解决方案。
  • 磁盘上图片的完整路径是什么?
  • @AndreiLupuleasa:我在我的问题中提到过,它是'public/assets/images/xyz.png'
  • 这不是完整路径,是student/public/assets/images/xyz.png 吗?

标签: php symfony dompdf symfony-4.2


【解决方案1】:

把整个路径从磁盘上:

https://github.com/dompdf/dompdf/issues/1523

前:

use Dompdf\Dompdf;
use Dompdf\Options;
require_once 'dompdf/autoload.inc.php';
$options = new Options();
$options->set('isRemoteEnabled', TRUE);
$options->set('tempDir', '/home2/directory/public_html/directory/pdf-export/tmp');
$dompdf = new Dompdf($options);

【讨论】:

    【解决方案2】:

    其实问题出在HTML文件的头部。我正在扩展包含大量 CSS 和 JS 的项目的 head。我只是简单地移除了头部并使用了一个简单干净的头部,我的问题就解决了。

    注意: 不要将项目的页眉/页脚扩展为 pdf 文件的 Html,而是使用新的。

    【讨论】:

      猜你喜欢
      • 2020-02-03
      • 2014-02-27
      • 2016-08-04
      • 2013-05-28
      • 2019-10-20
      • 2018-01-24
      • 1970-01-01
      • 2017-08-14
      • 2012-06-06
      相关资源
      最近更新 更多