Activer et désactiver l'impression côté client pour Reporting Services

Le contrôle Microsoft ActiveX, RSClientPrint, permet une impression côté client des rapports affichés dans un navigateur. Le contrôle affiche une boîte de dialogue d'impression personnalisée qui prend en charge des fonctionnalités communes à d'autres boîtes de dialogue d'impression. Les fonctionnalités incluent l'aperçu avant impression, les sélections de page pour spécifier des pages et des plages spécifiques, les marges des pages, et l'orientation. Bien que l'impression côté client soit activée par défaut, vous pouvez désactiver cette fonctionnalité pour l'empêcher d'être utilisée.

[!REMARQUE]

Des autorisations d'administrateur sont nécessaires pour le téléchargement des contrôles ActiveX.

Téléchargement du contrôle ActiveX

Chaque utilisateur souhaitant utiliser la fonctionnalité d'impression doit télécharger et installer le contrôle ActiveX qui permet l'impression côté client. La première fois que l'utilisateur clique sur l'icône Imprimante dans la barre d'outils du rapport, le contrôle Microsoft ActiveX est téléchargé sur l'ordinateur. Une fois le contrôle téléchargé, la boîte de dialogue Imprimer s'affiche chaque fois que l'utilisateur clique sur l'icône Imprimante.

En fonction des paramètres du navigateur, l'installation du contrôle peut être demandée à l'utilisateur, être bloquée ou s'effectuer de manière transparente en arrière-plan.

Pour Microsoft Internet Explorer, les paramètres qui affectent le téléchargement et l'installation du contrôle ActiveX sont spécifiés via le nœud Contrôles ActiveX et plug-ins de la page Paramètres de sécurité de la zone de contenu Web. Les paramètres suivants déterminent si les utilisateurs peuvent télécharger et exécuter le contrôle d'impression, en fonction des spécifications de sécurité de la zone Web :

  • Télécharger les contrôles ActiveX signés.

  • Contrôles ActiveX reconnus sûrs pour l'écriture de scripts.

  • Exécuter les contrôles ActiveX et les plug-ins.

Les utilisateurs qui souhaitent utiliser RSClientPrint pour effectuer une impression côté client doivent activer :

  • Télécharger les contrôles ActiveX signés et Contrôles ActiveX reconnus sûrs pour l'écriture de scripts pour l'installation ;

  • Exécuter les contrôles ActiveX et les plug-ins pour les opérations d'impression en cours.

Le contrôle ActiveX RSClientPrint est signé, ce qui signifie qu'il contient un certificat numérique valide émis par Microsoft.

Activation et désactivation de l'impression côté client

Les administrateurs du serveur de rapports ont la possibilité de désactiver la fonctionnalité d'impression en affectant la valeur false à la propriété système EnableClientPrinting du serveur de rapports. Cela entraîne la désactivation de l'impression côté client pour tous les rapports gérés par ce serveur. Par défaut, EnableClientPrinting a la valeur true. Vous pouvez désactiver l'impression côté client de différentes façons :

  • Pour un serveur de rapports en mode natif :

    1. Lancez Management Studio avec des privilèges d'administrateur.

    2. Connectez-vous à une instance de serveur de rapports dans Management Studio.

    3. Cliquez avec le bouton droit sur le nœud du serveur de rapports et sélectionnez Propriétés. Si l'option Propriétés est désactivée, vérifiez que vous avez lancé Management Studio avec des privilèges d'administrateur.

    4. Sélectionnez Activer le téléchargement du contrôle d'impression du client ActiveX.

    5. Cliquez sur OK.

  • Pour un serveur de rapports en mode SharePoint :

    1. Dans l'Administration centrale de SharePoint, cliquez sur Gestion des applications.

    2. Cliquez sur Gérer les applications de service.

    3. Cliquez sur le nom de votre application de service Reporting Services et cliquez sur Gérer dans le ruban SharePoint.

    4. Cliquez sur Paramètres système.

    5. Sélectionnez Activer l'impression cliente. L'option Activer l'impression cliente se trouve en bas de la page.

    6. Cliquez sur OK.

  • Écrivez un script ou un code qui attribue à la propriété système du serveur de rapports EnableClientPrinting la valeur false.

L'exemple de script suivant illustre une approche possible en matière de désactivation de l'impression côté client. Compilez et exécutez le code Microsoft Visual Basic suivant afin d'affecter à la propriété EnableClientPrinting la valeur False. Une fois le code exécuté, redémarrez les services Internet (IIS).

Exemple 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