Ciao,
se vuoi fare andare in stampa un file direttamente come fa il tastoDX->Stampa (attento che non tutti i file lo supportano, verifica la presenza di questa voce nel menù contestuale) puoi usare la classe "Process" che simula il prompt di dos diciamo, ossia il lancio di un processo direttamente.
Un codice tipo questo fa quello che vuoi tu:
Process processo = new Process();
//--- Questo con il viewer di office non funziona
//--- chè manca l'associazione "print" con i tipi di file
processo.StartInfo.FileName = "...file da stampare...";
processo.StartInfo.CreateNoWindow = false;
processo.StartInfo.UseShellExecute = true;
processo.StartInfo.Verb = "print";
processo.StartInfo.WindowStyle = ProcessWindowStyle.Hidden;
processo.Start();
come vedi fa una specie di "ShellExecute" ma usando il "verbo print".
Non so se possa esserti utile, cmq dacci un'occhiata.
Ciao.
Matteo Raumer
[MVP Visual C#]
http://blogs.dotnethell.it/freeteo