ReportViewer: stampare senza preview

martedì 09 settembre 2008 - 12.34

Barabas Profilo | Junior Member

Salve a tutti,

nella mia applicazione windows, realizzata in vb.net con visual studio 2005 e framework 2.0, ho realizzato un report con il controllo reportviewer, un file di report (.rdlc) e come origine dei dati un dataset con una data table.
il tutto funziona perfettamente.
è nata l'esigenza di stamparlo direttamente senza vedere la preview nel controllo reportviewer, ho seguito le indicazioni della msdn
http://msdn.microsoft.com/en-us/library/ms252091(VS.80,printer).aspx
praticamente fa il render in un formato (immagine, pdf o excel) e poi lo stampa...
però la stampa ha una qualità penosa, il carattere è schiacciato e allargato e infatti non entra più nei limiti di larghezza della pagina
ho provato a cambiare dal formato immagine agli altri 2 ma ottengo degli errori che non riesco a risolvere ed inoltre cercando un po' in rete mi è sembrato di capire che comunque non risolverei neanche cambiando formato.

avete da suggerirmi qualche altro modo per stampare senza preview? oppure qualche modo per migliorare la qualità della stampa che ottengo ora?

grazie in anticipo
Barabas

freeteo Profilo | Guru

ciao,
sinceramente non conosco modi per modificare la qualità della stampa, l'unica cosa è provare a vedere se lavorando sulle impostazioni di margini del report cambia qualcosa, intendo nella variabile "deviceInfo" del codice di msdn che hai segnalato.

Ma può dipendere dal font che usi nel report magari?
Perchè magari è la stampante che usi per stamparlo che non lo renderizza correttamente, hai provato a fare il pdf (usando lo stesso codice) e vedere se dentro Acrobat lo vedi bene?
ciao.

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

Barabas Profilo | Junior Member

grazie della risposta
proverò a cambiare i margini e vedere che succede
non credo dipenda dal font, è quello di default...
ho provato a fare il pdf ma mi dava un'eccezione che ora non ricordo esattamente

ora mi rimetto a provare...

grazie ancora

Ciao
Barabas

Barabas Profilo | Junior Member

risolto !!
in effetti era una stupidaggine e avrei dovuto accorgermene da solo...
chiedo scusa per il disturbo la prossima volta sarò + attento,
ma la fretta è sempre una cattiva consigliera.
comunque...
il problema era proprio nella variabile "deviceInfo"
dove le misure della pagina e dei margini erano in pollici: così

'"<DeviceInfo>" + _
'" <OutputFormat>EMF</OutputFormat>" + _
'" <PageWidth>8.5in</PageWidth>" + _
'" <PageHeight>11in</PageHeight>" + _
'" <MarginTop>0.25in</MarginTop>" + _
'" <MarginLeft>0.25in</MarginLeft>" + _
'" <MarginRight>0.25in</MarginRight>" + _
'" <MarginBottom>0.25in</MarginBottom>" + _
'"</DeviceInfo>"

è bastato cambiarle così (queste sono per il landscape...):
"<DeviceInfo>" + _
" <OutputFormat>EMF</OutputFormat>" + _
" <PageWidth>297mm</PageWidth>" + _
" <PageHeight>210mm</PageHeight>" + _
" <MarginTop>9.8mm</MarginTop>" + _
" <MarginLeft>9.8mm</MarginLeft>" + _
" <MarginRight>9.8mm</MarginRight>" + _
" <MarginBottom>9.8mm</MarginBottom>" + _
"</DeviceInfo>"

grazie ancora
Barabas

freeteo Profilo | Guru

>risolto !!
perfetto!

>chiedo scusa per il disturbo la prossima volta sarò + attento,
>ma la fretta è sempre una cattiva consigliera.
eh si anche se la "fretta" nel senso della "velocità di esecuzione" delle cose, nel nostro modo è abbastanza fondamentale, quindi spesso si rischiano errori di questo tipo, passando il confine sottile tra velocità e fretta...

>il problema era proprio nella variabile "deviceInfo"
>dove le misure della pagina e dei margini erano in pollici: così
perfetto allora stavolta ci avevo visto giusto...
ciao.

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

santillo Profilo | Newbie

scusate se mi intrometto , non ho molta esperienza con vb.net , potete mandarmi un esempio funzionante di stampa di Microsoft ReportViewer direttamente su stampante, possibilmente con un dataset tipicizzato "microsoft sql 2005", perche gli esempi scaricati da internet non li riesco a far funzionare !!!
vi ringrazio ,,,
a.santillo@echosistemi.it
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