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 的电子邮件中

使用 Laravel DomPDF 制作 PDF 文件

codeigniter DOMPDF 显示空白屏幕,没有错误,html 生成正确但 pdf 不生成

使用 dompdf 生成 pdf 时的背景位置数组

Laravel 5.4 pdf generate:下载pdf后,在dompdf中找不到图像或输入未知图像