Salve ragazzi sto realizzando un piccolo tool che mi lancia in stampa determinati files pdf presenti sul pc.
Ad esempio mi deve mandare in stampa 20 copie di "pippo.pdf" e 20 copie di "pluto.pdf"
Queste pagine devono essere mandate in stampa in ordine (ovvero prima 20 copie di uno e poi 20 delle altre).
Per eseguire il lavoro ho usato questo codice:
Public Function StampaFilePDF(ByVal articolo As String, ByVal copies As Integer) As Boolean
frmMain.lblStato.Text = "Stampa di " & copies & " '" & articolo & "' in corso"
For a = 1 To copies
Dim p As New Process
p.StartInfo.FileName = articolo
p.StartInfo.WindowStyle = ProcessWindowStyle.Hidden
p.StartInfo.Verb = "Print"
p.Start()
Next
frmMain.lblStato.Text = "Stampa completata"
End Function
Per mandare le diverse copie uso un ciclo for che ha la pecca di crearmi un processo nella stampante per ogni copia ed essendo una stampante di rete quando mando in stampa anche il secondo file i processi si mischiano tra di loro e capita una stampa molto disordinata. Secondo voi è possibile mandare una shell che faccia partire un unico processo con N pagine? Inoltre già che ci siamo mi servirebbe poter scegliere:
- Possibilità fronte/retro
- Possibilità scelta stampante
Mi andrebbe bene utilizzare anche un applicazione o una dll esterna basta che sia freeware.
Vi ringrazio molto per la collaborazione!