2010-09-02 23 views
6

我已经看到这个similar的问题。用于打印多页HTML表格并处理分页符的策略

(我强调的重要位进行脱脂读的问题更快)

虽则添加到它,我想格式的HTML表(有很多行)以这样的方式打印时,在每个分页符后重复表格标题。换句话说,表格标题在每个打印页面的顶部都是可见的。

我试过的一些事情是,当生成HTML时,计算行数,然后把空白行放在我期望发生分页的地方。在这一点上,我会再次放在表头。

但是,根据使用的是哪种打印机,页面最终会在不同位置中断。因为每台打印机似乎有略微不同的边距设置,字体大小等...

这当然,抛出了这个预测页面中断发生的整个想法。

其他人使用什么策略打印HTML表格/表格,同时保持正确的格式?

有什么想法?

+1

您可能会考虑提供表格的PDF版本。打印HTML表格永远不会因为你提到的内容而变得“完美” - 边距和字体大小。 – GrandmasterB 2010-09-02 18:11:37

+1

这已经超越了我的想法。但我希望没有这样做。我曾经在一个政府网站上看到过多页HTML表单。此表单呈现为屏幕上的一个长页面。但是从浏览器打印时,它在三页上完美格式化。每页上都有边框。这种形式甚至不是一个简单的html表格,而是由嵌套的表格和div等组成。不知怎的,它们仍然按照预期完全打印。 – 7wp 2010-09-02 18:25:19

+0

这是一个安全的网站,所以我无法轻易捕获所有外部CSS和Java脚本的页面以供以后查看。我会喜欢检查它,看看他们是如何做到的。 – 7wp 2010-09-02 18:29:11

回答

3

根据您的own link,贴大卫·托马斯回答是:

在一个切线,它可能是值得加入你的表下面的CSS THEAD {显示:表头组; },以便在所有后续页面上打印表头(对于loooooong数据表有用)。 - - 大卫托马斯09年11月19日在14:38

这个解决方案有什么问题?它不适合账单吗?

关于table-header-group

表头组(在HTML:THEAD)

像'表行集团,但对于视觉格式化,行组始终显示之前的所有其他行和行组以及任何顶部字幕之后。打印用户代理可能会在表中跨页的每个页面上重复标题行。如果一个表包含具有'display:table-header-group'的多个元素,则只有第一个元素被渲染为标题;其他人被视为他们有'显示:表行组'。

+0

啊我忽略了答案中的细节!感谢您指出了这一点! – 7wp 2010-09-02 19:13:12