0

我正在使用laravel snappy wkhtmltopdf生成发票 PDF ,我正在尝试在最后一页的底部添加一些文本,现在我已经有了一个带有页码的 footer-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: 在此处输入图像描述

第 2 页: 在此处输入图像描述

我觉得我什么都试过了,请帮助我

4

3 回答 3

0

派对迟到了,但看起来 ID footer_text 将被设置多次,并且 ID 应该是唯一的,所以我想如果你使用一个类而不是它会起作用getElementsByClassName

于 2018-07-25T09:35:09.497 回答
0

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

身体{高度:70px/例如/;位置:相对;}

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

于 2021-01-19T16:04:13.657 回答
0

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

于 2017-09-23T07:53:13.033 回答