Bypassare PrintDialog (CrystalReport - VB9)

venerdì 19 febbraio 2010 - 16.56

faustoDrum Profilo | Newbie

Ciao a tutti!
Quando lancio la stampa si apre sempre il dialog che mostra l'elenco delle stampanti.
Coem faccio per stampare direttamente sulla stampante predefinita ?
Devo impostare il ReportDocument.PrintOptions.PrinterName=.......?
Nel caso basta scrivere il nome esatto della stampante ?
Oppure???
Grazie Ciao!

freeteo Profilo | Guru

Ciao, perdona il ritardo nella risposta.

Cmq la risposta è sì, ti basta impostare il nome corretto e poi lanciare il metodo "PrintToPrinter(...)", con un codice di questo tipo:
... ReportDocument report = new ReportDocument(); report.Load(...); report.SetDataSource(...) report.PrintOptions.PrinterName = "FinePrint"; report.PrintToPrinter(1, false, 0, 0); ...

Ciao.

Matteo Raumer
[MCAD .net, MVP Visual C#]
http://blogs.dotnethell.it/freeteo

lorenzo.zonzin Profilo | Newbie

Intanto grazie per la risposta e l'immediatezza.
Ho dimenticato di scriveer che uso la famosa "craxdrt.dll": qui non c'è un settaggio del genere, c'è invece la possibilità di dare, oltre alla stampante, il diver e la porta.
Questi ultimi due dati come e dove li posso ricavare, tenendo sempre presente che ho bisogno di salvare le impostazioni di due o tre stampanti.

Metto un po' di codice

Crxreport.FormulaSyntax = CRAXDRT.CRFormulaSyntax.crCrystalSyntaxFormula
Crxreport.RecordSelectionFormula = sFormula
Crxreport.PrinterDuplex = CRAXDRT.CRPrinterDuplexType.crPRDPDefault
' è qui che dovrei mettere la stampante-------------------------------------------------
Crxreport.PrintOut(False)

Grazie ancora, Lorenzo.
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-2017
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5