Technology Experience
.NET World

Automatizzare Reporting Services con codice managed

Reporting Services di SQL Server 2005 non significa solo report esposti da IIS e quindi raggiungibili via browser, ma significa anche avere un componente lato client per fare esattamente la stessa cosa. E’ quello che ho fatto nell’applicazione di fatturazione che ho reso pubblica molto, molto tempo fa.

I report sono in formato RDLC ed usando la finestra di preview è possibile stampare sulla stampante di default, esportare in PDF e fare le solite cose fattibili con un’anteprima di stampa (zoom, regolare l’orientamento della pagine, decidere la stampante, settare il numero di copie, etc.). Ma non solo.

L’architettura di Reporting Services permette di scrivere codice managed per ottenere lo stesso risultato raggiungibile dalla classica UI. Per esempio: possiamo lanciare una stampa di una certa fattura senza alcuna richiesta da parte dell’utente, e possiamo esportare un report di stampa in qualsiasi formato, tra cui il PDF. Ecco qualche link utile per questo tipo di approccio.

Programattically render pdf from ReportViewer
http://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=240094&SiteId=1

Walkthrough: Printing a Local Report without Preview
http://msdn2.microsoft.com/en-us/library/ms252091(VS.80).aspx

Due piccole note. L’esportazione in formato PDF è piuttosto semplice, perchè il metodo Render esposto dalla classe LocalReport non fa altro che ritornare un byte[] che poi va salvato su disco dandogli un nome come C:MioReport.pdf.
La stampa diretta su stampante è invece un po’ più impegnativa, perchè comunque passa attraverso l’uso dei tradizionali oggetti PrintDocument di .NET per stampare il documento.

Se stasera riesco, integro queste due piccole scoperte nel mio RapportinoMaker e se ce la faccio entro fine mese ho tutto automizzato. Spettacolare!

Technorati Tags:

Send to Kindle

Igor Damiani

La sua passione per l'informatica nasce nella prima metà degli anni '80, quando suo padre acquistò un Texas Instruments TI-99. Da allora ha continuato a seguire l'evoluzione sia hardware che software avvenuta nel corso degli anni. E' un utente, un videogiocatore ed uno sviluppatore software a tempo pieno. Igor ha lavorato e lavora anche oggi con le più moderne tecnologie Microsoft per lo sviluppo di applicazioni: .NET Framework, XAML, Universal Windows Platform, su diverse piattaforme, tra cui spiccano Windows 10 piattaforme mobile. Numerose sono le app che Igor ha creato e pubblicato sul marketplace sotto il nome VivendoByte, suo personale marchio di fabbrica. Adora mantenere i contatti attraverso Twitter e soprattutto attraverso gli eventi delle community .NET.

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

Questo sito usa Akismet per ridurre lo spam. Scopri come i tuoi dati vengono elaborati.