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.
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. | |
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. | |
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. |
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 filersreportserver.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.
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:
Avviare Management Studio con privilegi amministrativi.
Eseguire la connessione a un server di report in Management Studio.
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.
Seleziona Avanzate.
Selezionare EnableClientPrinting.
Impostare su True o False e selezionare OK.
Per un server di report in modalità SharePoint:
In Amministrazione centrale SharePoint fare clic su Gestione applicazioni.
Selezionare Gestire applicazioni di servizio.
Selezionare il nome dell'applicazione del servizio Reporting Services, quindi Gestisci sulla barra multifunzione di SharePoint.
Seleziona Impostazioni di sistema:
Selezionare Abilita stampa client. L'opzione Abilita stampa client si trova nella parte inferiore della pagina.
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