使用 CSS 在 PDF 的每一页中添加页脚文本

Posted

技术标签:

【中文标题】使用 CSS 在 PDF 的每一页中添加页脚文本【英文标题】:Add footer text in each page of PDF using CSS 【发布时间】:2015-09-03 21:17:06 【问题描述】:

我需要在 PDF 的每一页中应用页眉和页脚文本,因为我正在使用 CSS 的下面一行。通过这个,我可以在每个页面中应用页眉文本,但不能在页脚文本中应用。我只在 PDF 的最后一页获取页脚文本。

   @@page 
         @@top 
                content: element(header);
            

            @@bottom 
                content: element(footer);
            
        

        header 
            padding: 10px;
            position: running(header);
            

     footer 
            padding: 5px;
            position: running(footer);
         

【问题讨论】:

【参考方案1】:

我假设您正在使用 dompdf 之类的东西从 html 生成 PDF。如果不是,我道歉并在其他地方发现了与此类似的代码,它会在所有页面上生成页眉和页脚。这似乎适用于从浏览器和 PDF 正常打印。

CSS

<style type="text/css">
<!-- 
@page 
 margin: 2cm;


.header, .footer
 position: absolute;


.footer
 bottom:0;
 height: 40px;


.header
 top: 0;
 height: 40px;
 

.content
 margin-top: 45px;
 margin-bottom: 45px;

-->
</style>

HTML 代码

<div class="header">
  Header html goes here
</div>
<div class="content">
  page content goes here
</div>
<div class="footer">
  footer code goes here
</div>

添加内容类以及在元素页眉和页脚中指定的高度有助于阻止内容只写在每个页面的页眉和页脚中。

【讨论】:

【参考方案2】:

我有同样的问题,问题是你必须把“页脚”和“页眉”的 div 放在页面的顶部,否则页脚将不起作用。不知道为什么...

【讨论】:

【参考方案3】:

#footer 
  position: fixed;
  width: 100%;
  bottom: 0;
  left: 0;
  right: 0;


#footer p 
  border-top: 2px solid #555555;
  margin-top:10px;
<div id="footer">
  <p>footer text</p>
</div>

【讨论】:

这个答案可以通过评论你做了什么以及它为什么起作用来改进。

以上是关于使用 CSS 在 PDF 的每一页中添加页脚文本的主要内容,如果未能解决你的问题,请参考以下文章

使用飞碟,如何在页脚的每一页上生成一个带有页码和总页数的 pdf?

如何为使用 Rotativa 生成动态内容的 PDF 生成页脚

如何为 xsl-fo 中的每个页面添加页眉和页脚以生成 pdf

如何在 Libre Office Writer 的每一页上插入不同格式的不同文本?

WPS文字如何将图片设为背景,并应用到后面的每一页。

请高手解惑,WPS页码第几页共几页,共几页中如何自动把第一页不包含在内?