Antonio "tdj"

(C'è sempre un modo migliore)
posts - 312, comments - 268, trackbacks - 17

My Links

News





Tag Cloud

Article Categories

Archives

Post Categories

Image Galleries

Articoli

Blogs

Controlli WinForm free

Guide

Siti vari

Sviluppo

Stampare con CrystalReport.NET in ambiente ASP

Raramente capita di avere la necessità di utilizzare la stampante per stampare dati in ambiente ASP, a meno che non si tratti (tipicamente) di un'applicazione intranet.
Ebbene, la mia necessità è stata proprio questa: dare la possibilità all'utente di stampare documenti su una stampante installata sul web server.

In Crystal Report (CR) tutto ciò è possibile riachiamando banalmente il metodo PrintToPrinter() dell'oggetto ReportDocument() . Beh... proprio così banale non è
Il problema nasce proprio dall'ambiente in cui si opera, ovvero ASP.NET nel mio caso. Infatti i requisiti per stampare su stampante sono:

1) che le stampanti siano installate sul web server
2) che l'account SYSTEM sia autorizzato ad usarle

Il primo punto è di facile soluzione, il secondo, invece, richiede una modifica al machine.config in modo tale da cambiare l'account del processo ASPNET con l'utente SYSTEM (occorre modificare l'elemento <processModel>)
Infine bisogna rendere accessibili le stampanti all'utente SYSTEM visto che per default non ha nessuna stampante configurata.
Questo è possibile modificando manualmente la chiave di registro HKEY_USERS\.DEFAULT

Ovviamente, viste le modifiche da fare a livello di macchina, questo tipo di operazioni sono fattibili e consigliabili solo se si lavora in ambiente intranet (considerando anche che il processo ASPNET gira con l'account SYSTEM...)

Tutti i dettagli li trovate in questi documenti:

1) "Stampa di report basati sul Web dal server"
2) "PRB: Oggetti COM non stampati se chiamati da ASP"
3) "Printing Web based reports with Crystal Reports for Visual Studio .NET"

Print | posted on martedì 24 maggio 2005 12:30 | Filed Under [ Crystal Report ]

Comments have been closed on this topic.

Powered by:
Powered By Subtext Powered By ASP.NET