本文档描述了在 ASP.NET 环境中在客户端打印报表的特殊事项。

在 Web 应用程序 (或 Web 项目) 中,使用 ReportViewer 控件来显示报表。 它把报表导出为 HTML,并且嵌入输出到网页中。 此控件的客户端实例是由 ASPxClientReportViewer 类来表示的。 同时,为了在客户端打印报表,要调用 ASPxClientReportViewer.Print 方法。

有两种方式调用此方法:

在调用此方法之后,ReportViewer 控件在服务器上重建报表 (或者当使用了报表缓存时,从报表缓存中恢复),然后,取决于 ReportViewer.PrintUsingAdobePlugIn 属性的取值,在网页上呈现之后,以下列两种方式之一打印报表:

因为 Web 浏览器使用自身的打印设置 (例如纸张类型、边距等),而这些设置可能不同于报表自身的设置,因此最终用户必须要在每次打印操作之前重新调整页面设置。 同时,ReportViewer 一次只显示一个报表页面。 因此,如果试图使用 Web 浏览器的打印功能来打印报表时,只有当前报表页面的整个网页被打印。 另外,当把报表导出为 HTML 时,某些报表内容可能会丢失 (例如交叉的控件),因此打印输出结果可能与 Windows 窗体应用程序相同报表的打印输出不同。

这样会导致客户端打印产生问题,并且可以使用安装了 Adobe® Reader 插件的 Internet Explorer® 来避免那些问题: 当报表被打印时,XtraReports 搜索此插件,如果找到,则首先 导出 报表为 PDF,然后打印所创建的文件。 这样,所有的打印设置都能被正确地从报表传递到 打印 对话框。

如果没有安装 Adobe Reader 浏览器插件,那么使用默认的浏览器打印,并且需要您人工定义所有打印设置,从而正确地打印报表。

要下载和安装 Adobe® Acrobat Reader,则使用下列链接: http://www.adobe.com/go/EN_US-H-GET-READER

如果在机器上已经安装 Adobe® Acrobat Reader,那么就不需要下载和安装任何额外的插件。 在 Internet Explorer 中启用此插件,从而加载 Adobe® Acrobat Reader。 然后,在它的 Edit(编辑) 菜单中,单击 Preferences(使用偏好) 项。 在被调用的 Preferences 对话框中,在 Internet 类别中勾选 Display PDF in browser(在浏览器中显示 PDF) 项。

可能需要关闭并重新打开 Microsoft® Internet Explorer 来应用这些更改。

然后,在调用 ASPxClientReportViewer.Print 方法之后,下面的 打印 对话框被显示。

Expand image参阅