从HTML页面打印表格

22

我有一个HTML页面,需要将其中的一个表格发送到打印机上。目前我正在使用window.print方法,但它会打印整个页面,而我只需要打印表格。有什么好的想法吗?

3个回答

37
  1. 你可以使用打印媒体类型这里有一些提示,关于如何使用样式表打印HTML页面)。

  2. 你可以通过弹出窗口来实现 - 在此窗口中仅显示表格并将其发送到打印机。

简单的例子

<script>
    function printDiv() {
        var divToPrint = document.getElementById('areaToPrint');
        newWin = window.open("");
        newWin.document.write(divToPrint.outerHTML);
        newWin.print();
        newWin.close();
   }
</script>

这个例子没有打开新窗口...什么也没发生。有什么提示吗? - user1263746
  1. 你有带有id为areaToPrint的div吗?
  2. 在之前的代码中,我有一个小语法错误 - getEElement。 现在我检查了示例 - 一切正常。
- yAnTar
outerHTML在Firefox和Chrome中已知存在问题...但这个问题是可以解决的。谢谢! - user1263746
1
在完成写作后不要忘记关闭文档:newWin.document.close(); - Guillermo Gutiérrez
我尝试过这个,但我需要包含CSS样式表的链接才能获得所需的打印输出。我该怎么做? - LYKS
你应该添加新的窗口.document.write('<link rel="stylesheet" type="text/css" href="path_to_your_css_file">') - yAnTar

11

您可以给页面上所有不需要的部分设置样式display:none。这样,您只能打印表格。

例如:

<style>
    @media only print {
        footer, header, .sidebar {
            display:none;
        }
    }
</style>

非常创造性的方式!+1 - Guillermo Gutiérrez

0
为了使其正常工作,我还需要在文档的头部部分添加这行代码。
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接