美文网首页
TCPDF - 生成PDF文件太大 (大于9M)

TCPDF - 生成PDF文件太大 (大于9M)

作者: PHP的点滴 | 来源:发表于2019-06-22 20:28 被阅读0次

    使用TCPDF生成 pdf 文件太大 - 7页 基本在 10M左右

    原因分析定位

    开始以为主要是PDF中的图片文件造成的,但是把带有图片的2页去掉,结果还是10M。
    经过多次尝试,最后就保留一个页面,结果生成的pdf还是很大。
    显然问题不是PDF内容造成的。

    后台定位到字体上,把 msyh 化成 stsongstdlight后,PDF 文件一下就变成了 600多K

    //$pdf->SetFont('msyh', '', 12); //微软雅黑
    $pdf->SetFont('stsongstdlight', '', 12);  //支持中文不乱码
    

    说明

    分析下为啥换个字体,就能节省这么多空间大小呢?

    • 我们到 vendor/tecnickcom/tcpdf/fonts 下可以看到 \color{red}{8.8M msyh.z} ,这里的微软雅黑字体就占了 8.8M,在我们生成 pdf 文件的时候,tcpdf 会把 msyh 的字体也导入到文件中
    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内置的字体,只有 4.0K 左右,而且也支持中文
    • 另外使用 stsongstdlight 字体生成 PDF 的速度也快了很多

    相关文章

      网友评论

          本文标题:TCPDF - 生成PDF文件太大 (大于9M)

          本文链接:https://www.haomeiwen.com/subject/ujjeqctx.html