STAMPA DIRETTA LOCALREPORT SENZA ANTEPRIMA

lunedì 21 gennaio 2008 - 11.15

ario Profilo | Junior Member

AIUTOO!!
POTRESTE INVIARMI IN ESEMPIOI SEMPLICE DI STAMPA DIRETTA LOCALREPORT (RLDC) SENZA ANTEPRIMA.
HO GIA FATTO DIVERSE PROVE CON LE INDICAZIONI DA VOI INVIATEMI , MA CONTINUA A DARMI ERRORE SUL LOCALREPORT
I RIFERIMENTI SEMBRANO ESATTI

NON CAPISCO!!!!

freeteo Profilo | Guru

ciao,
prova a vedere questo esempio:
http://www.gotreportviewer.com/EMFPrint.zip

il file demo.cs ha dentro cablato il nome della stampante, tu modificalo con il nome di una stampante tua e rilancia il "Build.cmd" per rigenerare l'exe.
Altrimenti ancora meglio, includilo dentro ad un tuo progettino e customizza il codice...

ciao.

Matteo Raumer
[MCAD .net]
http://blogs.dotnethell.it/freeteo

ario Profilo | Junior Member

Vb 2005
L' ESPORTAZIONE FUNZIONA CORRETTAMENTE, INFATTI MI CREA UN FILE TIFF CONTENENTE LA MIA STAMPA.
QUANDO PERO'CERCO DI STAMPARLA MI STAMPA UNA PAGINA VUOTA
Dovre chiamare il file creato tiff o pdf .... e stamparlo direttamente, come faccio???
Mi stampa sempre un foglio vuoto
AIUTO!!!

freeteo Profilo | Guru

ciao,
ma l'esempio che ti ho segnalato non funziona?

Quello dovrebbe creare i file "emf" e pero' stamparli direttamente, nella stampante (previa modifica del nome della stampante che c'e' nel codice ovviamente)...da te crea solo i file e non va in stampa diretta?

Eventualmente posta qualche riga di codice piu' significativa che cerchiamo di capire dove sta il problema...
Grazie

ciao.

Matteo Raumer
[MCAD .net]
http://blogs.dotnethell.it/freeteo

ario Profilo | Junior Member

Io sviluppo in vb 2005
ho preso spunto dal tuo esempio e da altri e ho notato che mi crea un file tff contenente la mia stampa, ho provato anche a creare un pdf, ma non riesco a lanciarlo a stampante, quindi come facco ????


Marusca

freeteo Profilo | Guru

ciao,
effettivamente la cosa è abbastanza fastidiosa da fare, a differenza di altri tool, SqlReporting non da un metodo dritto che permetta di stampare e l'utente deve fare un codice abbastanza incasinato per farlo.

Cmq sia, se guardi l'esempio che ti ho allegato, praticametne i passi sono questi:
- chiamare il Render, al quale viene passata una "CallBack" ovvero un delegate (puntatore a funzione) che viene richiamata per ogni pagina renderizzata. (il nome è "CreateStream")

- in questo metodo vengono aggiunti gli stream che lui crea come puntatori ai file che sono relativi alle pagine che ha renderizzato.

- dopodiche usiamo la classe "PrintDocument" per fare una stampa con il metodo "Print"

- di questa classe intercettiamo l'evento Print, e dentro li andiamo a fare la stampa mediante "ev.Graphics.DrawImage" dato che abbiamo uno stream che punta a quella pagina datoci dal render (punti precedenti).
Sempre qui dentro gli diciamo che ci sono ancora pagine ( "HasMorePages" ) a seconda degli stream che ci ha dato indietro il metodo Render chiamato prima.



Tradotto in parole povere "una complicazione inutile" pero' al momento non ci sono altre strade...speriamo solo che con le prossime release diano qualcosa di piu' agile, come un metodo "PrintReport"

ciao.

Matteo Raumer
[MCAD .net]
http://blogs.dotnethell.it/freeteo
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2024
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5