使用 domPDF 生成 pdf 无法正确生成
Generate pdf using domPDF does not generating correctly
我有一个功能可以生成 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
然后当我评论 return 功能并继续发送电子邮件时,我得到的是这样的
https://imgur.com/a/mziXxxQ
我不知道发生了什么。如果您有任何想法,请提供帮助。谢谢..
我发现这个包里面有很多错误。我尝试使用 php 的 wkhtmltopdf
,我看到了 laravel 的包装器,我在 github 找到了它,即 laravel-snappy
。我得到了很好的结果,我的答案得到了解决。
它与 dompdf
具有相同的代码结构,但您必须下载 wkhtmltopdf
工具并将其保存到您的计算机才能工作。
我有一个功能可以生成 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
然后当我评论 return 功能并继续发送电子邮件时,我得到的是这样的 https://imgur.com/a/mziXxxQ
我不知道发生了什么。如果您有任何想法,请提供帮助。谢谢..
我发现这个包里面有很多错误。我尝试使用 php 的 wkhtmltopdf
,我看到了 laravel 的包装器,我在 github 找到了它,即 laravel-snappy
。我得到了很好的结果,我的答案得到了解决。
它与 dompdf
具有相同的代码结构,但您必须下载 wkhtmltopdf
工具并将其保存到您的计算机才能工作。