0

在 laravel 中生成 pdf 时,有没有办法强制使用语言?

我正在使用该软件包barryvdh/laravel-dompdf并使用刀片视图创建 pdf,如下所示:

 $pdf = PDF::loadView('businesssummary::report.pdf', [
            "vm" => $result,
            'locale' => Cache::get('locale', 'default')
        ]);

将 pdf 直接流式传输到页面时,像这样

'<div class="container"><embed src="{{ Loc::route('directory.report') }}" width="100%" height="1120" type="application/pdf" scrolling="yes"></embed></div>'

它工作得很好并且使用当前的语言环境。

但是在创建 pdf 以用作发送给用户的电子邮件中的附件时,使用的语言是应用程序的默认语言。

我可以为此设置语言环境吗,就像我为发送的电子邮件一样?我似乎找不到有关如何(或如果可能)这样做的文档。

谢谢

4

1 回答 1

0

所以我终于想出了一个简单的方法来做到这一点。

在使用 加载视图之前PDF::loadView(...),只需使用存储在缓存中的值设置区域设置,如下所示:

App::setLocale(Cache::get('locale', 'default'));

于 2020-03-14T16:04:42.660 回答