【问题标题】:Laravel PDF Chinese CharacterLaravel PDF 汉字
【发布时间】: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


【解决方案1】:

我遇到了中文字符问题,在我的情况下,刀片视图显示中文字符正常,但是生成 PDF 时没有中文字符。所以我不得不在我的刀片视图中碰运气

{{ $variable_contains_chinese }}

{!! $variable_contains_chinese !!}

还要在服务器上安装中文字体。

希望能帮到你。

【讨论】:

    猜你喜欢
    • 2015-08-14
    • 1970-01-01
    • 2011-12-28
    • 1970-01-01
    • 1970-01-01
    • 2018-04-07
    • 1970-01-01
    • 1970-01-01
    • 2018-08-22
    相关资源
    最近更新 更多