Stampare un file

lunedì 20 aprile 2009 - 15.45

AntCiar Profilo | Expert

Salve a tutti. Nella mia applicazione gestisco dei file che l'utente mi seleziona. I file selezionati dall'utente possono essere di qualsiasi tipo (excell, immagini, documenti word, publisher e quant'altro). Vorrei poter simulare via codice l'equivalente del "tasto destro su un file--> stampa". Del file ovviamente conosco solo il percorso completo. Come posso fare?

Grazie a tutti.

assiolle Profilo | Junior Member

Scrivendo un bel pò di codice...
Almeno io non conosco comandi già belli pronti...

Procederei cosi :

Secondo la tipologia di file (valuti l'estensione) e decidi come processare il file .

Io farei una classe per tipologia : una per stampare file Excel,una per i file di testo, una per le immagini...etcc..

Happy Code!!


Alessio
http://blogs.dotnethell.it/alessiop

AntCiar Profilo | Expert

Ciao alessio. Avevo pensato anche io ad una cosa del genere. Prima di arrivare a questo avevo intenzione di sfruttare la funzionalità del sistema operativo che già fa questo.

freeteo Profilo | Guru

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