ReportViewer stampare senza background

mercoledì 03 marzo 2010 - 12.59

giogio Profilo | Newbie

Salve a tutti.
Sto utilizzando reportViewer per generare i report della mia applicazione. Qualcuno sa come si possa impostare che la stampa del report sia con background bianco invece che con il background utilizzato per la visualizzazione (nella mia visualizzazione ho impostato il background dei report a grigio e vorrei che venisse stampato senza background in modo da minimizzare il consumo della stampante)?

freeteo Profilo | Guru

Ciao,
hai provato a fare la stampa del report direttamente da codice, senza clicckare il pulsante di stampa del viewer?
Puoi farlo sull'oggetto LocalReport, con un codice di questo tipo:

public static string StampaReport(ReportViewer v,string pa, int nCopie, string stam) { try { SetParameters(v, pa); LocalReport report = v.LocalReport; byte[] bytes = Render(report, "image"); tiffs = GetPagine(Image.FromStream(new MemoryStream(bytes))); //--- stampo con la classe di .net PrintDocument doc = new PrintDocument(); doc.PrinterSettings.Copies = (short)nCopie; doc.PrinterSettings.PrinterName = stam; doc.DocumentName = Path.GetFileName(report.ReportPath); doc.PrintPage += new PrintPageEventHandler(doc_PrintPage); doc.Print(); } catch (Exception ex) { return ex.ToString(); } return string.Empty; } static int pag = 0; static void doc_PrintPage(object sender, PrintPageEventArgs e) { e.Graphics.DrawImage(tiffs[pag++], e.PageBounds); e.HasMorePages = pag <= tiffs.Count - 1; if (!e.HasMorePages) pag = 0; } public static List<Image> GetPagine(Image image) { List<Image> pagine = new List<Image>(); FrameDimension dimension = new FrameDimension(image.FrameDimensionsList[0]); for (int i = 0; i < image.GetFrameCount(dimension); i++) { image.SelectActiveFrame(dimension, i); pagine.Add(image.Clone() as Image); } return pagine; }

questo è un codice che usavo io, se vuoi un altro esempio lo puoi trovare qui: http://www.gotreportviewer.com/ a destra in basso c'è proprio l'esempio che parla del Printing da Console...

Ciao.

Matteo Raumer
[MCAD .net, MVP Visual C#]
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