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 错误的主要内容,如果未能解决你的问题,请参考以下文章