代码之家  ›  专栏  ›  技术社区  ›  P. Bateman

mpdf中的文档填充问题

  •  2
  • P. Bateman  · 技术社区  · 6 年前

    注:mpdf 6.0

    你好

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

    mpdf似乎忽略了CSS和在构造函数中传递的与文档根的边距/填充有关的值。正文由PDF文档中的边距包围(或正文填充子元素)。不过,mpdf确实使用了样式表。 观察: 将相同的HTML与相同的样式表一起提供给mpdf,在浏览器中生成看似正确的结果(查看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
            ]);
    

    ...

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

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

    3 回复  |  直到 6 年前
        1
  •  5
  •   sorabh.v6    6 年前

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

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

    在css文件中按原样编写。它为我解决了这个问题。

        2
  •  0
  •   Charlie Lynch    6 年前

    根据Mpdf文件中的Constructor函数:

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

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

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

        3
  •  0
  •   bad_coder Aravind    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]);