【问题标题】:dompdf HTML to PDF - can't set margin of pagedompdf HTML to PDF - 无法设置页边距
【发布时间】:2013-11-15 18:06:01
【问题描述】:

版本: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; } @页 { 边距顶部:40px; }

【问题讨论】:

  • 尝试将&lt;tag style="margin: 0.2in 0.5in 0.2in 0.5in;"&gt;&lt;/tag&gt; 用作&lt;body style="margin: 0.2in 0.5in 0.2in 0.5in;"&gt;&lt;/body&gt;
  • 感谢您的回答!今天走了几步后,我弄清楚了我“做错了什么”。我已经发布了解决方案。

标签: php html css margin dompdf


【解决方案1】:

这解决了我的问题:

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

【讨论】:

    【解决方案2】:

    我发现 body 或 @page 在这个版本的 dompdf 中都不起作用。

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

    *{margin:0;padding:0}
    

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

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

    这“出乎意料”,我在每一页都得到了正确的边距。

    现在我很开心。我真的不知道谁否决了我的问题,我认为这非常重要!事实上,互联网上到处都有错误的答案(使用正文或@page margin)。

    解决方案:在 CSS html 中使用{margin:...}

    【讨论】:

    • 使用* 并尝试设置页边距似乎确实存在问题。我们需要调查一下。您仍然可以使用* 选择器,只需通过附加!important 来强制页边距,例如@page { margin: 40px 50px !important; }.
    • 仅供参考,dompdf 认为 HTML 元素和 @page 相同。 v0.6.0 beta 3 中有一个错误,您必须 include a space after the @page selector。它已在下一个版本中修复。
    • 不客气。我需要修改我关于 @page 与 HTML 元素的声明。我不认为它们是相同的,但以类似的方式影响文档。我们需要决定是否希望这两个选择器代表同一个实体。
    猜你喜欢
    • 2016-06-16
    • 1970-01-01
    • 2015-07-29
    • 1970-01-01
    • 1970-01-01
    • 2017-03-28
    • 1970-01-01
    • 2014-07-10
    • 1970-01-01
    相关资源
    最近更新 更多