Enabling and Disabling Client-Side Printing for Reporting Services

The Microsoft ActiveX control, RSClientPrint, provides client-side printing for reports viewed in a browser. The control displays a custom print dialog box that supports features common to other print dialog boxes, including print preview, page selections for specifying specific pages and ranges, page margins, and orientation. Although client-side printing is enabled by default, you can disable the feature to prevent it from being used.

Downloading ActiveX controls requires administrator permissions.

Browser Settings that Determine Download Behavior

Each user who wants to use the print feature must download and install the ActiveX control that provides client print functionality. Depending on browser settings, the user may be prompted to install the control, be prevented from installing the control, or have the control install transparently in the background.

For Microsoft Internet Explorer, settings that affect ActiveX control download and installation are specified through the ActiveX controls and plug-ins node in the Security Settings page for the Web content zone. The following settings determine whether users can download and run the print control, based on Web zone security preferences:

  • Download signed ActiveX controls.

  • Script ActiveX controls marked safe for scripting.

  • Run ActiveX controls and plug-ins.

Users who want to use RSClientPrint to perform client-side printing must enable Download signed ActiveX controls and Script ActiveX control marked safe for scripting for installation purposes, and Run ActiveX controls and plug-ins for ongoing print operations. The RSClientPrint ActiveX control is signed, meaning it contains a valid digital certificate from Microsoft.

Enabling and Disabling Client-Side Printing

Report server administrators have the option of disabling the print feature by setting the report server system property EnableClientPrinting to false. This will disable client-side printing for all reports managed by that server. By default, EnableClientPrinting is set to true. You can disable client-side printing in the following ways:

  • Select Enable download for the ActiveX client print control on the Server Properties page in Management Studio. To open Server Properties pages, connect to a report server instance in Management Studio, right-click on the report server node, and select Properties.

  • Write script or code that sets the report server system property EnableClientPrinting to false.

The following sample script illustrates one approach for disabling client-side printing. Compile and then run the following Microsoft Visual Basic code to set the EnableClientPrinting property to False. After you run the code, restart IIS.

Sample Script

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