启用和禁用 Reporting Services 的客户端打印

系统 1647 0
启用和禁用 Reporting Services 的导出文件格式
您可以修改rsreportserver.config,对于SQL Server 2005,它位于C:\Program Files\Microsoft SQL Server\MSSQL.3\Reporting Services\ReportServer,对于SQL Server 2008,它位于C:\Program Files\Microsoft SQL Server\MSRS10.MSSQLSERVER\Reporting Services\ReportServer。
如果您想禁止用户导出到excel, image and pdf格式,您可以将其从以下的section <Render>中移除:
<Extension Name="CSV"
Type="Microsoft.ReportingServices.Rendering.CsvRenderer.CsvReport,Microsoft.Reportin
gServices.CsvRendering"/>
<Extension Name="IMAGE"
Type="Microsoft.ReportingServices.Rendering.ImageRenderer.ImageReport,Microsoft.Repo
rtingServices.ImageRendering"/>
<Extension Name="PDF"
Type="Microsoft.ReportingServices.Rendering.ImageRenderer.PdfReport,Microsoft.Report
ingServices.ImageRendering"/>
<Extension Name="RGDI"
Type="Microsoft.ReportingServices.Rendering.ImageRenderer.RemoteGdiReport,Microsoft.
ReportingServices.ImageRendering" Visible="false"
LogAllExecutionRequests="false"/>
<Extension Name="EXCEL"
Type="Microsoft.ReportingServices.Rendering.ExcelRenderer.ExcelRenderer,Microsoft.Re
portingServices.ExcelRendering"/>

您也可以通过增加
因为这些设置都是服务器端的设置,因此它会影响该服务器上的所有用户。如果您想要部分用户拥有权限来导出的话,您需要使用scale-out deployment如下:
1. 设置RS1供用户群A访问,RS2供用户群B访问
2. RS1和RS2都连接到相同的reportserver数据库
3. 在RS1上,修改rsreportserver.config;在RS2上,保持原有设置

关于更多scale-out deployment,您可以参考:
Configuring a Report Server Scale-Out Deployment
< http://msdn.microsoft.com/en-us/library/ms156453.aspx >
启用和禁用 Reporting Services 的客户端打印

Microsoft ActiveX 控件 RSClientPrint 为在浏览器中查看的报表提供了客户端打印功能。该控件显示一个自定义打印对话框,它支持其他打印对话框常见的功能,包括打印预览、指定特定页和范围的页面选择、页边距和打印方向等功能。虽然默认情况下将启用客户端打印功能,但是您也可以将其禁用,以禁止使用该功能。

下载 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 客户端打印控件” 。若要打开“服务器属性”页,请连接到 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
                  

启用和禁用 Reporting Services 的客户端打印和导出文件格式


更多文章、技术交流、商务合作、联系博主

微信扫码或搜索:z360901061

微信扫一扫加我为好友

QQ号联系: 360901061

您的支持是博主写作最大的动力,如果您喜欢我的文章,感觉我的文章对您有帮助,请用微信扫描下面二维码支持博主2元、5元、10元、20元等您想捐的金额吧,狠狠点击下面给点支持吧,站长非常感激您!手机微信长按不能支付解决办法:请将微信支付二维码保存到相册,切换到微信,然后点击微信右上角扫一扫功能,选择支付二维码完成支付。

【本文对您有帮助就好】

您的支持是博主写作最大的动力,如果您喜欢我的文章,感觉我的文章对您有帮助,请用微信扫描上面二维码支持博主2元、5元、10元、自定义金额等您想捐的金额吧,站长会非常 感谢您的哦!!!

发表我的评论
最新评论 总共0条评论