在单独的页面打印Javascript?

时间:2010-08-08 19:13:36

标签: javascript php html html-table

我目前正在使用PHP并获取完整的用户详细信息并将其显示在html表中。我遇到的问题是当我打印3个表时,每个表都完美地打印在每页上。但是当我尝试打印超过3个表时,每个表向上移动并且表格在每个页面上部分打印(每页中有1½个用户详细信息)。我给了桌子一个固定的高度,但仍然部分显示。

有人可以建议在一个页面中打印单个html表的Javascript吗?

4 个答案:

答案 0 :(得分:2)

在浏览器中打印的问题在于,您所看到的并不总是您所获得的。人们有不同的打印机设置和分辨率,完全适合一个用户的纸张可能完全取决于另一个用户的纸张。在HTML中没有万无一失的方法。

使打印文档100%完美的最佳方法是生成PDF。有许多工具可以用PHP创建PDF文档 - 谷歌搜索可以帮助您实现目标。

答案 1 :(得分:2)

执行此操作的最佳方法是使用CSS。 CSS3有一个page-break-after: always属性,您可以将其应用于您的表格(另请参阅http://www.w3schools.com/CSS/pr_print_pageba.asp)。请注意,它对不同浏览器的支持还不是应该的,但IE8和其他浏览器的当前版本应该支持它。

答案 2 :(得分:0)

你可以做的一种方法是创建一个新文档(可能在一个不可见的iframe中),在那里转储表的内容并在iframe上调用.print()

正如DA指出的那样,你可以操纵打印CSS;通过隐藏除了要打印的表之外的所有内容,但这可能不适用于浏览器。

答案 3 :(得分:0)

除了在某些情况下可以调用浏览器的打印对话框之外,JavaScript对打印没有任何影响。

打印CSS可能有所帮助,但即使在所有浏览器中也没有完全支持或一致(咳嗽 IE 咳嗽

如果您想保留对打印件的绝对控制,这是我推荐PDF的少数情况之一。让您的网页上的PRINT链接回拨给服务器,重新调整数据,然后格式化为PDF并流回浏览器。