Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Stampare PDF da shell

213 views
Skip to first unread message

Maurizio

unread,
Dec 4, 2006, 5:27:15 AM12/4/06
to
Salve a tutti...
ho creato un'applicazione console in c# per stampare i file pdf.
ho utilizzato il codice trovato a questo indirizzo
http://blogs.ugidotnet.org/raffaele/archive/2005/01/27/9985.aspx
esattamente quello con il verb "printto".
Stampo correttamente a seconda del nome della stampante che specifico,
ma quello che vorrei fare è che non mi si aprisse tutte le volte
Acrobat Reader.
Vi posto il mio codice:

String tmpFile = @"C:\MioPdf.pdf"

ProcessStartInfo psi = new ProcessStartInfo(tmpFile);
psi.Verb = "printto";
psi.Arguments = "\"Nome Stampante di Windows\"";
Process print = new Process();
print.StartInfo = psi;
print.Start();
print.WaitForExit(); //Non supera questa istruzione finchè non chiudo
Acrobat Reader
print.Close();

Come faccio per non far aprire Acrobat Reader?
Grazie a tutti e spero che mi possiate aiutare...

Bye!!

Raffaele Rialdi [MVP]

unread,
Dec 4, 2006, 9:36:46 AM12/4/06
to
Maurizio wrote:
> Salve a tutti...
> ho creato un'applicazione console in c# per stampare i file pdf.
> ho utilizzato il codice trovato a questo indirizzo
> http://blogs.ugidotnet.org/raffaele/archive/2005/01/27/9985.aspx
> esattamente quello con il verb "printto".
> Stampo correttamente a seconda del nome della stampante che specifico,
> ma quello che vorrei fare è che non mi si aprisse tutte le volte
> Acrobat Reader.
[...]

Il comportamento che descrivi sembra essere dovuto ad acrobat che non brilla
come applicazione sotto tanti punti di vista.
Se lanciando tante stampe si aprono altrettanti acrobat, è un problema di
acrobat e ci puoi fare poco.

L'unica cosa che mi viene in mente è quella di mandare un messaggio WM_QUIT
ad acrobat per chiudersi. Resta da vedere come capire quando ha terminato di
stampare.

Il discorso generale è che con le operazioni tramite shell non hai il
controllo perché non sai neppure quale applicazione verrà aperta con quel
verb.
Se non riesci a risolvere in quel modo, l'unica alternativa è quella di
usare una libreria per pdf che consenta di stampare.

--
Raffaele Rialdi
Microsoft .NET MVP http://mvp.support.microsoft.com -
http://italy.mvps.org UGIdotNET - User Group Italiano .NET
http://www.ugidotnet.org Weblog: http://blogs.ugidotnet.org/raffaele

Maurizio

unread,
Dec 4, 2006, 10:29:50 AM12/4/06
to
...immaginavo una risposta del genere... :-(
ho paura che la strada più semplice e meno dolorosa sia proprio quella
di utilizzare una libreria pdf...
grazie mille per la risposta!

Raffaele Rialdi [MVP]

unread,
Dec 4, 2006, 11:31:21 AM12/4/06
to

Prego!

Maury

unread,
Dec 5, 2006, 3:16:31 AM12/5/06
to
Maurizio ha scritto:

Prima di usare un libreria PDF, hai provato FoxitReader?
Fai sapere se sei riuscito...

0 new messages