Utilizzo del controllo RSClientPrint in applicazioni personalizzateUsing the RSClientPrint Control in Custom Applications

Il MicrosoftMicrosoft controllo ActiveX, RSPrintClient, consente la stampa sul lato client per i report visualizzati nel visualizzatore HTML.The MicrosoftMicrosoft ActiveX control, RSPrintClient, provides client-side printing for reports viewed in HTML Viewer. Fornisce un stampa nella finestra di dialogo in modo che un utente può avviare un processo di stampa, anteprima di un report, specificare pagine da stampare e modificare i margini.It provides a Print dialog box so that a user can initiate a print job, preview a report, specify pages to print, and change the margins. Durante la stampa sul lato client, il server di report esegue il rendering del report con l'estensione per il rendering Immagine (EMF) e utilizza le funzionalità di stampa del sistema operativo per creare il processo di stampa e inviarlo a una stampante.During a client-side print operation, the report server renders the report in the Image (EMF) rendering extension and uses the print capabilities of the operating system to create the print job and send it to a printer.

La funzionalità di stampa sul lato client consente di controllare e migliorare la qualità di stampa di un report HTML evitando l'uso delle impostazioni di stampa del browser del computer in uso e utilizzando invece le dimensioni di pagina, i margini, il testo dell'intestazione e del piè di pagina del report per creare l'output di stampa.Client-side printing provides a way to control and improve the quality of a printout for an HTML report by side-stepping browser print settings on the user's computer, and instead using the page dimensions, margins, header, and footer text of the report to create the print output. Il controllo di stampa legge i valori delle proprietà del report per impostare le dimensioni e i margini delle pagine.The print control reads property values of the report to set page size and margins.

Gli sviluppatori che desiderano abilitare la funzionalità di stampa sul lato client in barre degli strumenti di terze parti possono accedere al controllo ActiveX tramite il RSClientPrint oggetto COM.Developers who want to enable the client-side printing feature in third-party toolbars or viewers can access the ActiveX control through the RSClientPrint COM object. La distribuzione del controllo è consentita e gratuita.The control can be distributed freely. Se si desidera utilizzare il controllo, leggere i consigli seguenti:The following list provides recommendations for using the control:

  • Utilizzare il controllo per migliorare la stampa di report per il Web.Use the control to improve printing for Web-based reports. È possibile specificare l'oggetto in uno del MicrosoftMicrosoft .NET Framework.NET Framework-compatibili linguaggi di programmazione o in uno script.You can specify the object in any of the MicrosoftMicrosoft .NET Framework.NET Framework-compatible programming languages or in script. Il controllo non è progettato per applicazioni MicrosoftMicrosoft Windows Form.The control is not intended for MicrosoftMicrosoft Windows Forms applications.

  • Copiare il file con estensione cab dai file di programma di Reporting ServicesReporting Services e aggiungerlo alla base di codice dell'applicazione personalizzata.Copy the .cab file from the Reporting ServicesReporting Services program files and add it to your custom application code base.

  • Utilizzare un <oggetto > tag per specificare il controllo.Use an <OBJECT> tag to specify the control.

  • Specificare un URL relativo o completo per il file CAB nell'attributo OBJECT CODEBASE.Specify a relative or fully qualified URL to the .cab file in the OBJECT CODEBASE attribute.

  • Specificare le informazioni di versione dell'applicazione personalizzata per il file CAB per tenere traccia della versione utilizzata nell'applicazione.Specify your own application version information for the .cab file to track which version is used in your application.

  • Leggere gli argomenti della documentazione online relativi al rendering in formato immagine (EMF) per comprendere le modalità di rendering delle pagine nell'anteprima e nell'output di stampa.Review the Books Online topics about Image (EMF) rendering to understand how pages are rendered for print preview and output.

Cenni preliminari su RSPrintClientRSPrintClient Overview

Il controllo visualizza una finestra di dialogo di stampa personalizzata che supporta funzionalità comuni ad altre finestre di dialogo di stampa, inclusi l'anteprima di stampa, la selezione delle pagine per specificare pagine e intervalli, i margini delle pagine e l'orientamento.The control displays a custom print dialog box that supports features common to other print dialog boxes, including print preview, page selections for specifying specific pages and ranges, page margins, and orientation. Il controllo è distribuito come file CAB.The control is packaged as a CAB file. Il testo di stampa la finestra di dialogo è localizzata in tutte le lingue supportate in SQL ServerSQL Server.The text in the Print dialog box is localized into all of the languages supported in SQL ServerSQL Server. RSPrintClient controllo ActiveX utilizza l'estensione per il rendering Image (EMF) per stampare il report.RSPrintClient ActiveX control uses the Image rendering extension (EMF) to print the report. Vengono utilizzate le informazioni sul dispositivo EMF seguenti: StartPage, EndPage, MarginBottom, MarginLeft, MarginTop, MarginRight, PageHeight e PageWidth.The following EMF device information is used: StartPage, EndPage, MarginBottom, MarginLeft, MarginTop, MarginRight, PageHeight, and PageWidth. Le altre impostazioni del dispositivo per il rendering in formato immagine non sono supportate.Other device information settings for image rendering are not supported.

Supporto delle lingueLanguage Support

Il controllo include stringhe testo per l'interfaccia utente in diverse lingue e accetta valori di input in vari sistemi di misura.The print control provides user interface text in different languages, and accepts input values calibrated to different measurement systems. Il sistema di linguaggio e misura utilizzato vengono determinati dalle delle impostazioni cultura e UICulture proprietà.The language and measurement system used are determined by the Culture and UICulture properties. che accettano entrambe valori LCID.Both properties accept LCID values. Se si specifica un identificatore LCID per una lingua che è una variante di una lingua supportata, verrà utilizzata la lingua più simile corrispondente.If you specify an LCID for a language that is a variation on a supported language, you will get the language that provides the closest match. Se si specifica un LCID di una lingua non supportata e per la quale non esiste un LCID simile corrispondente, verrà utilizzato l'inglese (Stati Uniti).If you specify an LCID that is not supported and for which no other LCID is a close match, you will get English (United States).

Utilizzo di RSClientPrint nel codiceUsing RSClientPrint in Code

Il RSClientPrint oggetto viene utilizzato per ottenere l'accesso a livello di codice per il controllo ActiveX e i relativi metodi e proprietà.The RSClientPrint object is used to gain access programmatically to the ActiveX control and its methods and properties. Il controllo include una finestra di dialogo modale per l'anteprima di stampa.The control provides a modal dialog for print preview.

Specifica dei valori predefinitiSpecifying Default Values

È possibile inizializzare il stampa la finestra di dialogo con valori di margine e pagina del report.You can initialize the Print dialog box with margin and page values of the report. Per impostazione predefinita, il stampa la finestra di dialogo viene inizializzata con i valori dalla definizione del report.By default, the Print dialog box is initialized with values from the report definition. È possibile utilizzare i valori predefiniti oppure specificare valori diversi impostando le proprietà dell'oggetto.You can use the defaults, or specify different values by setting properties on the object.

Tutte le dimensioni sono specificate in millimetri.All dimensions are set in millimeters. Conversione di misurazione viene eseguita in fase di esecuzione se il delle impostazioni cultura e UICulture sono impostati su impostazioni locali che non utilizzano il sistema metrico.Measurement conversion occurs at run time if the Culture and UICulture are set to locales that do not use metric measurements.

Per comprendere i valori utilizzati per le dimensioni di pagina e margini, è possibile utilizzare il GetProperties metodo per recuperare i valori predefiniti:To understand which values are used for page dimensions and margins, you can use the GetProperties method to retrieve the default values:

  • PageHeight e PageWidth specificare l'altezza della pagina predefinita e la larghezza.PageHeight and PageWidth specify the default page height and width. All'avvio del controllo di stampa, i valori di queste proprietà vengono utilizzati per selezionare le dimensioni del foglio più vicine a quelle del report per la stampante selezionata.When the print control is launched, these property values are used to select the closest paper size available for the currently selected printer. Se PageWidth è maggiore di PageHeight, l'orientamento è impostato su orizzontale.If PageWidth is great than PageHeight, the orientation is set to Landscape. In caso contrario, l'orientamento è verticale.Otherwise, it is set to Portrait.

  • LeftMargin, RightMargin, TopMargin, e BottomMargin sono tutti impostati su 12,2 mm per impostazione predefinita.LeftMargin, RightMargin, TopMargin, and BottomMargin are all set to 12.2 millimeters by default.

    Queste proprietà sono archiviate nel elemento raccolta di proprietà nel server di report.These properties are stored in the Item properties collection on the report server. I valori vengono sovrascritti ogni volta che la definizione di un report viene aggiornata.The values are overwritten each time a report definition is updated.

Proprietà di RSClientPrintRSClientPrint Properties

ProprietàProperty TipoType LSRW Valore predefinitoDefault DescriptionDescription
MarginLeftMarginLeft DoubleDouble LSRW Impostazione del reportreport setting Recupera o imposta il margine sinistro.Gets or sets the left margin. Il valore predefinito è di 12,2 mm se non viene specificato un valore diverso dallo sviluppatore o nel report.The default value if not set by the developer or specified in the report is 12.2 millimeters.
MarginRightMarginRight DoubleDouble LSRW Impostazione del reportreport setting Recupera o imposta il margine destro.Gets or sets the right margin. Il valore predefinito è di 12,2 mm se non viene specificato un valore diverso dallo sviluppatore o nel report.The default value if not set by the developer or specified in the report is 12.2 millimeters.
MarginTopMarginTop DoubleDouble LSRW Impostazione del reportreport setting Recupera o imposta il margine superiore.Gets or sets the top margin. Il valore predefinito è di 12,2 mm se non viene specificato un valore diverso dallo sviluppatore o nel report.The default value if not set by the developer or specified in the report is 12.2 millimeters.
MarginBottomMarginBottom DoubleDouble LSRW Impostazione del reportreport setting Recupera o imposta il margine inferiore.Gets or sets the bottom margin. Il valore predefinito è di 12,2 mm se non viene specificato un valore diverso dallo sviluppatore o nel report.The default value if not set by the developer or specified in the report is 12.2 millimeters.
PageWidthPageWidth DoubleDouble LSRW Impostazione del reportreport setting Recupera o imposta la larghezza della pagina.Gets or sets the page width. Il valore predefinito è di 215,9 mm se non viene specificato un valore diverso dallo sviluppatore o nella definizione del report.The default value if not set by the developer or the report definition is 215.9 millimeters.
PageHeightPageHeight DoubleDouble LSRW Impostazione del reportreport setting Recupera o imposta l'altezza della pagina.Gets or sets the page height. Il valore predefinito è di 279,4 mm se non viene specificato un valore diverso dallo sviluppatore o nella definizione del report.The default value if not set by the developer or the report definition is 279.4 millimeters.
Impostazioni culturaCulture Int32Int32 LSRW Impostazioni locali del browserBrowser locale Specifica l'identificatore delle impostazioni locali (LCID).Specifies the locale identifier (LCID). Questo valore determina l'unità di misura per l'input dell'utente.This value determines the unit of measurement for user input. Ad esempio, se un utente digita 3, il valore verrà misurato in millimetri se la lingua francese e in pollici se la lingua inglese (Stati Uniti).For example, if a user types 3, the value will be measured in millimeters if the language is French or inches if the language is English (United States). I valori validi sono: 1028, 1031, 1033, 1036, 1040, 1041, 1042, 2052, 3082.Valid values include: 1028, 1031, 1033, 1036, 1040, 1041, 1042, 2052, 3082.
UICultureUICulture StringString LSRW Impostazioni internazionali del clientClient culture Specifica la lingua delle stringhe della finestra di dialogo.Specifies string localization of the dialog box. Per il testo della finestra di dialogo di stampa sono disponibili le lingue seguenti: cinese semplificato, cinese tradizionale, inglese, francese, tedesco, italiano, giapponese, coreano e spagnolo.Text in the Print dialog is localized into these languages: Chinese-Simplified, Chinese Traditional, English, French, German, Italian, Japanese, Korean, and Spanish. I valori validi sono: 1028, 1031, 1033, 1036, 1040, 1041, 1042, 2052, 3082.Valid values include: 1028, 1031, 1033, 1036, 1040, 1041, 1042, 2052, 3082.
AuthenticateAuthenticate BooleanBoolean LSRW FalseFalse Specifica se il controllo genera un comando GET per il server di report per avviare una sessione per la stampa fuori sessione.Specifies whether the control issues a GET command against the report server to initiate a connection for out-of-session printing.

Quando impostare la proprietà AuthenticateWhen to Set the Authenticate Property

Quando si stampa da una sessione del browser, non è necessario impostare il Authenticate proprietà.When you print from within a browser session, you do not need to set the Authenticate property. Nel contesto di una sessione attiva, tutte le richieste dal controllo di stampa al server di report vengono gestite tramite il browser.Within the context of an active session, all requests from the print control to the report server are handled through the browser. Il browser imposta le variabili di sessione necessarie per la comunicazione al server di report.The browser sets the session variables necessary for communication to the report server.

Se si stampa fuori sessione (ad esempio, l'invio di un report direttamente a una stampante senza prima aprirlo), il controllo di stampa deve emettere HTTP ottenere richiesta per configurare la sessione con il server di report.If you print out-of-session (for example, sending a report directly to a printer without first opening it), the print control must issue an HTTP GET request to set up the session with the report server. Problema di ottenere richiesta, si imposta Authenticate per True.To issue the GET request, you set Authenticate to True.

È necessario eseguire il ottenere richiesta se si utilizza Windows integrato protezione o l'autenticazione di base.You only need to issue the GET request if you are using Windows integrated security or Basic authentication. Se si utilizza l'autenticazione basata su form, il Authenticate proprietà viene ignorata.If you are using forms authentication, the Authenticate property is ignored. Il codice dell'applicazione deve impostare la sessione e autenticare l'utente utilizzando l'estensione di sicurezza personalizzata fornita dall'utente.Your application code must set the session and authenticate the user using the custom security extension that you provide. Se si utilizza l'autenticazione basata su form, assicurarsi di impostare la scadenza del cookie di autenticazione su un valore che mantenga le sessioni per un intervallo di tempo ragionevole.If you are using forms authentication, be sure to set the expiration value on the authentication cookie to a value that preserves sessions for a reasonable interval. Se il valore è troppo basso, agli utenti verrà richiesto di immettere le credenziali di accesso ogni volta che il cookie scade.If the value is too low, users will be prompted to provide logon credentials each time the cookie expires.

CLSIDCLSIDs

Quando si esegue il report in locale, utilizzare i valori CLSID seguenti.When you are running the report on-premises, you use the following CLSID values.

  • 41861299-EAB2-4DCC-986C-802AE12AC49941861299-EAB2-4DCC-986C-802AE12AC499

  • 5554DCB0-700B-498D-9B58-4E40E58144055554DCB0-700B-498D-9B58-4E40E5814405

  • 60677965-AB8B-464f-9B04-4BA871A2F17F60677965-AB8B-464f-9B04-4BA871A2F17F

    Quando si esegue il report in Windows Azure SQL Reporting, utilizzare i valori CLSID seguenti.When you are running the report in Windows Azure SQL Reporting, you use the following CLSID values.

  • 3DD32426-554D-48C0-A200-65D3BF880E383DD32426-554D-48C0-A200-65D3BF880E38

  • 05662494-ACF9-446A-BE4C-7D3F7EA7F62F05662494-ACF9-446A-BE4C-7D3F7EA7F62F

Supporto di RSPrintClient per il metodo di stampaRSPrintClient Support for the Print Method

Il RSClientPrint oggetto supporta la stampa metodo utilizzato per avviare la finestra di dialogo Stampa.The RSClientPrint object supports the Print method used to launch the Print dialog box. Il stampa metodo include gli argomenti seguenti.The Print method has the following arguments.

ArgomentoArgument I/OI/O TipoType DescriptionDescription
ServerPathServerPath InIn StringString Specifica la directory virtuale del server di report (ad esempio, https://adventure-works/reportserver).Specifies the report server virtual directory (for example, https://adventure-works/reportserver).
ReportPathParametersReportPathParameters InIn StringString Specifica il nome completo del report nello spazio dei nomi delle cartelle del server di report, inclusi i parametri.Specifies the full name to the report in the report server folder namespace, including parameters. I report vengono recuperati mediante l'accesso a un URL,Reports are retrieved through URL access. ad esempio "/AdventureWorks Sample Reports/Employee Sales Summary&EmpID=1234"For example: "/AdventureWorks Sample Reports/Employee Sales Summary&EmpID=1234"
ReportNameReportName InIn StringString Nome breve del report (nell'esempio precedente è Employee Sales Summary)The short name of the report (in the example above, the short name is Employee Sales Summary). che viene visualizzato nella finestra di dialogo di stampa e nella coda di stampa.It appears in the Print dialog box and in the print queue.

EsempioExample

Nell'esempio HTML seguente viene illustrato come specificare il file CAB, stampa metodo e proprietà in JavaScript:The following HTML example shows how to specify the .cab file, Print method, and properties in JavaScript:

<BODY onload="Print()">

<OBJECT ID="RSClientPrint" CLASSID="CLSID: 5554DCB0-700B-498D-9B58-4E40E5814405D3" CODEBASE="<URL to the .CAB file>#Version=<your application version information>" VIEWASTEXT></OBJECT>

<script language="javascript">

function Print()

{

RSClientPrint.MarginLeft = 12.7;

RSClientPrint.MarginTop = 12.7;

RSClientPrint.MarginRight = 12.7;

RSClientPrint.MarginBottom = 12.7;

RSClientPrint.Culture = 1033;

RSClientPrint.UICulture = 9;

RSClientPrint.Print('http://localhost/rtm', '%2fEmployee_Sales_Summary&ReportMonth=6&ReportYear=2004&EmpID=20', 'Employee_Sales_Summary')

}

</script>

</BODY>

Vedere ancheSee Also

Stampare i report da un Browser con il controllo di stampa ( Generatore report e SSRS ) Print Reports from a Browser with the Print Control (Report Builder and SSRS)
Stampa di report ( Generatore report e SSRS ) Print Reports (Report Builder and SSRS)
Image Device Information SettingsImage Device Information Settings