如何使用PHP从html表中打印出来

时间:2012-07-22 04:40:53

标签: javascript php html-table

我在PHP页面中有一个表。这是发票。 所以我想在添加项目后打印它, 我已经完成了编码部分,所有的工作都正常。

现在我只想将发票表打印到纸上  按下按钮。我在Google上搜索过,但没有发现这样做的线索。

任何人都可以帮助我吗?

这是我右手边的桌子。它由左侧的表格填充 所以我只想打印右边的桌子:

enter image description here

4 个答案:

答案 0 :(得分:6)

试试这个:

将属性id添加到您的表格your_content

放置一个锚标记:

   <a href="javascript:void(0);" id="printPage">Print</a> 

添加脚本:

此脚本最初会显示表格内容的打印预览。

 <script lang='javascript'>
 $(document).ready(function(){
  $('#printPage').click(function(){
        var data = '<input type="button" value="Print this page" onClick="window.print()">';           
        data += '<div id="div_print">';
        data += $('#your_content').html();
        data += '</div>';

        myWindow=window.open('','','width=200,height=100');
        myWindow.innerWidth = screen.width;
        myWindow.innerHeight = screen.height;
        myWindow.screenX = 0;
        myWindow.screenY = 0;
        myWindow.document.write(data);
        myWindow.focus();
    });
 });

复制脚本部分并将其放在页面顶部。并将打印链接[上面的锚标记]放在任何地方。并确保您已包含jquery脚本文件。

答案 1 :(得分:6)

这对于像jQuery这样的情况来说太微不足道了所以你应该使用普通的Javascript来做到这一点。将它放在页面上的某个位置,看看它是否有效:

<a href="javascript:void(0);" onclick="printPage();">Print</a> 

<script type="text/javascript">
 function printPage(){
        var tableData = '<table border="1">'+document.getElementsByTagName('table')[0].innerHTML+'</table>';
        var data = '<button onclick="window.print()">Print this page</button>'+tableData;       
        myWindow=window.open('','','width=800,height=600');
        myWindow.innerWidth = screen.width;
        myWindow.innerHeight = screen.height;
        myWindow.screenX = 0;
        myWindow.screenY = 0;
        myWindow.document.write(data);
        myWindow.focus();
    };
 </script>​​​​​​

您可以在此处查看演示:http://jsfiddle.net/Pxqtb/

答案 2 :(得分:2)

我使用了这段代码,它解决了我的问题。谢谢大家帮助我......

function printlayout() {
     var data = '<input type="button" value="Print this page" onClick="window.print()">';           
       var DocumentContainer = document.getElementById('printlayout');
        //data += $('printlayoutable').html();
        //data += '</div>';
var WindowObject = window.open('', "TrackHistoryData", 
                              "width=740,height=325,top=200,left=250,toolbars=no,scrollbars=yes,status=no,resizable=no");           
 WindowObject.document.writeln(DocumentContainer.innerHTML);
  //WindowObject.document.writeln(DocumentContainer.innerHTML);
        WindowObject.document.close();
        WindowObject.focus();
        WindowObject.print();
        WindowObject.close();

答案 3 :(得分:1)

您有几个选择。 (1)如果您仅使用发票创建新的HTML页面,则用户可以使用浏览器的打印容量打印该页面。 (2)或者,您可以允许用户下载您创建并打印的发票文档。 (3)您可以将JavaScript命令window.print();与#1结合使用。看看this