PHP HTML到PDF mikehaertl / phpwkhtmltopdf页面大小问题

时间:2016-12-18 21:55:39

标签: php html pdf wkhtmltopdf

我目前正在运行mikehaertl / phpwkhtmltopdf包以将HTML转换为PDF。使用演示数据我似乎遇到了PDF渲染正确页面尺寸的问题。我需要用A4布局填充页面,但由于某种原因我得到的分辨率输出要小得多。我相信有一个我不知道的设置,或者我在HTML / CSS中遗漏了什么?

enter image description here

我正在运行的PHP是:

$pdf = new mikehaertl\wkhtmlto\Pdf(
                    array(
                    'binary' => '/usr/local/bin/wkhtmltopdf',
                        'no-outline',         // Make Chrome not complain
                            'margin-top'    => 0,
                            'margin-right'  => 0,
                            'margin-bottom' => 0,
                            'margin-left'   => 0,

                            // Default page options
                            'disable-smart-shrinking'

                )
                );
                $pdf->addPage($this->getOrderPrint($objectId));


// Save the PDF
                $pdf->saveAs(dirname(__FILE__).'/test.pdf');

getOrderPrint方法在以下HTML中正确返回:

<!DOCTYPE html>
<head>

  <style type="text/css">
    body {
      margin:     0;
      padding:    0;
      width:      21cm;
      height:     29.7cm;
    }

    /* Printable area */
    #print-area {
      position:   relative;
      top:        1cm;
      left:       1cm;
      width:      19cm;
      height:     27.6cm;

      font-size:      10px;
      font-family:    Arial;
    }

    #header {
      height:     3cm;

      background: #ccc;
    }
    #footer {
      position:   absolute;
      bottom:     0;
      width:      100%;
      height:     3cm;

      background: #ccc;
    }
  </style>
</head>
<body>

<div id="print-area">
  <div id="header">
    This is an example headernbmv.
  </div>
  <div id="content">
    <h1>Demo</h1>
    <p>This is example content</p>
  </div>
  <div id="footer">
    This is an example footer.
  </div>
</div>

</body>
</html>

1 个答案:

答案 0 :(得分:0)

尝试将'page-size' => 'A4'添加到您的wkhtmltopdf选项中。