Rumah  >  Artikel  >  pembangunan bahagian belakang  >  怎么解决dompdf php乱码问题

怎么解决dompdf php乱码问题

藏色散人
藏色散人asal
2021-05-13 09:53:412667semak imbas

dompdf php乱码的解决办法:首先找到“dompdf_font_family_cache.php”文件;然后修改family的名称即可。

怎么解决dompdf php乱码问题

本文操作环境:windows7系统、PHP7.1版,DELL G3电脑

php导出pdf,dompdf中文字体乱码解决办法(特别是代码迁移引起的乱码)

dompdf\lib\fonts\dompdf_font_family_cache.php记住这个文件里面存放的是字体生成的缓存,迁移时如果覆盖了这个文件会导致乱码而且很难找到出错的地方,相信我。。。。

dompdf是php把html导出pdf的工具,十分好用,除了个别css3的属性不支持,其他都非常不错,中文需要引用中文字体,具体办法官方有这里简单说下:

代码:

$html = &#39;<html>
<head>
   <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<style>

@font-face
{
   font-family:ttt;
   src: url(/static/font/simkai.ttf)

}

body {
       font-family: ttt, sans-serif;
   }</style></head>
<body >
<p style="font-family:ttt;">
测	测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试</p></body>
</p></body>
</html>&#39;;
//echo $html;exit;
$options = new Options();
$options->set(&#39;enable_remote&#39;, TRUE);
$dompdf = new Dompdf($options);
$dompdf->load_html( $html, &#39;UTF-8&#39;);;
// $dompdf->load_html( $html, ‘GBK‘);
$dompdf->render();
$dompdf->stream("sample.pdf", array("Attachment"=>0));exit;

结果:

需要说明:

  • @font-face
    {
    font-family:ttt;
    src: url(/static/font/simkai.ttf)

}这里的ttf是字体,位置放在static/font下,在html里可以直接用font-family:ttt;来引用;

  • 就是这个文件dompdf\lib\fonts\dompdf_font_family_cache.php

如果迁移代码的时候需要把这个删掉,或者修改family的名称。

推荐学习:《PHP视频教程

Atas ialah kandungan terperinci 怎么解决dompdf php乱码问题. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel sebelumnya:php5.5如何安装redis扩展Artikel seterusnya:php和phpfpm的区别