Oppure

Loading
17/02/16 10:47
Impakto91
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!
aaa
17/02/16 12:32
TheDarkJuster
Beh ovvio che crea un nuovo processo di stampa:
Dim p As New Process

e qualche riga sotto lo fai partire:
p.Start()


Tra l'altro:
frmMain.lblStato.Text = "Stampa completata"


beh abbastanza discutibile..... in quel punto del programma non è la stampa ad essere completata, ma la creazione dei pool di stampe.........

Io non conosco nessuna libreria pdf freeware che supporti la stampa, ma ne ho trovate alcune su google:visualstudiogallery.msdn.microsoft.com/… pdfclown.org/ code.google.com/archive/p/nanopdf/…
Posso solo dirti che quel codice non può garantirti alcun ordine di stampa. La buona notizia è che la prima libreria linkata sembra molto ben fatta e completa. Vanta inoltre capacità di stampa, da provare :k:
aaa