【问题标题】:Document padding issues in mpdfmpdf 中的文档填充问题
【发布时间】:2017-10-30 11:06:51
【问题描述】:

注意:mpdf 6.0

你好,

我正在尝试使用 mpdf 生成 pdf,它需要精确定位元素以供以后打印。元素将从给定页面的最左上角开始绘制,即不应有隐式填充、边距或其他可能影响正文中元素位置的东西。

问题: mpdf 似乎忽略了 CSS 和在构造函数中传递的有关文档根的边距/填充的值。正文被 PDF 文档中的边距包围(或正文正在填充子元素)。不过,样式表确实被 mpdf 使用。 观察:与相同样式表一起提供给 mpdf 的相同 HTML 在浏览器中会产生看似正确的结果(查看 HTML)。

$mpdf = new Mpdf([
            //'debug' => true,
            'format' => 'A4',
            'margin_left' => 0,
            'margin_right' => 0,
            'margin_top' => 0,
            'margin_bottom' => 0,
            'margin_header' => 0,
            'margin_footer' => 0
        ]);

... 我尽可能将填充和边距设置为 0,尤其是:

body {
    margin: 0mm;
    padding: 0mm;
}

我不知道我哪里错了。您对我如何解决这个问题有什么建议吗?

【问题讨论】:

标签: css mpdf


【解决方案1】:

我也面临 mPDF 版本 7 的类似问题,然后我在我的 css 文件中添加了一个代码 -

@page {
  margin-top: 0px;
  margin-left:0px;
}

将其写入您的 css 文件中。它为我解决了这个问题。

【讨论】:

  • 你说得对,但在某些情况下,可能需要更通用的@page {padding: 0px}
【解决方案2】:

来自构造函数的 Mpdf 文档:

在 V7.0 中 - “参数替换为单个 $config 参数数组”

您正在使用 V6.0 尝试使用逗号分隔值。

new \mPDF(x,x,x,x,x,x,etc)

【讨论】:

    【解决方案3】:

    这对我有用。 (10 = 10mm)

       $mpdf = new \Mpdf\Mpdf([
        'tempDir' => APP_PATH . '/tmp/xyz',
        'mode' => 'utf-8',
        'format' => 'A4',
        'margin_left' => 10,
        'margin_right' => 10,
        'margin_top' => 10,
        'margin_bottom' => 10,
        'margin_header' => 10,
        'margin_footer' => 10]);
    

    【讨论】:

      猜你喜欢
      • 2015-08-09
      • 1970-01-01
      • 1970-01-01
      • 2021-03-17
      • 2014-08-06
      • 2011-03-28
      • 2011-06-20
      • 2022-01-26
      相关资源
      最近更新 更多