【问题标题】:DOMPDF what is wrong with text height?DOMPDF 文本高度有什么问题?
【发布时间】:2015-01-04 18:34:29
【问题描述】:

我已经为 DOMPDF 中的一个问题苦苦挣扎了一周...

所以我有一个需要转换为 PDF 的 HTML 模板文件。我使用 jQuery 加载并测量模板文件的高度,然后调用 DOMPDF 来转换模板文件,并将高度传递给 DOMPDF,以便所有内容都适合第一个 PDF 页面。 (我不想要标准的 A4 页面,我只想要一个高度可变的页面)。

效果很好。

但有一件事搞砸了一切。即使我在 CSS 中设置了 font-size 和 line-height ,文本在 DOMPDF 中呈现的也比在 HTML 中更高。由于这个高度,所有东西都会向下移动并将页面上的最后一个元素推到新页面。

文本高度和 DOMPDF 有什么问题? 如何保持文字高度一致?

到目前为止唯一有效的是为 DIV 设置一个固定的高度,并将 line-height 设置为比 DIV 的高度小 1px(可能是因为它留下了一个小的“类似填充”的空间)。

【问题讨论】:

  • 根据我的经验,DOMPDF 总是容易出现这种情况。我几乎做了你正在做的事情:用 CSS 费力地纠正错误。我希望你能找到更好的答案,但我没能找到。
  • 你试过修改DOMPDF_FONT_HEIGHT_RATIO的值吗?
  • 好的,谢谢。将 DOMPDF_FONT_HEIGHT_RATIO 设置为 0.82 几乎以像素到像素的精度解决了我的问题。我想要添加的一个注释是不要在 css 中使用 line-height,让它自动。我不使用它得到了最好的结果。

标签: html text height dompdf page-break


【解决方案1】:

我不想窃取 cmets 中给出的答案,但实际上它的工作原理与描述的一样:Fiddle with DOMPDF_FONT_HEIGHT_RATIO。我的神奇数字是0.75(如果重要,则为 300dpi)。

define("DOMPDF_FONT_HEIGHT_RATIO", 0.75);

感谢 BrianS 和 Boriss!

【讨论】:

    【解决方案2】:

    非常感谢! 我在dompdf 0.8.6下

    值在我的 laravel 项目的 config 文件夹中的文件 dompdf.php 中。

    初始值设置为 1.1:

    "DOMPDF_FONT_HEIGHT_RATIO" => 1.1,
    

    我个人设置为 0.75,但我必须调整元素的行高,例如 h1

    不要忘记清除配置以使新值生效:

    php artisan config:clear
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-03-07
      • 1970-01-01
      • 2011-01-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多