如何构建一个用于打印的网页,以便它不会在页面上严重分裂?

时间:2008-10-03 11:34:40

标签: printing page-break

我有一个生成长报告的Web应用程序,我需要打印它。如果我只打印页面,它将在物理页面的末尾打破。如何计算网页中断的位置,以便在打印时页面符号与物理页面对齐?

5 个答案:

答案 0 :(得分:8)

我们有一个系统会打印出所选订单的发票

<br style="page-break-before:always;">
每张发票之间的

。这意味着每张发票都会在新页面上显示。

使用打印样式表

也是一种好习惯
<link rel="stylesheet" href="print.css" type="text/css" media="print" />

可以隐藏/显示页面的相关区域。当有人想要实际的页面内容时,没有点打印出leftnav链接等。

答案 1 :(得分:6)

答案 2 :(得分:2)

我通常一起避免网页(HTML)打印。如果需要格式化打印,我会为客户生成PDF或CSV /电子表格格式,以便以他们想要的任何方式进行打印。

我通常会生成供全球使用的印刷品,这意味着所有类型的设置(从工作场所到工作场所)都有所不同(例如,纸张尺寸:法律,信件,A4等)。我发现保证美学输出是一项太大的任务。

答案 3 :(得分:1)

有一个css属性可以尝试确保分页符的位置。您可以为元素提供规则page-break-before: always或page-break-after:always`以指示中断是应该在元素之前还是之后。这对浏览器的支持很差,我不会依赖它。有关详细信息,请参阅http://www.w3schools.com/CSS/pr_print_pageba.asp

答案 4 :(得分:0)

使用CSS page-break-before/after

其他方式:

  • 使用JasperReports并将数据加载到报告中,而不是加载html页面
  • 使用Apache FOP与XSL将您的HTML(或原始数据)转换为FOP,然后转换为PDF

这两种方法都非常广泛,所以如果你不想花更多精力直接跳到另一个答案......