PrintDocument.Print Metodo

Definizione

Avvia il processo di stampa del documento.

C#
public void Print ();

Eccezioni

La stampante indicata nella proprietà PrinterName non esiste.

Esempio

Nell'esempio di codice seguente viene stampato il file specificato tramite la riga di comando nella stampante predefinita.

Nota

L'esempio richiede che ogni riga si adatta alla larghezza della pagina.

Usare gli System.ComponentModelspazi dei nomi , System.DrawingSystem.Drawing.Printing, System.IOe System.Windows.Forms per questo esempio.

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();
     }
 }

Commenti

Specificare l'output da stampare gestendo l'evento e usando l'oggetto PrintPageGraphics incluso in PrintPageEventArgs.

Utilizzare la PrinterSettings.PrinterName proprietà per specificare quale stampante deve stampare il documento.

Il Print metodo stampa il documento senza usare una finestra di dialogo di stampa. Usare un oggetto PrintDialog quando si vuole offrire all'utente la possibilità di scegliere le impostazioni di stampa.

Nota

Se viene generata un'eccezione non gestita dal metodo durante la Print stampa, la stampa del documento viene interrotta.

Si applica a

Prodotto Versioni
.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