PrintDocument.Print Yöntem

Tanım

Belgenin yazdırma işlemini başlatır.

C#
public void Print ();

Özel durumlar

özelliğinde PrinterName adlı yazıcı yok.

Örnekler

Aşağıdaki kod örneği, komut satırı aracılığıyla belirtilen dosyayı varsayılan yazıcıya yazdırır.

Not

Örnek, her satırın sayfa genişliğine sığmalarını gerektirir.

System.ComponentModelBu örnek için , System.Drawing, System.Drawing.Printing, System.IOve System.Windows.Forms ad alanlarını kullanın.

C#
using System;
using System.IO;
using System.Drawing;
using System.Drawing.Printing;
using System.Windows.Forms;

 public class PrintingExample 
 {
     private Font printFont;
     private StreamReader streamToPrint;
     static string filePath;

     public PrintingExample() 
     {
         Printing();
     }
 
     // The PrintPage event is raised for each page to be printed.
     private void pd_PrintPage(object sender, PrintPageEventArgs ev) 
     {
         float linesPerPage = 0;
         float yPos =  0;
         int count = 0;
         float leftMargin = ev.MarginBounds.Left;
         float topMargin = ev.MarginBounds.Top;
         String line=null;
             
         // Calculate the number of lines per page.
         linesPerPage = ev.MarginBounds.Height  / 
            printFont.GetHeight(ev.Graphics) ;
 
         // Iterate over the file, printing each line.
         while (count < linesPerPage && 
            ((line=streamToPrint.ReadLine()) != null)) 
         {
            yPos = topMargin + (count * printFont.GetHeight(ev.Graphics));
            ev.Graphics.DrawString (line, printFont, Brushes.Black, 
               leftMargin, yPos, new StringFormat());
            count++;
         }
 
         // If more lines exist, print another page.
         if (line != null) 
            ev.HasMorePages = true;
         else 
            ev.HasMorePages = false;
     }
 
     // Print the file.
     public void Printing()
     {
         try 
         {
            streamToPrint = new StreamReader (filePath);
            try 
            {
               printFont = new Font("Arial", 10);
               PrintDocument pd = new PrintDocument(); 
               pd.PrintPage += new PrintPageEventHandler(pd_PrintPage);
               // Print the document.
               pd.Print();
            } 
            finally 
            {
               streamToPrint.Close() ;
            }
        } 
        catch(Exception ex) 
        { 
            MessageBox.Show(ex.Message);
        }
     }
   
     // This is the main entry point for the application.
     public static void Main(string[] args) 
     {
        string sampleName = Environment.GetCommandLineArgs()[0];
        if(args.Length != 1)
        {
           Console.WriteLine("Usage: " + sampleName +" <file path>");
           return;
        }
        filePath = args[0];
        new PrintingExample();
     }
 }

Açıklamalar

Olayı işleyerek PrintPage ve içinde bulunan öğesini kullanarak yazdırılacak çıktıyı GraphicsPrintPageEventArgsbelirtin.

Belgeyi hangi yazıcının PrinterSettings.PrinterName yazdıracağını belirtmek için özelliğini kullanın.

Print yöntemi, belgeyi yazdırma iletişim kutusu kullanmadan yazdırır. Kullanıcıya yazdırma ayarlarını seçme olanağı sunmak istediğinizde kullanın PrintDialog .

Not

Yazdırma sırasında yöntemi tarafından Print işlenmemiş bir özel durum oluşursa, belgenin yazdırılma işlemi durduruldu.

Şunlara uygulanır

Ürün Sürümler
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
Windows Desktop 3.0, 3.1, 5, 6, 7, 8, 9