Abilitare e disabilitare la stampa sul lato client per Reporting Service

Il pulsante di stampa nella barra degli strumenti del visualizzatore di report usa il formato PDF (Portable Document Format) per la stampa sul lato client dei report di Reporting Services visualizzati in un browser. La nuova esperienza di stampa remota usa l'estensione per il rendering PDF inclusa in Reporting Services per il rendering dei report in formato PDF. È possibile scaricare un formato PDF del report. In alternativa, se è installata un'applicazione per la visualizzazione di file PDF, il pulsante stampa visualizza una finestra di dialogo di stampa per gli elementi di configurazione comuni della pagina. Questi includono elementi di configurazione, ad esempio le dimensioni della pagina, un orientamento e un'anteprima del file PDF. Sebbene la funzionalità di stampa sul alto client sia abilitata per impostazione predefinita, è possibile disabilitarla per evitare che venga utilizzata.

Le versioni precedenti di Reporting Services usano un controllo ActiveX per il quale è necessario il download nel computer client dal server di report. Se si aggiorna il server di report a SQL Server 2016 o versioni successive, il controllo di stampa non viene rimosso dal server di report né dai computer client.

L'esperienza di stampa

Quando si seleziona il pulsante di stampa nella barra degli strumenti del visualizzatore di report, l'esperienza varia in base alle applicazioni di visualizzazione dei file PDF installate nel computer client e al browser in uso. È possibile scaricare il file PDF o configurare le opzioni di stampa da una finestra di dialogo, o eseguire entrambe le operazioni, a seconda del computer client.

Screenshot of the Report toolbar.

Interazione Interfaccia utente
La prima finestra di dialogo è la stessa per tutti i browser e consente di modificare le proprietà di base del layout, ad esempio l'orientamento. Quando si seleziona Stampa, l'esperienza diventa leggermente diversa in base al browser in uso. Screenshot of the first print properties screen.
In Chrome, viene aperta una finestra di stampa dettagliata del browser. È possibile modificare la configurazione di stampa, stampare e aprire la finestra di dialogo di stampa dei sistemi operativi. Screenshot of the detailed print properties.Screenshot of the print configuration settings.
Se è installata un'applicazione per la lettura dei file PDF, il pulsante di stampa apre una finestra di anteprima del file PDF e consente di salvare o stampare.
Se non è installata un'applicazione di lettura dei PDF, le esperienze utente possibili sono due:

Il rendering del report viene eseguito automaticamente e viene usato il processo di download del browser per scaricare il file PDF. Nota: più complicato è il report, maggiore sarà il ritardo tra il momento in cui si seleziona Stampa e il momento in cui viene visualizzata la notifica del download nel browser. È anche possibile forzare di nuovo il download selezionando Fare clic qui per visualizzare il report in formato PDF.

Per forzare il download, selezionare Fare clic qui per visualizzare il report in formato PDF.
Screenshot of the PDF ready notification.

Risoluzione dei problemi della stampa sul lato client

Se il pulsante di stampa della barra degli strumenti del visualizzatore di report è disabilitato, verificare l’istruzione seguente:

  • La stampa sul lato client è disabilitata per il server di report in Management Studio. Vedere la sezione Abilitare e disabilitare la stampa sul lato client in questo articolo.

  • L'estensione per il rendering PDF di SQL Server 2016 (13.x) Reporting Services o versione successiva (SSRS) è disabilitata. Esaminare la sezione <Extension Name="PDF" del file rsreportserver.config.

  • Il report viene visualizzato in modalità comparabilità, che utilizza il vecchio motore di rendering HTML4 di SQL Server 2016 (13.x) Reporting Services o versione successiva (SSRS). L'esperienza di stampa PDF richiede il motore di rendering HTML 5. Selezionare Prova l'anteprima nella barra degli strumenti.

Screenshot of the Try Preview button.

Abilitare e disabilitare la stampa sul lato client

Gli amministratori dei server di report possono disabilitare la funzionalità di stampa remota impostando la proprietà di sistema EnableClientPrinting del server di report su False. Questa impostazione disabilita la stampa sul lato client per tutti i report gestiti dal server. Per impostazione predefinita, EnableClientPrinting è impostato su True. È possibile disabilitare la stampa sul lato client nei modi seguenti:

  • Per un server di report in modalità nativa:

    1. Avviare Management Studio con privilegi amministrativi.

    2. Eseguire la connessione a un server di report in Management Studio.

    3. Fare clic con il pulsante destro del mouse sul nodo del server di report, quindi scegliere Proprietà. Se l'opzione Proprietà è disabilitata, verificare che Management Studio sia stato avviato con i privilegi amministrativi.

    4. Seleziona Avanzate.

    5. Selezionare EnableClientPrinting.

    6. Impostare su True o False e selezionare OK.

      Screenshot of the EnableClientPrinting option.

  • Per un server di report in modalità SharePoint:

    1. In Amministrazione centrale SharePoint fare clic su Gestione applicazioni.

    2. Selezionare Gestire applicazioni di servizio.

    3. Selezionare il nome dell'applicazione del servizio Reporting Services, quindi Gestisci sulla barra multifunzione di SharePoint.

    4. Seleziona Impostazioni di sistema:

    5. Selezionare Abilita stampa client. L'opzione Abilita stampa client si trova nella parte inferiore della pagina.

    6. Seleziona OK.

  • Scrivere script o codice per impostare la proprietà di sistema del server di report EnableClientPrinting su False.

Nello script di esempio riportato di seguito viene illustrato un approccio per la disabilitazione della stampa sul alto client. Compilare e quindi eseguire il codice di Microsoft Visual Basic per impostare la proprietà EnableClientPrinting su False. Al termine dell'esecuzione del codice, riavviare IIS.

Script di esempio

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  

Altre domande? Visitare il forum su Reporting Services