首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >dompdf HTML转PDF -无法设置页边距

dompdf HTML转PDF -无法设置页边距
EN

Stack Overflow用户
提问于 2013-11-05 07:30:27
回答 2查看 54.6K关注 0票数 23

版本: 0.6.0测试版3

我想尽一切办法让dompdf设置页面的页边距。我有一个很长的页面,有很多文本,分成几章……

我的css类似于:

代码语言:javascript
复制
#wrapper{
    padding:8px;
}

/* other styles... */

@page{margin: 0.2in 0.5in 0.2in 0.5in;}

当php是

代码语言:javascript
复制
<?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,但没有成功: body { margin-top: 40px;} html { margin-top: 40px;} @page { margin-top: 40px;}

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-11-05 17:34:14

我发现body和@page都不能在这个版本的dompdf中工作。

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

代码语言:javascript
复制
*{margin:0;padding:0}

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

代码语言:javascript
复制
th,td,p,div,b ... {margin:0;padding:0}
html{margin:40px 50px}

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

现在我很高兴。我真的不知道是谁否决了我的问题,我认为这很重要!事实上,在互联网上到处都有错误的答案(使用正文或@页边距)。

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

票数 48
EN

Stack Overflow用户

发布于 2019-02-13 16:12:09

这解决了我的问题:

代码语言:javascript
复制
        @page {
            margin: 0px 0px 0px 0px !important;
            padding: 0px 0px 0px 0px !important;
        }
票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19779285

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档