我有一个生成长报告的 Web 应用程序,我需要打印它。如果我只是打印页面,它将在物理页面的末尾中断。如何计算在网页中的中断位置,以便页面在打印时与物理页面对齐?
stu
问问题
1185 次
5 回答
8
我们有一个系统可以打印出选定订单的发票,其中放置了一个
<br style="page-break-before:always;">
每张发票之间。这意味着每张发票都会进入一个新页面。
使用打印样式表也是一个好习惯
<link rel="stylesheet" href="print.css" type="text/css" media="print" />
它可以隐藏/显示页面的相关区域。当有人想要实际页面内容时,没有必要打印出 leftnav 链接等。
于 2008-10-03T11:46:59.430 回答
2
我通常避免一起打印网页 (HTML)。如果需要格式化打印,我会生成 PDF 或 CSV/电子表格格式供我的客户以他们想要的任何方式打印。
我通常生成供全球使用的打印件,这意味着所有类型的设置都因工作场所而异(例如纸张尺寸:Legal、Letter、A4 等)。我发现这是一项太大的任务,无法保证任何地方的审美输出。
于 2008-10-03T11:41:42.373 回答
1
有一个 css 属性可以尝试确保分页符的位置。您可以为元素指定规则page-break-before: always
或 page-break-after: always` 以指示中断应该在元素之前还是之后。这对跨浏览器的支持很差,我不会依赖它。有关详细信息,请参阅http://www.w3schools.com/CSS/pr_print_pageba.asp 。
于 2008-10-03T11:44:41.963 回答
0
要么使用 CSSpage-break-before/after
其他方法:
- 使用JasperReports并将数据加载到报告中,而不是 html 页面
- 使用带有 XSL 的Apache FOP将您的 HTML(或原始数据)转换为 FOP,然后再转换为 PDF
这两种方法都相当广泛,所以如果你不想花一些精力,最好直接跳到另一个答案....
于 2008-10-03T11:42:25.913 回答