Este artículo se tradujo automáticamente. Para ver el artículo en inglés, active la casilla Inglés. Además, puede mostrar el texto en inglés en una ventana emergente si mueve el puntero del mouse sobre el texto.
Traducción
Inglés

Clase PrintDocument

 

Publicado: octubre de 2016

Define un objeto reutilizable que envía el resultado a una impresora al imprimir desde una aplicación de Windows Forms.

Espacio de nombres:   System.Drawing.Printing
Ensamblado:  System.Drawing (en System.Drawing.dll)

System.Object
  System.MarshalByRefObject
    System.ComponentModel.Component
      System.Drawing.Printing.PrintDocument

public class PrintDocument : Component

NombreDescripción
System_CAPS_pubmethodPrintDocument()

Inicializa una nueva instancia de la clase PrintDocument.

NombreDescripción
System_CAPS_protpropertyCanRaiseEvents

Obtiene un valor que indica si el componente puede provocar un evento.(Heredado de Component).

System_CAPS_pubpropertyContainer

Obtiene IContainer que contiene Component.(Heredado de Component).

System_CAPS_pubpropertyDefaultPageSettings

Obtiene o establece la configuración de página que se utiliza como predeterminada para todas las páginas que se van a imprimir.

System_CAPS_protpropertyDesignMode

Obtiene un valor que indica si la Component está actualmente en modo de diseño.(Heredado de Component).

System_CAPS_pubpropertyDocumentName

Obtiene o establece el nombre del documento que va a aparecer (por ejemplo, en un cuadro de diálogo de estado de impresión o cola de impresión) mientras se imprime el documento.

System_CAPS_protpropertyEvents

Obtiene la lista de controladores de eventos que se adjuntará a este Component.(Heredado de Component).

System_CAPS_pubpropertyOriginAtMargins

Obtiene o establece un valor que indica si un objeto gráfico asociado a una página está situado justo dentro de los márgenes especificados por el usuario o en la esquina superior izquierda del área de impresión de la página.

System_CAPS_pubpropertyPrintController

Obtiene o establece el dispositivo de impresión que guía el proceso de impresión.

System_CAPS_pubpropertyPrinterSettings

Obtiene o establece la impresora que imprime el documento.

System_CAPS_pubpropertySite

Obtiene o establece la ISite de la Component.(Heredado de Component).

NombreDescripción
System_CAPS_pubmethodCreateObjRef(Type)

Crea un objeto que contiene toda la información relevante necesaria para generar a un proxy que se utiliza para comunicarse con un objeto remoto.(Heredado de MarshalByRefObject).

System_CAPS_pubmethodDispose()

Libera todos los recursos que usa Component.(Heredado de Component).

System_CAPS_protmethodDispose(Boolean)

Libera los recursos no administrados que usa Component y libera los recursos administrados de forma opcional.(Heredado de Component).

System_CAPS_pubmethodEquals(Object)

Determina si el objeto especificado es igual al objeto actual.(Heredado de Object).

System_CAPS_protmethodFinalize()

Libera recursos no administrados y realiza otras operaciones de limpieza antes de que se reclame el elemento Component durante la recolección de elementos no usados.(Heredado de Component).

System_CAPS_pubmethodGetHashCode()

Sirve como la función hash predeterminada.(Heredado de Object).

System_CAPS_pubmethodGetLifetimeService()

Recupera el objeto de servicio de duración actual que controla la directiva de duración de esta instancia.(Heredado de MarshalByRefObject).

System_CAPS_protmethodGetService(Type)

Devuelve un objeto que representa el servicio suministrado por Component o por Container.(Heredado de Component).

System_CAPS_pubmethodGetType()

Obtiene el Type de la instancia actual.(Heredado de Object).

System_CAPS_pubmethodInitializeLifetimeService()

Obtiene un objeto de servicio de duración para controlar la directiva de duración de esta instancia.(Heredado de MarshalByRefObject).

System_CAPS_protmethodMemberwiseClone()

Crea una copia superficial del Object actual.(Heredado de Object).

System_CAPS_protmethodMemberwiseClone(Boolean)

Crea una copia superficial del elemento actual MarshalByRefObject objeto.(Heredado de MarshalByRefObject).

System_CAPS_protmethodOnBeginPrint(PrintEventArgs)

Genera el evento BeginPrint. Se llama después de llamar al método Print y antes de que se imprima la primera página del documento.

System_CAPS_protmethodOnEndPrint(PrintEventArgs)

Genera el evento EndPrint. Se llama cuando se ha imprimido la última página del documento.

System_CAPS_protmethodOnPrintPage(PrintPageEventArgs)

Genera el evento PrintPage. Se llama antes de que se imprima una página.

System_CAPS_protmethodOnQueryPageSettings(QueryPageSettingsEventArgs)

Genera el evento QueryPageSettings. Se llama justo antes de cada evento PrintPage.

System_CAPS_pubmethodPrint()

Inicia el proceso de impresión del documento.

System_CAPS_pubmethodToString()

Esta API admite la infraestructura producto y no está diseñada para usarse directamente desde el código. Proporciona información sobre el documento de impresión, en forma de cadena.(Invalida Component.ToString()).

NombreDescripción
System_CAPS_pubeventBeginPrint

Se produce cuando se llama al método Print antes de que se imprima la primera página del documento.

System_CAPS_pubeventDisposed

Se produce cuando el componente se elimina mediante una llamada a la Dispose (método).(Heredado de Component).

System_CAPS_pubeventEndPrint

Se produce cuando se ha imprimido la última página del documento.

System_CAPS_pubeventPrintPage

Se produce cuando se necesita el resultado que se va a imprimir para la página actual.

System_CAPS_pubeventQueryPageSettings

Se produce justo antes de cada evento PrintPage.

Normalmente, se crea una instancia de la PrintDocument de clases, establecer propiedades tales como la DocumentNamey PrinterSettings, y llamar a la Print método para iniciar el proceso de impresión. Controlar la PrintPage evento donde se especifica el resultado para imprimir, con el GraphicsGraphics propiedad de la PrintPageEventArgs.

Para obtener más información sobre cómo imprimir desde una aplicación de Windows Forms, consulte el Windows Forms Print Support. Si desea imprimir desde una aplicación de Windows Presentation Foundation, consulte el System.Printing espacio de nombres.

En el ejemplo de código siguiente se imprime el archivo denominado C:\My Documents\MyFile. txt en la impresora predeterminada. Para ejecutar el ejemplo, cree un nuevo proyecto de formularios Windows Forms y pegue el código de ejemplo en el formulario, reemplazando el contenido del archivo. Para C#, debe eliminar el archivo Form1.Designer.cs. Además, puede cambiar la ruta de acceso al archivo que desea imprimir.

System_CAPS_noteNota

El ejemplo requiere que cada línea se ajusta al ancho de página.

Utilice la System.ComponentModel, System.Windows.Forms, System.Drawing, System.Drawing.Printing, y System.IO espacios de nombres para este ejemplo.

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


public partial class Form1 : System.Windows.Forms.Form
{
    private System.ComponentModel.Container components;
    private System.Windows.Forms.Button printButton;
    private Font printFont;
    private StreamReader streamToPrint;

    public Form1()
    {
        // The Windows Forms Designer requires the following call.
        InitializeComponent();
    }

    // The Click event is raised when the user clicks the Print button.
    private void printButton_Click(object sender, EventArgs e)
    {
        try
        {
            streamToPrint = new StreamReader
               ("C:\\My Documents\\MyFile.txt");
            try
            {
                printFont = new Font("Arial", 10);
                PrintDocument pd = new PrintDocument();
                pd.PrintPage += new PrintPageEventHandler
                   (this.pd_PrintPage);
                pd.Print();
            }
            finally
            {
                streamToPrint.Close();
            }
        }
        catch (Exception ex)
        {
            MessageBox.Show(ex.Message);
        }
    }

    // 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);

        // Print each line of the file.
        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;
    }


    // The Windows Forms Designer requires the following procedure.
    private void InitializeComponent()
    {
        this.components = new System.ComponentModel.Container();
        this.printButton = new System.Windows.Forms.Button();

        this.ClientSize = new System.Drawing.Size(504, 381);
        this.Text = "Print Example";

        printButton.ImageAlign =
           System.Drawing.ContentAlignment.MiddleLeft;
        printButton.Location = new System.Drawing.Point(32, 110);
        printButton.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
        printButton.TabIndex = 0;
        printButton.Text = "Print the file.";
        printButton.Size = new System.Drawing.Size(136, 40);
        printButton.Click += new System.EventHandler(printButton_Click);

        this.Controls.Add(printButton);
    }

}

.NET Framework
Disponible desde 1.1

Cualquier miembro ( Compartido en Visual Basic) estático público de este tipo es seguro para subprocesos. No se garantiza que los miembros de instancia sean seguros para subprocesos.

Volver al principio
Mostrar: