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

Le bouton d’impression dans la barre d’outils de la visionneuse de rapports utilise le format PDF pour l’impression côté client de rapports Reporting Services affichés dans un navigateur. La nouvelle expérience d'impression à distance utilise l'extension de rendu PDF fournie avec Reporting Servicespour afficher le rapport au format PDF. Vous pouvez télécharger le rapport au format PDF. Par ailleurs, si vous avez installé une application permettant d'afficher des fichiers PDF, le bouton d'impression affiche une boîte de dialogue d'impression pour les éléments de configuration communs à la page. Celles-ci comprennent la taille et l'orientation des pages, ainsi qu'un aperçu du fichier PDF. 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.

Les versions précédentes de Reporting Services utilisaient un contrôle ActiveX qui nécessitait un téléchargement sur l'ordinateur client à partir du serveur de rapports. Si vous mettez à niveau votre serveur de rapports vers SQL Server 2016 ou une version ultérieure, le contrôle d'impression n'est pas supprimé du serveur de rapports ou des ordinateurs clients.

L'expérience d'impression

Lorsque vous sélectionnez le bouton d'impression dans la barre d'outils de la visionneuse de rapports, l'expérience varie en fonction des applications de visualisation de fichiers PDF que vous avez installées sur l'ordinateur client et du navigateur que vous utilisez. Vous pouvez télécharger le fichier PDF ou configurer les options d'impression à partir d'une boîte de dialogue, ou les deux, en fonction de l'ordinateur client.

Screenshot of the Report toolbar.

Interaction Interface utilisateur
La première boîte de dialogue, identique pour tous les navigateurs, vous permet de modifier les propriétés de disposition de base, par exemple l'orientation. Lorsque vous sélectionnez Imprimer, l'expérience est légèrement différente selon le navigateur que vous utilisez. Screenshot of the first print properties screen.
Dans Chrome, un écran d'impression détaillé du navigateur s'ouvre. Vous pouvez modifier la configuration d'impression, imprimer et ouvrir la boîte de dialogue d'impression du système d'exploitation. Screenshot of the detailed print properties.Screenshot of the print configuration settings.
Si vous disposez d'une application de lecture de PDF, le bouton d'impression ouvre une fenêtre d'aperçu du fichier PDF et vous permet d'enregistrer ou imprimer.
Si vous ne disposez pas d'une application de lecture de PDF, deux expériences utilisateur coexistent :

Le rapport s'affiche automatiquement et utilise le processus de téléchargement de votre navigateur pour télécharger le fichier PDF. Notes : plus le rapport est complexe, plus le délai entre le moment où vous sélectionnez Imprimer et celui où vous voyez apparaître la notification de téléchargement de votre navigateur est long. Vous pouvez également forcer à nouveau le téléchargement en sélectionnant Cliquez ici pour afficher le fichier PDF de votre rapport.

Forcez le téléchargement PDF en sélectionnant Cliquez ici pour afficher le fichier PDF de votre rapport.
Screenshot of the PDF ready notification.

Résolution des problèmes d'impression côté client

Si le bouton d'impression de la barre d'outils de la visionneuse de rapports est désactivé, vérifiez les instructions suivantes :

  • L’impression côté client est désactivée pour le serveur de rapports dans Management Studio. Pour en savoir plus, consultez la section Activer et désactiver l'impression côté client dans cet article.

  • L’extension de rendu PDF SQL Server 2016 (13.x) Reporting Services ou versions ultérieures (SSRS) est désactivée. Examinez la section <Extension Name="PDF" du fichier rsreportserver.config.

  • Vous affichez le rapport en mode de compatibilité, qui utilise l'ancien moteur de rendu HTML4 SQL Server 2016 (13.x) Reporting Services ou versions ultérieures (SSRS). L'expérience d'impression PDF nécessite le moteur de rendu HTML 5. Sélectionnez Essayer l'aperçu dans la barre d'outils.

Screenshot of the Try Preview button.

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

Les administrateurs du serveur de rapports ont la possibilité de désactiver la fonction d'impression à distance en définissant la propriété système EnableClientPrinting du serveur de rapports sur False. Cette action entraîne la désactivation de l'impression côté client pour tous les rapports managés par ce serveur. Par défaut, EnableClientPrinting est défini sur 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, puis 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'administratifs.

    4. Sélectionnez Avancé.

    5. Sélectionnez EnableClientPrinting.

    6. Choisissez True ou False, puis sélectionnez OK.

      Screenshot of the EnableClientPrinting option.

  • Pour un serveur de rapports en mode SharePoint:

    1. Dans l'Administration centrale de SharePoint, sélectionnez Gestion des applications.

    2. Sélectionnez Gérer les applications de service.

    3. Choisissez le nom de votre application de service Reporting Services, puis sélectionnez Gérer dans le ruban SharePoint.

    4. Sélectionnez Paramètres du 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  

D’autres questions ? Essayez de poser une question dans le forum Reporting Services