mpdf 中的文档填充问题

Document padding issues in mpdf

注:mpdf 6.0

您好,

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

问题: mpdf 似乎忽略了 CSS 和在构造函数中传递的有关文档根目录 margins/padding 的值。正文被 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;
}

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

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

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

按原样写在您的 css 文件中。它解决了我的问题。

来自构造函数的 Mpdf 文档:

在 V7.0 中 - "Parameters replaced with single $config parameter array"

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

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

这对我有用。 (10 = 10 毫米)

   $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]);