繁体   English   中英

使用window.print()打印巨大的表只打印一页

[英]Printing huge table with window.print() only prints one page

我有一个非常宽的报告表的网页 - 几十列,相当多的水平滚动。 当我尝试使用window.print()打印页面时,浏览器(Firefox或Chrome)只打印一页并关闭其余部分。

有没有办法告诉浏览器打印整个网页,即使这意味着将表格溢出到更多(纸质)页面?

该表目前没有以任何方式显示或打印的样式。

打印一个非常宽的HTML表而不剪切右侧对于具有长水平表的页面,打印样式表似乎表明如果您必须采用仅CSS方法,则有点紧张。 我能想到的唯一可能是有用的(是的,我尝试过) 有点疯了

<style media="print">
table, table * {
 display:inline-block;
}
table tr {display:block;}
table td {padding:10px;}
</style>

当然,这会尝试取消普通的表格样式。

请参阅http://jsfiddle.net/jfcox/WTRxm/ ,显然是打印版本http://jsfiddle.net/jfcox/WTRxm/show/

似乎可以在Firefox和Chrome中工作(也就是说,它会将单元格作为每行的内联块流动)但我不知道标准对此有何看法。 里程可能会有所不同。

编辑:作为奖励,似乎不太难将计数器添加到单元格中,以便您知道单元格所在的列(仅在chrome中测试)。

<style media="print">
table, table * {
 display:inline-block;
}
table tr {display:block;
    counter-reset: section; }
table td {padding:10px;}
table td:before {
    counter-increment: section;
    content: counters(section, ".") " ";
}    

</style>

该表目前没有以任何方式显示或打印的样式。

这是为什么? 你写一个指定的打印样式表要好得多,因为没有办法强制(欺骗)浏览器打印水平滚动的内容,既不是通过JavaScript也不是通过CSS。

要么以其他方式破坏表格数据,要么为此目的使用样式表。

这里有一篇关于在A List上编写CSS for print文章除了让你入门,祝你好运。

您可以创建print.css来为您的打印页面设置样式。 将其链接到您的页面:

<link rel="stylesheet" type="text/css" media="print" href="print.css" />

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM