2013-07-03 2 views
18

Sto programmando un'applicazione Web con Visual Studio 2010 (C#). Voglio inviare un PDF (salvato nel mio computer) a una stampante quando clicco su un pulsante.invia file pdf a una stampante - stampa pdf

Per creare il PDF ho utilizzato iTextSharp. Ho provato questo, ma si apre Adobe Reader:

   proc.StartInfo.FileName = @"C:\Archivos de programa\Adobe\Reader10.0\Reader\AcroRd32.exe"; 
       proc.StartInfo.Arguments = String.Format(@"/p /h {0}", pdfFileName); 
       proc.StartInfo.UseShellExecute = false; 
       proc.StartInfo.CreateNoWindow = true; 

       proc.Start(); 

Grazie in anticipo !!!

risposta

34

questo è già stato chiesto e ha risposto qui: How can I send a file document to the printer and have it print?

Il codice che è stato utilizzato:

private void SendToPrinter() 
    { 
     ProcessStartInfo info = new ProcessStartInfo(); 
     info.Verb = "print"; 
     info.FileName = @"c:\output.pdf"; 
     info.CreateNoWindow = true; 
     info.WindowStyle = ProcessWindowStyle.Hidden; 

     Process p = new Process(); 
     p.StartInfo = info; 
     p.Start(); 

     p.WaitForInputIdle(); 
     System.Threading.Thread.Sleep(3000); 
     if (false == p.CloseMainWindow()) 
      p.Kill(); 
    } 

si apre fondamentalmente in pdf reader "nascosto", dice di stampare, aspetta per finire poi chiuderlo

+1

grazie mille! questo funziona davvero per me! scusa non ho potuto rispondere prima ... – Alsan

+2

@Alsan: Nessun problema :) contento che abbia aiutato –

+3

Questa è una buona soluzione, ma cosa succede se si desidera stampare il documento con l'impostazione della stampante manuale? –