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

Printing 如何在web应用程序中打印多页报告?,printing,report,webpage,Printing,Report,Webpage,我有一个以HTML格式生成报告的web应用程序。有时这些报告会变得非常复杂,窗口会显示滚动条。 我的问题是,我可以只打印我在网页上看到的内容,而每当我想打印它们时,我只能打印一页。所以我失去了我期望在其他报纸上看到的其他报道 我该怎么办?问题的性质 您的问题与样式设置相关 很难说您的问题到底是什么-我们没有机会看到您的样式表。当然,你应该重写它们以避免裁剪页面 将不同的样式表应用于屏幕和打印 一个想法是将当前样式表更改为仅应用于屏幕媒体,将不同的样式表专门应用于打印媒体 您可以在HTML中这样做

我有一个以HTML格式生成报告的web应用程序。有时这些报告会变得非常复杂,窗口会显示滚动条。 我的问题是,我可以只打印我在网页上看到的内容,而每当我想打印它们时,我只能打印一页。所以我失去了我期望在其他报纸上看到的其他报道

我该怎么办?

问题的性质 您的问题与样式设置相关

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

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

您可以在HTML中这样做:

<link rel="stylesheet" type="text/css" media="screen" href="screen.css" />
<link rel="stylesheet" type="text/css" media="print" href="print.css" />
打印特定样式 有关打印特定样式的详细信息,请参见下页:

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

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

它将允许在表内分页符,尽量避免在行内分页符,并在每页上重复表的页眉和页脚。但是,请检查它是否在目标浏览器中正常工作。

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

如果您使用的是JavaEE,请使用JasperReports

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


这些工具更适合构建报告,而不是纯HTML。

您的“更好”是相当主观的。HTML可以简单地设置打印样式,无需将文件导出为PDF(特别是当您只想打印文件时)。不过,导出为PDF是另一种解决方案。我发现我需要在CSS中使用分页符属性。但我不知道什么时候我必须插入它。我有一个有很多行的表,现在,其中一些行对我来说是不可见的print@Mohammad:以下资源对您有帮助吗:?
table { page-break-inside: auto; }
tr { page-break-inside: avoid; page-break-after: auto; }
thead { display: table-header-group; }
tfoot { display: table-footer-group; }