为 Reporting Services 配置客户端打印功能
对于在浏览器中查看的报表,Microsoft ActiveX 控件 RSPrintClient 为其提供了客户端打印功能。该控件显示一个自定义打印对话框,它支持其他打印对话框常见的功能,包括打印预览、指定特定页和范围的页面选择、页边距和打印方向等功能。虽然默认情况下将启用客户端打印功能,但是您也可以将其禁用,以禁止使用该功能。
下载 ActiveX 控件需要管理员权限。
影响下载行为的浏览器设置
对于希望使用打印功能的每个用户来说,都必须下载并安装提供客户端打印功能的 ActiveX 控件。根据浏览器设置的不同,系统可能会提示用户安装控件,阻止用户安装控件,或者在后台透明地安装控件。
对于 Microsoft Internet Explorer,可以通过 Web 内容区域的“安全设置”页中的“ActiveX 控件和插件”节点来指定影响 ActiveX 控件下载和安装的设置。****以下设置基于 Web 区域安全首选项,确定用户是否可以下载和运行打印控件:
- 下载已签名的 ActiveX 控件。
- 对标记为可安全执行脚本的 ActiveX 控件执行脚本。
- 运行 ActiveX 控件和插件。
希望使用 RSClientPrint 进行客户端打印的用户,必须启用“下载已签名的 ActiveX 控件”和“对标记为可安全执行脚本的 ActiveX 控件执行脚本”以允许安装,并且对于正在进行的打印操作,必须启用“运行 ActiveX 控件和插件”。RSClientPrint ActiveX 控件是已签名的,这意味着它包含 Microsoft 颁发的有效数字证书。
启用和禁用客户端打印功能
报表服务器管理员可以通过将报表服务器系统属性 EnableClientPrinting 设置为 false,以禁用打印功能。这将对该服务器管理的所有报表禁用客户端打印功能。默认情况下,EnableClientPrinting 设置为 true。您可以通过下列方式禁用客户端打印功能:
- 在 Management Studio 中的“服务器属性”页上,选择“允许下载 ActiveX 客户端打印控件(P)”。若要打开“服务器属性”页,请连接到 Management Studio 中的报表服务器实例,右键单击报表服务器节点,然后选择“属性”****。
- 编写脚本或代码,将报表服务器系统属性 EnableClientPrinting 设置为 false.
下面的示例脚本说明了一种禁用客户端打印功能的方法。编译并运行以下 Microsoft Visual Basic 代码,即可将 EnableClientPrinting 属性设置为 False。在运行代码后,请重新启动 IIS。
示例脚本
Imports System
Imports System.Web.Services.Protocols
Class Sample
Public Shared Sub Main()
Dim rs As New ReportingService()
rs.Credentials = System.Net.CredentialCache.DefaultCredentials
Dim props(0) As [Property]
Dim setProp As New [Property]
setProp.Name = "EnableClientPrinting"
setProp.Value = “False?
props(0) = setProp
Try
rs.SetSystemProperties(props)
Catch ex As System.Web.Services.Protocols.SoapException
Console.Write(ex.Detail.InnerXml)
Catch e as Exception
Console.Write(e.Message)
End Try
End Sub 'Main
End Class 'Sample