Thread: C# основной форум/Printing a PDF File to a (Network) Printer With C#

Printing a PDF File to a (Network) Printer With C#

One of the approaches:


using System;                                                              
using System.Collections.Generic;                                          
using System.ComponentModel;                                               
using System.Data; System.Drawing;                                         
using System.Text; System.Windows.Forms;                                   
using System.Management;                                                   
using System.Management.Instrumentation;                                   
                                                                           
public partial class frmPrintDisplay : Form                                
 {                                                                          
      public frmPrintDisplay()                                              
      {                                                                     
           InitializeComponent();                                           
      }                                                                     
                                                                            
      private void cmdGetPrinters_Click(object sender, EventArgs e)         
      {                                                                     
         ObjectQuery query = new ObjectQuery("SELECT * FROM Win32_Printer");
                                                                            
          ManagementObjectSearcher mo = new ManagementObjectSearcher(query);
                                                                            
          ManagementObjectCollection printers = mo.Get();                   
                                                                            
         foreach (ManagementObject printer in printers)                     
         {                                                                  
             PropertyDataCollection printerProperties = printer.Properties; 
             string printerPath = printer.Path.ToString() ;                 
             PropertyDataCollection.PropertyDataEnumerator test =           
                 printer.Properties.GetEnumerator();                        
                                                                            
             while(! (test.MoveNext()== false ))                            
             {                                                              
                 lstPrinters.Items.Add(                                     
                     new ListViewItem( new string[]                         
                     {                                                      
                         test.Current.Name,                                 
                         (                                                  
                             (test.Current.Value == null) ?                 
                             "n/a" : test.Current.Value.ToString()          
                         )                                                  
                     })                                                     
                 );                                                         
             }                                                              
         }                                                                  
     }                                                                      
 }


using System;                                                              
using System.Collections.Generic;                                          
using System.ComponentModel;                                               
using System.Data; System.Drawing;                                         
using System.IO;                                                           
using System.Text; System.Windows.Forms;                                   
using System.Management;                                                   
using System.Management.Instrumentation;                                   
                                                                            
/* the stuff in between is not relevant that's why its not included  */    
                                                                            
private void print(ref DirectoryInfo tempDir)                              
 {                                                                          
     try                                                                    
     {                                                                      
         foreach(FileInfo file in tempDir.GetFiles("*.pdf"))                
        {                                                                  
             file.CopyTo("\\\\XYZ\\MyPrinter\\" + file.Name);                
         }                                                                  
     }                                                                      
     catch(Exception ee){ }                                                 
 }