Laravel Dompdf 生成 pdf 错误
Posted
技术标签:
【中文标题】Laravel Dompdf 生成 pdf 错误【英文标题】:Laravel Dompdf generate pdf Error 【发布时间】:2015-11-25 11:17:42 【问题描述】:我已经在使用 Laravel 5.1 和 Dompdf (barryvdh/laravel-dompdf)。 我只想从此文本生成pdf:
ţăaţţi sÎ
然后在我的pdf上生成文本:
??a??i s
代码:
$pdf = App::make('dompdf.wrapper');
$pdf->loadhtml("ţăaţţi sÎ");
$pdf->setPaper('a4')->setOrientation('landscape')->stream();
return $pdf->stream();
我能做些什么来解决这个问题? 我希望有一个人可以帮助我! 谢谢
【问题讨论】:
【参考方案1】:问题在于使用dom_pdf
处理特殊字符。
请尝试将 UTF-8 添加到 load_html()
函数:
$html = 'ţăaţţi sÎ';
$dompdf->load_html($html,'UTF-8');
如果这不起作用,我认为您可能需要调整 dompdf 配置并启用 Unicode:
dompdf_config.inc.php
mb_internal_encoding('UTF-8');
def("DOMPDF_UNICODE_ENABLED", true);
如果内容仍然不正确,请尝试转换:
$html = mb_convert_encoding($html, 'HTML-ENTITIES', 'UTF-8');
在 HTML 和 CSS 方面,请确保您以 UTF-8 呈现,同时使用支持符号和字符的字体。
* font-family: DejaVu Sans, font-size: 12px;
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
【讨论】:
$html = 'ţăaţţţi sÎ'; $dompdf->load_html($html,'UTF-8');那不行,我的配置很好:(以上是关于Laravel Dompdf 生成 pdf 错误的主要内容,如果未能解决你的问题,请参考以下文章
Laravel:尝试获取 PDF 时出现 DOMPDF 错误
如何使用 barryvdh/laravel-dompdf 将 PDF 附加到 Laravel 的电子邮件中