从HTML屏幕打印动态页眉或页脚


Print a dynamic header or footer from an HTML screen

使用PHP在HTML页面的页脚中打印变量(在插入打印分页符之前(,我尝试使用此解决方案。本质上,我将打印的php变量包装在一个设置为@media print<div>中,并赋予它position:fixed; bottom:0;

但是,在打印的每一页上,变量都会重叠其自身的每个回显实例。有没有一种方法可以使用这种只显示当前页面变量值的方法将动态变量打印到页脚?

示例代码:

    <html>
    <head>
<style type="text/css">
.break { 
    page-break-after: always;
    width:0px;
    height:0px;
}
    @media screen {
        div.divFooter {
            display: none;
        }
    }
    @media print {
        div.divFooter {
            position: fixed;
            bottom: 0;
        }
    }
    </style>
    </head>
    <body>
<?php
$footer = ''; //footer is a dynamic variable whose value is set within a loop that also sets page breaks.
echo '<div class="divFooter">'.$footer.'</div>';
echo '<div class="break"></div>';
?>
    </body>
    </html>

我最初的问题是,如果$footer是逐页动态的,那么对$footer的打印样式使用CSS的position: fixed; display:none; bottom:0;是否是可行的解决方案。我的解决方案是放弃@media打印样式,只在每个打印页面的生成输出底部输出我的页脚,本质上是:

    .footer {
        float:right;
    }
    <?php
    $page++;
    $break = 1;
    if ($break == 1){
        echo '<div class="footer">'.$footer.'</div>';
        $break = 0;
        echo '<hr class="break" />';
    }
    ?>

您可以尝试使用$_SERVER超级全局来确定您所在的"页面",并在此基础上更改页脚。尝试使用$_SERVER['REQUEST_URI']