【发布时间】:2015-12-04 08:27:29
【问题描述】:
我正在使用 laravel,并且我正在使用 barryvdh/laravel-dompdf 作为 pdf 报告生成器,我对中文字符有一些问题,但我从 google 获得了使用此 css 代码导入字体的解决方案:
<style>
@font-face {
font-family: 'Noto Sans';
font-style: normal;
font-weight: 400;
src: url("<?php echo $_SERVER["DOCUMENT_ROOT"]; ?>/packages/digitization/fonts/fireflysung.ttf") format('truetype');
}
* {
font-family: Noto Sans, DejaVu Sans, sans-serif;
}
</style>
实现该代码后,它的工作,它显示汉字,但加载页面变得很慢,当我在表格上保存 5 个数据的 PDF 时,pdf 文件大小达到 7Mb..
是真的吗?还是我做错了什么?
【问题讨论】:
-
试试这个:在你的 dompdf 库中搜索文件
dompdf_config.custom.inc.php并指定:define("DOMPDF_ENABLE_FONTSUBSETTING", true);取消注释该指令 -
我想知道你的 html 的 charset encoding 是什么。大小可能来自字体,pdf默认嵌入字体。
-
处理您的文档会很慢,因为 dompdf 必须第一次获取字体指标(通过 php-font-lib)。我希望它在随后的渲染中会变得更好,但是对于这么大的字体来说它可能仍然有点慢。
标签: php laravel pdf fonts dompdf