如何在Web应用程序中打印多页报告?

时间:2012-01-03 09:58:56

标签: printing report webpage

我有一个以HTML格式生成报告的Web应用程序。有时这些报告变得非常多,窗口显示滚动条。 我遇到的问题是我可以打印我在网页上看到的内容,每当我想要打印它们时,我打印的页面不超过1页。所以我失去了其他我希望在其他论文中发布的报道。

我该怎么做?

2 个答案:

答案 0 :(得分:7)

问题的本质

您的问题与样式有关。

很难说出你的问题究竟是什么 - 我们没有机会看到你的样式表。当然,你应该重写它们以不裁剪页面。

应用不同的样式表进行屏幕和打印

一个想法是将当前样式表更改为仅应用于屏幕媒体将不同的样式表专门应用于打印媒体

您可以在HTML中执行此操作:

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

或类似CSS(example from W3C):

@import url("fancyfonts.css") screen;
@media print {
    /* style sheet for print goes here */
}

特定于打印的样式

有关特定于打印的样式的详细信息,请参阅以下页面:http://www.w3.org/TR/CSS2/page.html

在您的情况下,以下样式可能会有用:

table { page-break-inside: auto; }
tr { page-break-inside: avoid; page-break-after: auto; }
thead { display: table-header-group; }
tfoot { display: table-footer-group; }

它将允许表内的分页符,将尝试避免行内的分页符,并将在每个页面上重复表的页眉和页脚。但是,请确保它是否适用于您的目标浏览器。

答案 1 :(得分:0)

如果您使用的是ASP.NET,请使用Crystal Reports。

如果您使用的是Java EE,请使用JasperReports。

如果您使用的是PHP,请使用FPDF(可能还有其他内容)。

这些工具更适合用于构建报表而非纯HTML。