页脚未按预期放置

时间:2019-03-01 20:07:06

标签: css wkhtmltopdf

我正在尝试使用wkhtmltopdf创建PDF文件。我想在页面底部放置一个div。 我的环境是Windows 10,wkhtmltopdf 0.12.5

html

<!DOCTYPE html>
<html>
    <head>                        
        <style>
            .footer {
              position: absolute;
              bottom: 0;
              width: 100%;
            }
        </style>
    </head>
    <body>
        <div>
            some text
        </div>
        <div class="footer">
            Footer info
        </div>
    </body>
</html>

Firefox,镶边和边缘将页脚置于底部,但是使用命令

运行html文件时
"c:\Program Files\wkhtmltopdf\bin\wkhtmltopdf.exe"  page.html page.pdf

我在“一些文本”部分下找到了页脚(甚至覆盖了一点) enter image description here ]

我在做什么错?我还尝试将css链接为一个单独的文件,但这也不起作用(结果相同)。

2 个答案:

答案 0 :(得分:1)

页脚的css位置取决于视口大小,视口大小是浏览器的客户端(窗口)大小。当您调整窗口大小时,您将意识到页脚仍位于浏览器的底部。

wkhtmltopdf在虚拟视口中以未指定的大小呈现html。由于您的HTML无法扩展此视口,因此,其呈现方式就好像位于浏览器窗口中一样,以最小的高度容纳您的内容。

wkhtmltopdf中内置了对页眉和页脚节的支持。如果将页脚内容生成为单独的 HTML文件,则可以使用以下命令行将页脚放在生成的文档的底部,默认情况下为A4大小:

"wkhtmltopdf.exe" --footer-html "footer.html" "input.html" "output.pdf"

还可以在文档中搜索“页眉”和“页脚”关键字,以查看页面布局选项:

https://wkhtmltopdf.org/usage/wkhtmltopdf.txt

答案 1 :(得分:1)

我将Ishmaeel的回复标记为正确答案,因为我认为他的建议是最正确的,尽管我不希望被迫为页脚/页眉使用单独的文件。我喜欢选项,不一定是义务。

但是,对我来说,至少在我有时间做正确的事情之前,通过移除该问题可以解决

<!DOCTYPE html>

做到了这一点,而我的逻辑没有任何改变。