2012-01-03 39 views
0

在最近的dompdf发行版(domdpf beta 2)中,出于安全原因,内联php被禁用。这反过来又导致了以前的页脚/标题代码:如何在dompdf 6.0 beta 2中创建页脚?

<script type="text/php"> 

if (isset($pdf)) { 

    $font = Font_Metrics::get_font("helvetica", "bold"); 
    $pdf->page_text(72, 18, "Header: {PAGE_NUM} of {PAGE_COUNT}", $font, 6, array(0,0,0)); 

} 
</script> 

不再工作。

我现在试图重新创建这个脚本使用CSS做了什么。到目前为止,我已经找到了如何让CSS来算的网页:

.pagenum:before { content: counter(page); } 

我在是坚持页脚到页面底部的问题。大多数关于如何做到这一点的CSS教程似乎并不奏效。下面是我的页面的CSS:

html,body { 
    font-family:interstate; 
    height:100%; 
    width:100%; 
    overflow:auto; 
    margin-left: 40px; 
    margin-right: 40px; 
    margin-top: 20px; 
margin-bottom:40px; 
min-height: 100%; 
} 



P.breakhere {page-break-before: always} 

table 
{ 
    border-collapse: collapse; 
    page-break-inside: avoid; 
    font-size:15px; 

    } 

td 
{ 
border: 1px solid #000 

} 
.noBorder { 
    border: 0 
} 


#header {background:#ffffff url('gradient.png') no-repeat center center; 
height: 100px; 

} 

#text { 
position:relative; 
text-align:center; 
padding:10px; 
} 



.pagenum:before { content: counter(page); } 

我希望有人能向我提供适当的#footer的位,所以我的页脚文本将坚持正确的页面的底部。

谢谢!

回答

12

默认情况下,内联脚本处于禁用状态,但如果您觉得自己不容易受到任何安全问题的影响,则可以通过将DOMPDF_ENABLE_PHP设置为true来安全地重新启用它。

要使用HTML + CSS创建页眉/页脚,您可以使用固定位置元素。

CSS

#footer { 
    position: fixed; 
    bottom: 0px; 
    left: 0px; 
    right: 0px; 
    height: 100px; 
    text-align: center; 
    background-color: lightgray; 
    border-top: 2px solid gray; 
} 
.pagenum:before { 
    content: counter(page); 
} 

HTML

<div id="footer"> 
    <p>page <span class="pagenum"></span></p> 
</div> 

主要缺点的HTML + CSS的方法是,目前还没有办法让使用此方法的总页数。

+0

完美!非常感谢。 – 2012-01-03 22:51:55

+0

非常感谢。唯一适用于我的解决方案。 – migswd 2016-03-05 19:56:09