Php laravel Snappy PDF DIVs的大小不正确,使用高度:11英寸

Php laravel Snappy PDF DIVs的大小不正确,使用高度:11英寸,php,css,laravel,pdf,Php,Css,Laravel,Pdf,我使用的是Laravel snappy,我试图绝对定位6列,以便每页打印3个 查看 ... body { position: relative; } .col1-1 { text-align: right; background-color: #00dd00; position: absolute; top: 0px; left: 0px; width: 250px;

我使用的是Laravel snappy,我试图绝对定位6列,以便每页打印3个

查看

...
    body {
        position: relative;
    }

.col1-1 {
        text-align: right;
        background-color: #00dd00;
        position: absolute;
        top: 0px;
        left: 0px;
        width: 250px;
        height: 11in;
    }

    .col1-2 {
        text-align: right;
        position: absolute;
        background-color: #1c94c4;
        top: 0px;
        left: 270px;
        width: 250px;
        height: 11in;
    }

    .col1-3 {
        text-align: right;
        background-color: #46b8da;
        position: absolute;
        top: 0px;
        left: 540px;
        width: 250px;
        height: 11in;
    }

    .col2-1 {
        text-align: right;
        background-color: #dd0100;
        position: absolute;
        top: 11in;
        left: 0px;
        width: 250px;
        height: 11in;
    }

    .col2-2 {
        text-align: right;
        position: absolute;
        background-color: #c4770b;
        top: 11in;
        left: 270px;
        width: 250px;
        height: 11in;
    }

    .col2-3 {
        text-align: right;
        background-color: #da0073;
        position: absolute;
        top: 11in;
        left: 540px;
        width: 250px;
        height: 11in;
    }
</style>
</head>
<body>
<div class="col1-1"></div>
<div class="col1-2"></div>
<div class="col1-3"></div>
<div class="col2-1"></div>
<div class="col2-2"></div>
<div class="col2-3"></div>
....
问题是这些列很短,所以第二行从第一页开始

我把页面大小设为字母

    'pdf' => array(
    'enabled' => true,
    'binary' => 'C:\wkhtmltopdf\bin\wkhtmltopdf',
    'timeout' => false,
    'options' => array('page-size'=>'letter'),
所以我不确定下一步该怎么办

我觉得这是一个缩放问题


如果我不使用Snappy,只在屏幕上显示页面并以PDF格式打印屏幕,结果会更好(只差几个像素),但我当然需要以PDF格式返回页面。

Snappy使用wkhtmltopdf,而wkhtmltopdf又使用Webkit呈现HTML。(如果我的建议对您没有帮助,可能会帮助您查找更多信息,因为您的问题可能与Snappy无关。)

我认为你可以通过防止页面在列中破裂来解决你的问题。。为此,您可以在每个列上使用以下CSS:

   .col{
    page-break-inside: avoid;
    }
您还可以尝试将3列包装在一个div中,并在包装div上应用该css


您也可以尝试在列上使用
分页符after:avoid
分页符before:avoid
,或者在列集合之间创建一个空div,并将其样式设置为“分页符after:always”。

我从其他地方的建议中使用
分页符after:always
尝试了两个集合之间的空div,但运气不佳。最后,我只是玩了一些Snappy选项(我假设这些选项会传递给wkhtmltopdf)并使用了
“zoom”=>1.2
一切似乎都很合适。虽然这只是一项工作。。。
   .col{
    page-break-inside: avoid;
    }