首頁  >  文章  >  後端開發  >  怎麼解決dompdf php亂碼問題

怎麼解決dompdf php亂碼問題

藏色散人
藏色散人原創
2021-05-13 09:53:412641瀏覽

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影片教學

以上是怎麼解決dompdf php亂碼問題的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn