【问题标题】:Generate pdf using domPDF does not generating correctly使用 domPDF 生成 pdf 无法正确生成
【发布时间】:2020-07-12 18:11:33
【问题描述】:

我有一个函数可以生成一个 pdf 文件,然后通过电子邮件将其发送给某人。我首先尝试使用return view 对其进行调试,然后当我在网络选项卡中看到它时,它是正确的。但是当我通过电子邮件发送它时,我会在那里查看 pdf,pdf 样式没有正确应用或呈现。有人能告诉我该怎么做吗?有什么问题?

这是我的控制器

        $css = 'health/css/bootstrap.min.css';
        $data_type = pathinfo($css, PATHINFO_EXTENSION);
        $css_data = file_get_contents($css);

        $path = 'health/img/logo.png';
        $type = pathinfo($path, PATHINFO_EXTENSION);
        $data = file_get_contents($path);
        $base64 = 'data:image/' . $type . ';base64,' . base64_encode($data);


       //return view('emails.form',compact('base64','css_data')); test


        $pdf = \PDF::loadView('emails.form',compact('base64','css_data'));

        $beautymail = app()->make(\Snowfire\Beautymail\Beautymail::class);
        $beautymail->send('emails.welcome', [], function($message)use($pdf)
        {
            $message
                ->from('testemail@gmail.com','TEST')
                ->to('ronald.b@gmail.com', 'Test')
                ->attachData($pdf->output(), "asdf.pdf")
                ->subject('Welcome!');
        });

当我尝试先做时

return view('emails.form',compact('base64','css_data'));

我得到的是正确的,像这样 https://imgur.com/a/Dz7ifms

然后当我评论返回功能并继续发送电子邮件时,我得到的是这样的 https://imgur.com/a/mziXxxQ

我不知道发生了什么。如果您有任何想法,请提供帮助。谢谢..

【问题讨论】:

    标签: php laravel vue.js pdf pdf-generation


    【解决方案1】:

    我发现这个包有很多错误。我尝试使用用于 php 的 wkhtmltopdf,我看到了 laravel 的包装器,我在 github 上找到了它,它是 laravel-snappy。我得到了很好的结果,我的答案得到了解决。

    它的代码结构与dompdf相同,但您必须下载wkhtmltopdf工具并将其保存到您的计算机才能使用。

    【讨论】:

      猜你喜欢
      • 2017-03-17
      • 2018-07-28
      • 2015-10-30
      • 2017-08-14
      • 2012-06-06
      • 2017-05-23
      • 2014-01-07
      • 1970-01-01
      • 2012-09-13
      相关资源
      最近更新 更多