我使用PDF :: loadHtml在Laravel 5.3中创建pdf
一切都很好,但我有utf8问题我无法解决它
我的代码:
$text="<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
</head>
<body>
<h2 style="text-align:center">Birinci gün</h2>
<table style="width:100%;" border="1">
<tbody><tr>
<td></td>
<td>Həftə</td>
<td style="text-align:center">Dərs</td>
<td style="text-align:center">Vaxt</td>
<td style="text-align:center">Müəllim</td>
<td style="text-align:center">Korpus</td>
<td style="text-align:center">Otaq</td>
</tr>
<tr>
<th rowspan="2">1</th>
<td style="padding-left:5px">Üst</td>
<td><input name="ders[]" value=""></td>
<td style="text-align:center"><input name="vaxt[]" value=""></td>
<td style="text-align:center"><input name="teacher[]" value=""></td>
<td style="text-align:center"><input name="korpus[]" value=""></td>
<td style="text-align:center"><input name="otaq[]" value=""></td>
</tr> </tbody></table>
</body>
</html>";
$pdf = PDF::loadHTML('<?xml encoding="UTF-8">' .$text, 'UTF-8');
return $pdf->stream();
答案 0 :(得分:1)
PDF::loadHtml
不能很好地支持 utf-8 字符,纯 php 库太难在 Laravel 中专门使用,而且很多库也有这个问题。
我通过开发和简化 tcpdf 制作了 laravel composer 包,以便非常简单。
只需通过以下命令安装它:
<块引用>作曲家需要 vatttan/apdf
现在可以在您喜欢的任何地方使用。例如,在您的视图中,您可以使用:
use Illuminate\Support\Facades\Route;
use Vatttan\Apdf\Apdf;
Route::get('/', function () {
$apdf = new Apdf();
$apdf->print('<p style="text-align: right">Birinci gün</p>');
});
完成!
答案 1 :(得分:0)
好的,这是你需要做的。
将代码移至刀片文件。切勿在控制器中编写HTML代码。
在您的刀片文件中,设置UTF-8元标记:
在控制器的方法
中$ pdf = PDF :: loadView('PDF_NAME.pdf',$ data);
返回$ pdf-&gt; download('invoice.pdf');