【问题标题】:How to take a print out of a html table using PHP如何使用 PHP 从 html 表格中打印出来
【发布时间】:2012-07-20 19:40:59
【问题描述】:

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

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

谁能帮帮我?

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

【问题讨论】:

  • 打印在哪里?用户电脑?服务器打印机?
  • 服务器端无事可做,所以不需要php。你可以用JS做。如果你需要更多关于 JS 的细节,请在标签中添加 JS。
  • @Dagon-yep 我想在用户计算机上打印。

标签: javascript php html-table


【解决方案1】:

试试这个:

将属性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 脚本文件。

【讨论】:

  • 谢谢,我会试试这个,让你知道。我会尝试添加我的表格的打印屏幕
  • @K u s H- 我尝试使用此代码进行操作。但我不知道把这些代码放在哪里。数据 += '
    ';数据 += $('#your_content').html();数据 += '
    ';
  • 你不需要使用 jQuery 一些像这样简单的东西。看看我的回答。
【解决方案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】:

    这对于像 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/

    【讨论】:

      【解决方案4】:

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2011-11-18
        • 1970-01-01
        • 1970-01-01
        • 2012-04-22
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多