如何在每个打印页面上打印页脚?

时间:2012-07-09 13:46:49

标签: php opencart invoice

我正在使用Open Cart为我公司订购系统 一切都是用PHP和HTML完成的。

我正在尝试修改发票页面,以在打印发票的底部包含签名行。发票可以根据行/项目的数量拉伸到多个页面,也可以批量处理,以便打印一个文档有多个发票(使用循环)。我不是一个Web开发人员,并且已经完成了我完成项目的这部分工作的能力。请给我指针或伪代码样本。

页脚代码:

<style type="text/css">
    .picklistCheck{
        width:15px;
        height:15px;
        border:1px solid #c7c7c7;
        margin:0 auto;
        border-radius:2px;
        box-shadow:inset 0px 0px 2px rgba(0,0,0,0.1);
        font-size:14pt;
    }
    .signature{
        border-bottom-style:solid;
        font-size:14pt;
        page-break-after:always;
    }
    td{
        font-size:14pt;
    }
</style>

<?php
    foreach ($orders as $order) {
        ?>
        //<div>orders go here </div>
        <?php
    }
    include ("footer.php");
?>

3 个答案:

答案 0 :(得分:4)

每当您的逻辑决定在发票中放入分页符时,请告诉它也插入以下代码:

<?php include ("footer.php"); ?>

使用您要在页脚中放置的简单html创建一个footer.php文件。上面的代码假定your scriptfooter.php位于同一目录中。

编辑: 要回答您的评论,

Include PHP.net的行为与您实际直接复制粘贴所有代码的行为完全相同,而不是包含它。但是每个包含文件都应该有自己的<?php ?>标签。如果没有<?php ?>标记,Control将只输出它在那里看到的任何内容。

Footer.php可以是一个简单的纯HTML文件:

<div id="footer">
    Company XYZ (c)2000-2012 All Copyrights Reserved
    Some other footer text.
</div>

您也可以将其命名为页脚。 html ,但如果稍后,您决定在页脚中放置一些动态数据,则很难将.html更改为{ {1}}在所有包含用各种文件编写的行中。

动态页脚示例:

.php

当然这只是一个简单的例子。

在html页面中,您可以通过在外部链接的.css文件中使用以下CSS代码来强制div:

<div id="footer">
    Company XYZ (c)2000-2012 All Copyrights Reserved
    <?php echo $who_printed." ".$who_authorized; ?>
</div>

#footer{ text-align: right; height: 20px; position:fixed; margin:0px; bottom:0px; } &amp; position:fixed;正在做这个伎俩。即使页面滚动或其他东西,也强制此bottom:0px;始终坚持到底部。就像Facebook将标题菜单添加到顶部&amp;聊天栏到底部。您还可以定义左,右属性

更新:好的,根据您的评论,以下是示例代码:

在CSS样式部分中,使用:

"footer" div

所有属性都是不言自明的。 .signature{ border-bottom-style:solid; font-size:14pt; page-break-after:always; text-align: center; height: 20px; width: 100%; margin:0px auto; position:fixed; bottom:0px; } 使文本居中对齐。 Text-align正在使这个div Width在页面上100%宽。需要在两侧放置具有相等边距的div。 .signature表示将Margin保证金置于最高位置左下角和左侧{和} 0px右边。 auto在视口/页面上修复了它。 Position表示从底部保留Bottom

在页面正文中,使用以下代码:

0px

它只是将您在CSS样式中定义的任何属性分配给<?php foreach ($orders as $order) { ?> //<div class="order">order1 go here </div> //<div class="order">order2 go here </div> //<div class="order">order3 go here </div> //<div class="order">order4 go here </div> <?php } // for each ENDS ?> <div class="signature"> Authorized by <?php echo $who_authorized; ?> | Printed by <?php echo $who_printed; ?> </div><!--//signature--> div。显然,您需要将此片段包装到您的逻辑中,该逻辑决定何时回显/引入signature div。另外,$ who_authorized&amp; $ who_printed需要保留一些价值。

对于任何大于3行的块,我总是出来(signature)PHP解析器/控件,并根据需要简单地编写HTML。然后,在需要时,我再次输入PHP(?>

如果您想使用<?php,可以省略我的代码中的最后6行(从include开始&以?>结尾,只需将此行放在那里。< / p>

<!--//signature-->

此选项还要求您在同一目录中创建名为include ("footer.php"); ?> 的文件,并在其中插入以下html代码。

footer.php

答案 1 :(得分:-1)

您的发票有哪种格式?您应该将它们创建为PDF文件以将其打印出来。在那里你可以尝试定义一个脚注 - 基于使用的php pdf库

答案 2 :(得分:-2)

使用要放在页脚中的html创建一个footer.php文件。

将此代码放在您希望页脚放在发票页面上的位置:

<?php include 'footer.php'?>

要修改页脚,请修改footer.php