介绍
怎么在php中利用mpdf指定字段配置字体样式?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。
mpdf
composer required kartik-v/yii2-mpdf
有一个需求要求导出的pdf中需要将一个指定的字段设置为一个指定的字体,其他的信息不使用此字体
刚开始我直接将mpdf的fontdata加上我需要加上的字体文件
//配置字体目录 & # 39;fontDir& # 39;,=祝辞,array_merge (fontDirs美元,, ,Yii:: getAlias (& # 39; @common/pdf/字体# 39;), ]),//配置字体 & # 39;fontdata& # 39;,=祝辞,ArrayHelper:合并(fontData美元,, ,& # 39;sun-exta& # 39;,=祝辞,( & # 39;才能" # 39;,=祝辞,& # 39;my.ttf& # 39; & # 39;才能sip-ext& # 39;,=祝辞,& # 39;sun-extb& # 39; ,) ]),
但是当我配置了如上配置之后发现,pdf的所有信息都变成了这个指定的字体,原来这是全局配置字体
那么我又想到我配置一个无需要使用的字体,然后在页面上引用不就行了吗
于是我配置了一个字体:
& # 39; fontdata& # 39;,=祝辞,ArrayHelper:合并(fontData美元,,, ,& # 39;我# 39;,=祝辞,( & # 39;才能" # 39;,=祝辞,& # 39;my.ttf& # 39; ,), ]),
配置之后在我们需要生成的pdf的文件中加上如下属性
加上之后进行测试
但是发现:
我的其他信息变成了一个个小方块
看样子这是由于我没有进行设置我的全局字体,于是我又进行了全局字体配置
如下:
//配置字体文件目录 ,& # 39;fontDir& # 39;,=祝辞,array_merge (fontDirs美元,, ,Yii:: getAlias (& # 39; @common/pdf/字体# 39;), ]), & # 39;fontdata& # 39;,=祝辞,ArrayHelper:合并(fontData美元,, ,//配置全局字体 ,& # 39;sun-exta& # 39;,=祝辞,( & # 39;才能" # 39;,=祝辞,& # 39;msyh.ttf& # 39; & # 39;才能sip-ext& # 39;,=祝辞,& # 39;sun-extb& # 39; ,), ,//配置指定信息的字体 ,& # 39;我# 39;,=祝辞,( & # 39;才能" # 39;,=祝辞,& # 39;my.ttf& # 39; ,), ]),
配置完成之后发现没有作用,于是在需要生成的pdf文件中引入全局字体样式
<代码>身体{字体类型:sun-exta;} 代码>
引入之后发现成功
使用<代码> kartik-v/yii2-mpdf> 代码完整配置
pdf 美元;=,new pdf ([ ,& # 39;模式# 39;,=祝辞,Pdf: MODE_UTF8, ,& # 39;cssFile& # 39;,=祝辞,& # 39;@common/pdf/资产/score-mpdf.css& # 39;//css文件地址 ,//mpdf配置 ,& # 39;选项# 39;,=祝辞,( & # 39;才能调试# 39;,=祝辞,真的, & # 39;才能autoScriptToLang& # 39;,=祝辞,真的, & # 39;才能autoLangToFont& # 39;,=祝辞,真的, & # 39;才能ignore_invalid_utf8& # 39;,=祝辞,真的, & # 39;才能baseScript& # 39;,=祝辞,\ Mpdf \ Ucdn: SCRIPT_HAN, & # 39;才能tabSpaces& # 39;,=祝辞,4, & # 39;才能fontDir& # 39;,=祝辞,array_merge (fontDirs美元,, ,,Yii: getAlias (& # 39; @common/pdf/字体# 39;),//字体文件目录 ]),才能 & # 39;才能fontdata& # 39;,=祝辞,ArrayHelper:合并(fontData美元,, ,,& # 39;sun-exta& # 39;,=祝辞,( ,,,& # 39;" # 39;,=祝辞,& # 39;msyh.ttf& # 39; ,,,& # 39;sip-ext& # 39;,=祝辞,& # 39;sun-extb& # 39; ,,,, ,,& # 39;我# 39;,=祝辞,( ,,,& # 39;" # 39;,=祝辞,& # 39;my.ttf& # 39; ,,,, ]),才能 ,) ]); $ content =, $ this→renderPartial方法(& # 39;@common/pdf/score.php& # 39;,, ( ,& # 39;用户# 39;,=祝辞,模型中,美元//传递的信息 ]); 时间=美元fileName & # 39;测试pdf.pdf& # 39;; return pdf美元→输出(内容、美元,文件名,美元,pdf:: DEST_DOWNLOAD);
看完上述内容,你们掌握怎么在php中利用mpdf指定字段配置字体样式的方法了吗?如果还想学到更多技能或想了解更多相关内容,欢迎关注行业资讯频道,感谢各位的阅读!