在PHP中打印页面设置

时间:2014-01-13 12:42:29

标签: php printing

我目前正在开发一个执行发票等流程的网络应用程序。 客户使用点阵打印机打印发票表。他们说打印的要求好像一张纸上有5件以上,其余部分应作为下一张纸。 我已经使用PHP制作了但我不知道如何在下一页打印下一页。它只是按顺序打印,导致打印成2页的纸张。任何帮助或想法将不胜感激。下面是我生成工作表的代码。

由于

<script type="text/javascript">
function printPage(){
    var divElements = document.getElementById('printDataHolder').innerHTML;
    var oldPage = document.body.innerHTML;
    document.body.innerHTML="<link rel='stylesheet' href='css/common.css' type='text/css' /><body class='bodytext'>"+divElements+"</body>";
    window.print();
    document.body.innerHTML = oldPage;
    }
</script>

    <?php
    $limit=5;
    $cnt=0; // for table header and footer
    $cnt2=1;// for no of rows count to print total values in end
    $total=0;
    ?>
    <div id="contentHolder" align="center">
    <input type="button" value="Print" class="btnclass" onclick="printPage()" /> <input type="button" class="btnclass" value="Click to Proceed" style="width:100px;" onclick="Javascript:window.location.href='invoice.php';" />
    <br />
    <div id="printDataHolder">
    <?php while($data=mysql_fetch_array($invcontents)){ ?>
    <?php if($cnt==0){ ?>
    <table width="800" border="0" cellspacing="0" cellpadding="0" style="border:1px solid #4E9A91;">
      <tr>
        <td height="29" colspan="4" style="font-size:22px; padding-left:10px;"><strong>OvalTechnologies</strong></td>
      </tr>
      <tr>
        <td colspan="4" style="padding-left:10px;"><?php echo($branchdetails['address']); ?></td>
      </tr>
      <tr>
        <td height="19" colspan="4" style="padding-left:10px;">Website : www.ovaltechnologies.in&nbsp;&nbsp;Phone No : <?php echo($branchdetails['phoneno']); ?></td>
      </tr>
      <tr>
        <td height="12" colspan="4" style="border-bottom:1px solid #4E9A91;">&nbsp;</td>
        </tr>
      <tr>
        <td height="28" colspan="3" style="padding-left:10px;">Customer Name : <?php echo($invtotal['customername']); ?></td>
        <td width="226">&nbsp;</td>
      </tr>
      <tr>
        <td width="309" height="28" style="padding-left:10px;border-bottom:1px solid #4E9A91;">Invoice No : <?php echo($invoiceid); ?></td>
        <td colspan="2" style="border-bottom:1px solid #4E9A91;">Paid As : <?php echo($invtotal['paidas']); ?></td>
        <td style="border-bottom:1px solid #4E9A91;">Date : <?php echo(getonlydatefromdatetime(changefromdbdate($invtotal['invoicedate']))); ?></td>
      </tr>
      <tr>
        <td height="28" class="rowborder" style="padding-left:10px;"><strong>Item Name</strong></td>
        <td width="136" class="rowborder"><strong>Rate</strong></td>
        <td width="129" class="rowborder"><strong>Qty</strong></td>
        <td class="rowborder"><strong>Amount</strong></td>
      </tr>
      <?php } ?>
      <tr>
        <td align="center" height="28" style="padding-left:10px;"><?php echo($data['item']); ?> : <?php echo($data['brand']." "); ?><?php echo($data['type']); ?></td>
        <td align="center"><?php echo($data['billedamount']); ?></td>
        <td align="center"><?php echo($data['quantity']); ?></td>
        <td align="center"><?php echo($data['billedamount']*$data['quantity']); ?></td>
      </tr>
      <?php
      if($cnt2==$invcount){//printing emptylines to fill up page
          for($i=$cnt+1;$i<$limit;$i++){
            ?>
             <tr>
            <td height="28" style="padding-left:10px;">&nbsp;</td>
            <td>&nbsp;</td>
            <td>&nbsp;</td>
            <td>&nbsp;</td>
            </tr>
            <?php
          }
      }//printing emptylines to fill page ends
      ?>
      <?php if($cnt==$limit-1 || $cnt2==$invcount){ ?>
      <?php if($invtotal['transport']!="") {?>
      <tr>
        <td style="padding-left:10px; border-top:1px solid #4E9A91;" class="rowborder" height="28">Transport : <?php echo($invtotal['transport']); ?></td>
        <td class="rowborder" style="border-top:1px solid #4E9A91;">Transport Cost : <?php echo($invtotal['transportcost']); ?></td>
        <td class="rowborder" style="border-top:1px solid #4E9A91;">Destination : <?php echo($invtotal['destination']); ?></td>
        <td class="rowborder" style="border-top:1px solid #4E9A91;">&nbsp;</td>
      </tr>
      <?php } ?>
      <tr>
        <td height="28" class="rowborder" style="border-top:1px solid #4E9A91;">&nbsp;</td>
        <td class="rowborder" style="border-top:1px solid #4E9A91;"><?php if($invtotal['transport']!="") {if($invtotal['addtransport']=="no"){echo("Transport Cost Not Added");}}?></td>
        <td class="rowborder" style="border-top:1px solid #4E9A91;">Total</td>
        <td class="rowborder" style="border-top:1px solid #4E9A91;"><?php echo($invtotal['totalamount']);?></td>
      </tr>
      <tr>
        <td height="28">&nbsp;</td>
        <td>&nbsp;</td>
        <td>&nbsp;</td>
        <td align="center">Invoice Done By</td>
      </tr>
      <tr>
        <td>&nbsp;</td>
        <td>&nbsp;</td>
        <td>&nbsp;</td>
        <td>&nbsp;</td>
      </tr>
      <tr>
        <td>&nbsp;</td>
        <td>&nbsp;</td>
        <td>&nbsp;</td>
        <td>&nbsp;</td>
      </tr>
      <tr>
        <td>&nbsp;</td>
        <td>&nbsp;</td>
        <td>&nbsp;</td>
        <td>&nbsp;</td>
      </tr>
    </table><br />
    <?php } ?>
    <?php 
    $cnt++;
    $cnt2++;
    if($cnt==$limit){
        $cnt=0;
    }
    } ?>
    </div>
    </div>
    <?php 
    } ?>

1 个答案:

答案 0 :(得分:0)

http://www.php.net/manual/en/function.printer-set-option.php

中看不到这些选项

但你可以在这里查看函数http://www.php.net/manual/en/ref.printer.php

printer_start_doc - 开始新文件
printer_start_page - 开始新页面