使用TCPDF生成 pdf 文件太大 - 7頁 基本在 10M左右
原因分析定位
開始以為主要是PDF中的圖片文件造成的,但是把帶有圖片的2頁去掉,結(jié)果還是10M。
經(jīng)過多次嘗試,最后就保留一個(gè)頁面,結(jié)果生成的pdf還是很大。
顯然問題不是PDF內(nèi)容造成的。
后臺定位到字體上,把 msyh 化成 stsongstdlight后,PDF 文件一下就變成了 600多K
//$pdf->SetFont('msyh', '', 12); //微軟雅黑
$pdf->SetFont('stsongstdlight', '', 12); //支持中文不亂碼
說明
分析下為啥換個(gè)字體,就能節(jié)省這么多空間大小呢?
- 我們到 vendor/tecnickcom/tcpdf/fonts 下可以看到
,這里的微軟雅黑字體就占了 8.8M,在我們生成 pdf 文件的時(shí)候,tcpdf 會(huì)把 msyh 的字體也導(dǎo)入到文件中
4.0K helvetica.php
4.0K helveticab.php
4.0K helveticabi.php
4.0K helveticai.php
4.0K hysmyeongjostdmedium.php
4.0K kozgopromedium.php
4.0K kozminproregular.php
4.0K msungstdlight.php
56K msyh.ctg.z
1.2M msyh.php
8.8M msyh.z
4.0K stsongstdlight.php
4.0K symbol.php
4.0K times.php
4.0K timesb.php
- 而 stsongstdlight 字體是tcpdf內(nèi)置的字體,只有 4.0K 左右,而且也支持中文
- 另外使用 stsongstdlight 字體生成 PDF 的速度也快了很多