Aktivieren und Deaktivieren des clientseitige Drucks für Reporting Services
Die Schaltfläche „Drucken“ auf der Symbolleiste des Berichts-Viewers verwendet das Format „Portable Document Format“ (PDF) für clientseitiges Drucken von Reporting Services -Berichten, die in einem Browser angezeigt werden. Die neue Umgebung für Remotedrucken verwendet die PDF-Renderingerweiterung, die in Reporting Servicesenthalten ist, um den Bericht im PDF-Format zu rendern. Sie können den Bericht im PDF-Format herunterladen. Wenn Sie über eine Anwendung für das Anzeigen von .PDF-Dateien verfügen, wird über die Schaltfläche Drucken ein Dialogfeld Drucken für die Seite mit den üblicherweise zur Verfügung stehenden Konfigurationselementen angezeigt. Dazu gehören Konfigurationselemente wie Seitengröße und Ausrichtung und eine Vorschau der PDF-Datei. Clientseitiges Drucken ist standardmäßig aktiviert, Sie können diese Funktion jedoch auf Wunsch deaktivieren.
Frühere Versionen von Reporting Services haben ein ActiveX-Steuerelement verwendet, das vom Berichtsserver auf den Clientcomputer heruntergeladen werden musste. Wenn Sie Ihren Berichtsserver auf SQL Server 2016 oder höher upgraden, wird das Drucksteuerelement nicht aus dem Berichtsserver oder von den Clientcomputern entfernt.
Ablauf des Druckens
Wenn Sie in der Symbolleiste des Report Viewers die Schaltfläche Drucken auswählen, variiert die Benutzeroberfläche, je nachdem, welche Anwendungen zum Anzeigen von PDF-Dateien auf dem Clientcomputer installiert sind und welchen Browser Sie verwenden. Sie können die .PDF-Datei herunterladen oder Druckoptionen über ein Dialogfeld oder auch beides tun, je nachdem wie Sie den Clientcomputer konfigurieren.
Interaktion | Benutzeroberfläche |
---|---|
Das erste Dialogfeld gilt für alle Browser und ermöglicht Ihnen, grundlegende Layout-Eigenschaften wie z. B. die Ausrichtung zu ändern. Wenn Sie Drucken auswählen, ist die Oberfläche je nach verwendetem Browser etwas unterschiedlich. | |
In Chrome öffnet sich ein detaillierter Druckbildschirm im Browser. Sie können die Druckkonfiguration ändern, drucken und das Dialogfeld „Drucken“ des Betriebssystems öffnen. | |
Wenn Sie eine Anwendung zum Lesen von PDF-Dateien installiert haben, öffnet die Schaltfläche Drucken ein Vorschau-Fenster der PDF-Datei, und Sie können sie speichern oder drucken. | |
Falls Sie keine Anwendung zum Lesen von PDF-Dateien installiert haben, gibt es für den Benutzer zwei Möglichkeiten: Der Bericht wird automatisch gerendert, und die PDF-Datei wird über den Downloadprozess Ihres Browsers heruntergeladen. Hinweis: Je komplizierter der Bericht ist, desto länger ist die Verzögerung zwischen dem Zeitpunkt, zu dem Sie Drucken auswählen und dem Zeitpunkt, zu dem der Bericht zum Download angezeigt wird. Sie können den Download auch erneut erzwingen, indem Sie Hier klicken, um PDF-Datei Ihres Berichts anzuzeigen. auswählen. Erzwingen Sie den Download erneut, indem Sie Hier klicken, um PDF-Datei Ihres Berichts anzuzeigen. auswählen. |
Fehlerbehebung der clientseitigen Druckfunktion
Wenn die Schaltfläche Drucken auf der Symbolleiste des Report Viewers deaktiviert ist, überprüfen Sie die folgenden Anweisungen:
Clientseitiges Drucken ist für den Berichtsserver in Management Studiodeaktiviert. Weitere Informationen finden Sie unter Aktivieren und Deaktivieren von clientseitigem Drucken in diesem Artikel.
Die SQL Server 2016 (13.x) Reporting Services oder höher (SSRS)-PDF-Renderingerweiterung ist deaktiviert. Sehen Sie sich den Abschnitt
<Extension Name="PDF"
in der Dateirsreportserver.config
an.Sie sehen die Berichterstattung im Kompatibilitätsmodus, der die alte SQL Server 2016 (13.x) Reporting Services oder höher (SSRS)-HTML4-Rendering-Engine verwendet. Die PDF-Druckerfahrung erfordert die HTML 5-Rendering-Engine. Wählen Sie auf der Symbolleiste Vorschauversion testen aus.
Aktivieren und Deaktivieren von clientseitigem Drucken
Die Berichtsserveradministratoren können die Remote-Druckfunktion deaktivieren, indem sie die Berichtsserver-Systemeigenschaft EnableClientPrinting
auf False festlegen. Diese Einstellung deaktiviert das clientseitige Drucken für alle von diesem Server verwalteten Berichte. Standardmäßig ist EnableClientPrinting
auf True festgelegt. Sie können das clientseitige Drucken folgendermaßen deaktivieren:
Für einen Berichtsserver im nativen Modus:
Starten Sie Management Studio mit Administratorrechten.
Stellen Sie eine Verbindung mit einer Berichtsserverinstanz in Management Studioher.
Klicken Sie mit der rechten Maustaste auf den Berichtsserverknoten und wählen Sie dann Eigenschaften aus. Wenn die Option Eigenschaften deaktiviert ist, überprüfen Sie, ob Management Studio mit Administratorrechten gestartet wurde.
Wählen Sie Erweitert.
Wählen Sie EnableClientPrintingaus.
Legen Sie True oder False fest und wählen Sie dann OK aus.
Für einen Berichtsserver im SharePoint-Modus:
Wählen Sie in der SharePoint-Zentraladministration Anwendungsverwaltung aus.
Wählen Sie Dienstanwendungen verwalten aus.
Wählen Sie den Namen der Reporting Services-Dienstanwendung und dann im SharePoint-Menüband Verwalten aus.
Wählen Sie Systemeinstellungen.
Wählen Sie Clientdruck aktivierenaus. Die Option Clientdruck aktivieren befindet sich weiter unten auf der Seite.
Klickan Sie auf OK.
Schreiben eines Skripts oder Codeabschnitts zum Festlegen der Berichtsserver-Systemeigenschaft
EnableClientPrinting
auf False.
Im folgenden Beispielskript wird eine Methode zum Deaktivieren des clientseitigen Druckens erläutert. Kompilieren Sie den folgenden Microsoft Visual Basic-Code, und führen Sie ihn anschließend aus, um die Eigenschaft EnableClientPrinting auf FALSEfestzulegen. Führen Sie nach der Ausführung des Codes einen Neustart von IIS aus.
Beispielskript
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
Haben Sie dazu Fragen? Stellen Sie eine Frage im Reporting Services-Forum