dompdf HTML 到 PDF - 无法设置页面边距


dompdf HTML to PDF - can't set margin of page

版本: 0.6.0 beta 3

我尝试以各种方式使dompdf设置页面的边距。我有一个很长的页面,有很多文字,分为几章......

我的 CSS 是这样的:

#wrapper{
    padding:8px;
}
/* other styles... */
@page{margin: 0.2in 0.5in 0.2in 0.5in;}

当 PHP 是

<?php
ob_start(); // begin collecting output
include 'makemypdf.php'; // this page output the html
$html = ob_get_clean(); // retrieve output from makemypdf.php and stop buffering

require_once("dompdf/dompdf_config.inc.php");
$dompdf = new DOMPDF();
$dompdf->load_html($html);
$dompdf->render();
$dompdf->stream("sample.pdf", array("Attachment" => false));
?>

但我得到的是一个没有边距的页面!!只应用了 #wrapper 的填充......并且它们仅应用于整个PDF的开头和结尾...

我做错了什么?

PS - 似乎只应用了下边距...但我不确定...

PPS - 我尝试过这个 css 也没有成功: 正文 { 上边距:40px; } HTML { 上边距:40px; } @page { 上边距:40px; }

我发现在这个版本的dompdf中,正文和@page都不起作用。

问题出在主 CSS 中,我把每个 tyme 都放了这一行:

*{margin:0;padding:0}

我发现 PDF 的边距是根据 HTML 的边距决定的,所以我用全局选择器删除了该行并替换为:

th,td,p,div,b ... {margin:0;padding:0}
html{margin:40px 50px}

这是"意外的",我在每一页中都获得了正确的边距。

这解决了我的问题:

        @page {
            margin: 0 !important;
            padding: 0 !important;
        }

你可以在身体标签上做到这一点,就像这样:body { margin: 0.2cm; }