使用TCPDF生成 pdf 文件太大 - 7頁(yè) 基本在 10M左右
原因分析定位
開(kāi)始以為主要是PDF中的圖片文件造成的赢笨,但是把帶有圖片的2頁(yè)去掉摔桦,結(jié)果還是10M盛正。
經(jīng)過(guò)多次嘗試隧熙,最后就保留一個(gè)頁(yè)面灶似,結(jié)果生成的pdf還是很大荠卷。
顯然問(wèn)題不是PDF內(nèi)容造成的模庐。
后臺(tái)定位到字體上,把 msyh 化成 stsongstdlight后油宜,PDF 文件一下就變成了 600多K
//$pdf->SetFont('msyh', '', 12); //微軟雅黑
$pdf->SetFont('stsongstdlight', '', 12); //支持中文不亂碼
說(shuō)明
分析下為啥換個(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 的速度也快了很多