Symfony 从控制台命令运行时,mpdf无法打开映像

Symfony 从控制台命令运行时,mpdf无法打开映像,symfony,twig,symfony4,mpdf,symfony-console,Symfony,Twig,Symfony4,Mpdf,Symfony Console,我正在使用Symfony 4.3 我有一个InvoiceService,它将发票生成为pdf文件。 对于html内容,我使用\Twig\Environment::render()方法。在模板中,我对图像使用了twigasset()函数。 当我从controller运行此服务时,发票生成没有问题,但当我从控制台命令运行此服务时,我得到错误: 警告:fopen(/img/core img/logo.png):无法打开流:没有这样的 文件或目录 当不是从控制器运行时,细枝环境是否应以不同的方式使用?

我正在使用Symfony 4.3
我有一个
InvoiceService
,它将发票生成为pdf文件。
对于html内容,我使用
\Twig\Environment::render()
方法。在模板中,我对图像使用了twig
asset()
函数。

当我从controller运行此服务时,发票生成没有问题,但当我从控制台命令运行此服务时,我得到错误:

警告:fopen(/img/core img/logo.png):无法打开流:没有这样的 文件或目录

当不是从控制器运行时,细枝环境是否应以不同的方式使用?

这是负责的代码:

$html = $this->twig->render(
                'invoice.html.twig',
                array(
                    'reservation' => $reservation,
                )
            );
            $waterMarkText = ($this->kernel->getEnvironment() !== 'production') ? $this->translator->trans('invoice.test_document') : $this->translator->trans('invoice.paid');
            $this->mpdf->SetProtection(array('print'));
            $this->mpdf->SetTitle("Apartamenty Grodowa 2 - faktura");
            $this->mpdf->SetAuthor("Gall");
            $this->mpdf->SetWatermarkText($waterMarkText);
            $this->mpdf->showWatermarkText = true;
            $this->mpdf->watermark_font = 'DejaVuSansCondensed';
            $this->mpdf->watermarkTextAlpha = 0.1;
            $this->mpdf->SetDisplayMode('fullpage');
            $this->mpdf->WriteHTML($html);
            $this->mpdf->Output($invoice->getFilePath(),
                Destination::FILE);
通过依赖项注入将
$this->twig
作为
\twig\Environment
传递 和
$this->mpdf
正在

new Mpdf([
                'margin_left' => 20,
                'margin_right' => 15,
                'margin_top' => 48,
                'margin_bottom' => 25,
                'margin_header' => 10,
                'margin_footer' => 10
            ]);

我试图通过
asset('path/to/image')
absolute\u url(asset('path/to/image'))
来包含图像,这两种方法都会导致白色方框中的红色X代替图像。从控制器运行时,映像就在那里。

使用绝对路径,从控制台命令运行时,根目录与项目的根目录不同s@DarkBee是的,关于->Output()方法,您是对的。但渲染图像的正确方式是什么?我总是用白色的x代替图像。尝试了绝对url(asset('path/to/image')和一些路径变体,但没有任何效果。