Habilitando e desabilitando impressão do lado do cliente para Reporting Services

O controle ActiveX da Microsoft, RSClientPrint, fornece impressão do lado do cliente para relatórios exibidos em um navegador. O controle exibe uma caixa de diálogo de impressão personalizada que fornece recursos de suporte comuns a outras caixas de diálogo de impressão, inclusive visualização de impressão, seleções de páginas para definir páginas e intervalos específicos, margens de páginas e orientação de página. Embora a impressão do lado do cliente esteja habilitada por padrão, você pode desabilitar o recurso para impedi-lo de ser usado.

Baixar controles ActiveX requer permissões de administrador.

Configurações do navegador que determinam o comportamento do download

Cada usuário que deseja usar o recurso de impressão deve baixar e instalar o controle ActiveX que oferece a funcionalidade de impressão do cliente. Dependendo das configurações do navegador, o usuário pode receber uma solicitação para instalar o controle, ser impedido de instalar o controle ou ter o controle instalado de maneira transparente em segundo plano.

Para o Microsoft Internet Explorer, as configurações que afetam o download e instalação do controle ActiveX são especificadas com o nó de plug-ins e controles ActiveX na página Configurações de Segurança da zona de conteúdo da Web. As seguintes configurações determinam se os usuários podem baixar e executar o controle de impressão, com base nas preferências de segurança da zona da Web:

  • Baixe os controles ActiveX assinados.

  • Controles ActiveX de script marcados para segurança para script.

  • Execute os controles ActiveX e plug-ins.

Os usuários que querem usar o RSClientPrint para executar a impressão do lado do cliente devem habilitar as opções Baixar controles ActiveX assinados e Controle ActiveX de script marcado para segurança de script para fins de instalação e Executar controles ActiveX e plug-ins para operações de impressão contínuas. O controle ActiveX RSClientPrint é assinado, o que significa que ele contém um certificado digital válido da Microsoft.

Habilitando e desabilitando a impressão do lado do cliente

Os administradores de servidor de relatórios têm a opção de desabilitar o recurso de impressão, definindo a propriedade do sistema do servidor de relatórios EnableClientPrinting como false. Isso desabilitará a impressão do lado do cliente para todos os relatórios gerenciados por esse servidor. Por padrão, EnableClientPrinting é definido como true. Você pode desabilitar a impressão do lado do cliente das seguintes formas:

  • Selecione Habilitar download para o controle de impressão do cliente ActiveX na página Propriedades do Servidor em Management Studio. Para abrir a página Propriedades do Servidor, conecte-se a uma instância do servidor de relatórios no Management Studio, clique com o botão direito do mouse no nó do servidor de relatório e selecione Propriedades.

  • Escreva um script ou código que defina a propriedade do sistema do servidor de relatórios EnableClientPrinting como false.

O exemplo de script a seguir ilustra uma abordagem para desabilitar a impressão do lado do cliente. Compile e execute o seguinte código MicrosoftVisual Basic para definir a propriedade EnableClientPrinting como Falsa. Depois de executar o código, reinicialize o IIS.

Exemplo de 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