【问题标题】:dompdf does wrong calculation for line breaks breaking wordsdompdf 对换行符的计算错误
【发布时间】:2012-09-06 19:33:13
【问题描述】:

我正在使用 dompdf 0.5.2 并且遇到的问题是,当一行有重音时,下一行的第一个字符被移入其中,例如:

This is a first line with áccent. T
his is a second line.

注意第一行末尾的 T,它属于第二行。默认字体和自定义加载字体都会发生这种情况。还尝试了 UTF-8 和 ISO-8859-1 编码。

【问题讨论】:

    标签: php dompdf


    【解决方案1】:

    如果有人对 0.7.0-beta 版本有同样的问题,解决方案是将以下行添加到文件 src/Dompdf/FrameReflower/Text.php 的第 272 行(就在 if ($split == 0) { 之前):

    $split = mb_strlen(mb_substr($this->_frame->get_text(), 0, $split), 'UTF-8');
    

    【讨论】:

      【解决方案2】:

      另一个对我有用的解决方案是在您的文本/字符串上使用 wordwrap PHP 函数。

      【讨论】:

        【解决方案3】:

        取自 here 的有效解决方案是将以下代码行添加到 dompdf 文件 include/text_frame_reflower.cls.php 的第 246 行之后:

        $split = mb_strlen(mb_substr($this->_frame->get_text(), 0, $split), 'UTF-8');
        

        【讨论】:

          猜你喜欢
          • 2018-03-05
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2015-07-20
          • 2011-10-31
          • 2018-04-01
          相关资源
          最近更新 更多