Cakepdf 不显示 DomPdf 的图像

Cakepdf not showing image for DomPdf

我正在使用 cakepdf 插件在 cakephp 应用程序中生成 pdf。 我正在为 dompdf

使用以下配置
Configure::write('CakePdf', [
            // 'engine' => 'CakePdf.WkHtmlToPdf',
            'engine' => 'CakePdf.DomPdf',
            'margin' => [
                'bottom' => 15,
                'left' => 50,
                'right' => 30,
                'top' => 45
            ],
            'orientation' => 'landscape',
            'download' => false,
            'isRemoteEnabled'=> true
            // 'enable-local-file-access' => true
]);

我已经添加了'isRemoteEnabled'=> true

显示图片我用过

<img src="<?= WWW_ROOT ?>img/4dx/01/00.png" />

我也试过

<?php echo $this->Html->image('4dx/01/00.png', ['fullBase' => true]); ?>

结果相同,未发现任何变化。 $this->Html->image 这种方式也不适用于 WkHtmlToPdf。我正在使用 PHP 版本 7.4.x

如果我使用 WkHtmlToPdf 引擎,此图像可以完美显示,但对于 dompdf,我无法获取图像,它显示未找到。喜欢下图

引擎选项必须通过engine选项传递,例如:

'engine' => [
    'className' => 'CakePdf.DomPdf',
    'options' => [
        'isRemoteEnabled' => true,
    ]
],

还要注意 WWW_ROOT 常量是一个文件系统路径!为了能够访问文件系统,您必须在最新版本的 Dompdf 中配置 chroot 选项!

'engine' => [
    'className' => 'CakePdf.DomPdf',
    'options' => [
        // allow local file access to webroot and Dompdf files
        'chroot' => [
            WWW_ROOT,
            ROOT . DS . 'vendor' . DS . 'dompdf' . DS . 'dompdf' . DS,
        ],
    ]
],

另见