Laravel wkhtmltopdf - 最后一页底部的文字

时间:2017-07-21 15:40:35

标签: php laravel pdf wkhtmltopdf laravel-snappy

我正在使用laravel snappy wkhtmltopdf生成发票PDF 我想在最后一页的底部添加一些文字, 现在我已经有了页面编号的页脚html。

我试图用这种方式在最后一页显示内容:

<!DOCTYPE html>
<div id="footer_text">
     {!! nl2br($footer_text) !!}
</div>
<div class="pagination"><span id='page'></span> of <span id='topage'></span></div>
<script> 

    function remove(id) {
        var elem = document.getElementById(id);
        return elem.parentNode.removeChild(elem);
    }

    var vars={};
    var x=window.location.search.substring(1).split('&');
    for (var i in x) {
        var z=x[i].split('=',2);
        vars[z[0]] = unescape(z[1]);
    }

    document.getElementById('page').innerHTML = vars.page; 
    document.getElementById('topage').innerHTML = vars.topage; 

    if( vars.page != vars.topage && vars.topage > 1){
        document.getElementById('footer_text').innerHTML = '';
        remove('footer_text');
    }

    if(vars.topage == 1){
        document.getElementById('pages').innerHTML = '';
    }

</script> 

它确实向我显示了最后一页中的文字但是在前几页我有一个很大的空白区域,这里有一个截图:

第1页: enter image description here

第2页: enter image description here

我觉得我尝试了一切,请帮帮我

3 个答案:

答案 0 :(得分:0)

您的脚本没有问题,可能是某些样式问题。当您在之前的所有页面中删除footer_text并仅在最后一页上显示时,这会以某种方式创建太多空间。检查你的CSS必须有margin-bottom或padding-bottom,这会产生太多的空间。享受!

答案 1 :(得分:0)

迟到聚会,但看起来ID字段footer_text将被设置多次,并且ID应当是唯一的,所以我想如果您改用班级和getElementsByClassName

答案 2 :(得分:0)

使用 Wkhtmltopdf 时,页脚高度在不同页面上不能是动态的。它始终具有静态高度。如果这是您的footer.html,您必须添加到您的样式中:

body {height: 70px /例如/;位置:相对;}

所以你可以对齐底部(位置:绝对;底部:0;)#footer_text 和内容。但是,在所有上一页上仍有一些空白。 在 PDF 生成器中,页脚内容区域独立于正文内容。