PrintTicket PrintTicket PrintTicket PrintTicket Class

Definición

Define la configuración de un trabajo de impresión.Defines the settings of a print job.

public ref class PrintTicket sealed : System::ComponentModel::INotifyPropertyChanged
public sealed class PrintTicket : System.ComponentModel.INotifyPropertyChanged
type PrintTicket = class
    interface INotifyPropertyChanged
Public NotInheritable Class PrintTicket
Implements INotifyPropertyChanged
Herencia
PrintTicketPrintTicketPrintTicketPrintTicket
Implementaciones

Ejemplos

El ejemplo siguiente muestra cómo determinar las capacidades de una impresora específica y cómo configurar un trabajo de impresión para sacar provecho de ellas.The following example shows how to determine the capabilities of a specific printer and how to configure a print job to take advantage of them.

// ---------------------- GetPrintTicketFromPrinter -----------------------
/// <summary>
///   Returns a PrintTicket based on the current default printer.</summary>
/// <returns>
///   A PrintTicket for the current local default printer.</returns>
PrintTicket^ GetPrintTicketFromPrinter () 
{
   PrintQueue^ printQueue = nullptr;

   LocalPrintServer^ localPrintServer = gcnew LocalPrintServer();

   // Retrieving collection of local printer on user machine
   PrintQueueCollection^ localPrinterCollection = localPrintServer->GetPrintQueues();

   System::Collections::IEnumerator^ localPrinterEnumerator = localPrinterCollection->GetEnumerator();

   if (localPrinterEnumerator->MoveNext())
   {
      // Get PrintQueue from first available printer
      printQueue = ((PrintQueue^)localPrinterEnumerator->Current);
   } else
   {
      return nullptr;
   }
   // Get default PrintTicket from printer
   PrintTicket^ printTicket = printQueue->DefaultPrintTicket;

   PrintCapabilities^ printCapabilites = printQueue->GetPrintCapabilities();

   // Modify PrintTicket
   if (printCapabilites->CollationCapability->Contains(Collation::Collated))
   {
      printTicket->Collation = Collation::Collated;
   }
   if (printCapabilites->DuplexingCapability->Contains(Duplexing::TwoSidedLongEdge))
   {
      printTicket->Duplexing = Duplexing::TwoSidedLongEdge;
   }
   if (printCapabilites->StaplingCapability->Contains(Stapling::StapleDualLeft))
   {
      printTicket->Stapling = Stapling::StapleDualLeft;
   }
   return printTicket;
};// end:GetPrintTicketFromPrinter()
// ---------------------- GetPrintTicketFromPrinter -----------------------
/// <summary>
///   Returns a PrintTicket based on the current default printer.</summary>
/// <returns>
///   A PrintTicket for the current local default printer.</returns>
private PrintTicket GetPrintTicketFromPrinter()
{
    PrintQueue printQueue = null;

    LocalPrintServer localPrintServer = new LocalPrintServer();

    // Retrieving collection of local printer on user machine
    PrintQueueCollection localPrinterCollection =
        localPrintServer.GetPrintQueues();

    System.Collections.IEnumerator localPrinterEnumerator =
        localPrinterCollection.GetEnumerator();

    if (localPrinterEnumerator.MoveNext())
    {
        // Get PrintQueue from first available printer
        printQueue = (PrintQueue)localPrinterEnumerator.Current;
    }
    else
    {
        // No printer exist, return null PrintTicket
        return null;
    }

    // Get default PrintTicket from printer
    PrintTicket printTicket = printQueue.DefaultPrintTicket;

    PrintCapabilities printCapabilites = printQueue.GetPrintCapabilities();

    // Modify PrintTicket
    if (printCapabilites.CollationCapability.Contains(Collation.Collated))
    {
        printTicket.Collation = Collation.Collated;
    }

    if ( printCapabilites.DuplexingCapability.Contains(
            Duplexing.TwoSidedLongEdge) )
    {
        printTicket.Duplexing = Duplexing.TwoSidedLongEdge;
    }

    if (printCapabilites.StaplingCapability.Contains(Stapling.StapleDualLeft))
    {
        printTicket.Stapling = Stapling.StapleDualLeft;
    }

    return printTicket;
}// end:GetPrintTicketFromPrinter()
' ---------------------- GetPrintTicketFromPrinter -----------------------
''' <summary>
'''   Returns a PrintTicket based on the current default printer.</summary>
''' <returns>
'''   A PrintTicket for the current local default printer.</returns>
Private Function GetPrintTicketFromPrinter() As PrintTicket
    Dim printQueue As PrintQueue = Nothing

    Dim localPrintServer As New LocalPrintServer()

    ' Retrieving collection of local printer on user machine
    Dim localPrinterCollection As PrintQueueCollection = localPrintServer.GetPrintQueues()

    Dim localPrinterEnumerator As System.Collections.IEnumerator = localPrinterCollection.GetEnumerator()

    If localPrinterEnumerator.MoveNext() Then
        ' Get PrintQueue from first available printer
        printQueue = CType(localPrinterEnumerator.Current, PrintQueue)
    Else
        ' No printer exist, return null PrintTicket
        Return Nothing
    End If

    ' Get default PrintTicket from printer
    Dim printTicket As PrintTicket = printQueue.DefaultPrintTicket

    Dim printCapabilites As PrintCapabilities = printQueue.GetPrintCapabilities()

    ' Modify PrintTicket
    If printCapabilites.CollationCapability.Contains(Collation.Collated) Then
        printTicket.Collation = Collation.Collated
    End If

    If printCapabilites.DuplexingCapability.Contains(Duplexing.TwoSidedLongEdge) Then
        printTicket.Duplexing = Duplexing.TwoSidedLongEdge
    End If

    If printCapabilites.StaplingCapability.Contains(Stapling.StapleDualLeft) Then
        printTicket.Stapling = Stapling.StapleDualLeft
    End If

    Return printTicket
End Function ' end:GetPrintTicketFromPrinter()

Comentarios

Un PrintTicket objeto es una representación sencilla-a-work-with de un determinado tipo de documento XML denominado un documento PrintTicket.A PrintTicket object is an easy-to-work-with representation of a certain type of XML document called a PrintTicket document. Éste es un conjunto de instrucciones que indican a una impresora cómo establecer sus diversas características (por ejemplo, el dúplex, intercalar y grapar).The latter is a set of instructions telling a printer how to set its various features (such as duplexing, collating, and stapling). Por ejemplo, para indicar a la impresora para activar la grapadora y grapar los trabajos de impresión en la esquina superior izquierda, el documento tendría un <JobStapleAllDocuments … > elemento que especifica StapleTopLeft.For example, to instruct the printer to turn on its stapler and staple print jobs in the upper left corner, the document would have a <JobStapleAllDocuments … > element that specifies StapleTopLeft. El elemento es, a su vez, representado por la Stapling propiedad de la PrintTicket objeto.The element is, in turn, represented by the Stapling property of the PrintTicket object. El documento PrintTicket debe ajustarse a la esquema de impresión.The PrintTicket document must conform to the Print Schema.

El PrintTicket clase permite que la aplicación configurar las características de la impresora sin tener que escribir directamente en los de XML Stream objetos.The PrintTicket class enables your application to configure the printer's features without having to engage in any direct writing of XML Stream objects.

Todas las características más populares de impresoras de archivo y la fotografía empresariales y domésticas se representan mediante las propiedades de PrintTicket la clase.All of the most popular features of home and business file and photo printers are represented by properties of PrintTicket the class. Pero la esquema de impresión define muchos más, es menos común, las características y pueden ampliarse para controlar las características de dispositivos de impresión de Especialidad.But the Print Schema defines many more, less common, features and it can be extended to handle features of specialty printing devices. Por lo tanto, aunque el PrintTicket y PrintCapabilities no se puede heredar las clases, puede ampliar el Print Schema para reconocer las características del dispositivo de impresión que no se recogen en el PrintTicket o PrintCapabilities clases.So, although the PrintTicket and PrintCapabilities classes cannot be inherited, you can extend the Print Schema to recognize print device features that are not accounted for in the PrintTicket or PrintCapabilities classes. Para obtener más información, consulte NOTINBUILD: Procedimiento Extender el esquema de impresión y crear nuevas clases de sistema de impresión.For more information see NOTINBUILD: How to: Extend the Print Schema and Create New Print System Classes.

Tenga en cuenta cuando el PrintTicket objeto se crea con el constructor que toma un documento PrintTicket (como un Stream) parámetro, ese documento completo se almacena en un campo no público en el objeto, incluidos los elementos XML dentro de él que Express menos características comunes que no están representadas por cualquiera de las propiedades públicas de la PrintTicket clase.Note When the PrintTicket object is created with the constructor that takes a PrintTicket document (as a Stream) parameter, that entire document is stored in a non-public field in the object, including the XML elements within it that express less common features that are not represented by any of the public properties of the PrintTicket class. De hecho, si el controlador que generó el documento PrintTicket utiliza una extensión privada de la esquema de impresión, ese definido marcado también se almacena como parte del documento PrintTicket no público.In fact, if the driver that produced the PrintTicket document is using a private extension of the Print Schema, that privately defined markup is also stored as part of the non-public PrintTicket document.

Precaución

Las clases dentro de la System.Printing espacio de nombres no se admiten para su uso dentro de un servicio de Windows o la aplicación ASP.NET o servicio.Classes within the System.Printing namespace are not supported for use within a Windows service or ASP.NET application or service. Al intentar utilizar estas clases dentro de uno de estos tipos de aplicaciones puede producir problemas inesperados, como disminuir las excepciones de rendimiento y tiempo de ejecución de servicio.Attempting to use these classes from within one of these application types may produce unexpected problems, such as diminished service performance and run-time exceptions.

Si desea imprimir desde una aplicación de Windows Forms, consulte el System.Drawing.Printing espacio de nombres.If you want to print from a Windows Forms application, see the System.Drawing.Printing namespace.

Constructores

PrintTicket() PrintTicket() PrintTicket() PrintTicket()

Inicializa una nueva instancia de la clase PrintTicket.Initializes a new instance of the PrintTicket class.

PrintTicket(Stream) PrintTicket(Stream) PrintTicket(Stream) PrintTicket(Stream)

Inicializa una nueva instancia de la clase PrintTicket mediante el uso de una secuencia XML (que contiene un documento PrintTicket) que cumple con el Esquema de impresión XML.Initializes a new instance of the PrintTicket class by using an XML stream (that contains a PrintTicket document) that complies with the XML Print Schema.

Propiedades

Collation Collation Collation Collation

Obtiene o establece un valor que indica si la impresora intercala el resultado.Gets or sets a value indicating whether the printer collates its output.

CopyCount CopyCount CopyCount CopyCount

Obtiene o establece el número de copias del trabajo de impresión.Gets or sets the number of copies for the print job.

DeviceFontSubstitution DeviceFontSubstitution DeviceFontSubstitution DeviceFontSubstitution

Obtiene o establece un valor que indica si la impresora sustituye las fuentes basadas en dispositivo por las fuentes basadas en el equipo en el trabajo de impresión.Gets or sets a value indicating whether the printer substitutes device-based fonts for computer-based fonts on the print job.

Duplexing Duplexing Duplexing Duplexing

Obtiene o establece un valor que indica qué tipo de impresión a dos caras, si hubiera, la impresora utiliza para el trabajo de impresión.Gets or sets a value indicating what kind of two-sided printing, if any, the printer uses for the print job.

InputBin InputBin InputBin InputBin

Obtiene o establece un valor que indica qué bandeja de entrada (bandeja del papel) se va a utilizar.Gets or sets a value indicating what input bin (paper tray) to use.

OutputColor OutputColor OutputColor OutputColor

Obtiene o establece un valor que indica cómo la impresora controla el contenido que tiene color o tonos de gris.Gets or sets a value indicating how the printer handles content that has color or shades of gray.

OutputQuality OutputQuality OutputQuality OutputQuality

Obtiene o establece un valor que indica la calidad del resultado del trabajo de impresión.Gets or sets a value indicating the quality of output for the print job.

PageBorderless PageBorderless PageBorderless PageBorderless

Obtiene o establece un valor que indica si el dispositivo imprime el contenido hasta el borde del papel o si deja un margen alrededor del borde.Gets or sets a value indicating whether the device prints content to the edge of the media or leaves an unprinted margin around the edge.

PageMediaSize PageMediaSize PageMediaSize PageMediaSize

Obtiene o establece el tamaño de página del papel (u otro medio) que utiliza una impresora para un trabajo de impresión.Gets or sets the page size for the paper (or other media) that a printer uses for a print job.

PageMediaType PageMediaType PageMediaType PageMediaType

Obtiene o establece un valor que indica qué tipo de papel o medio la impresora utilizará para el trabajo de impresión.Gets or sets a value indicating what sort of paper or media the printer uses for the print job.

PageOrder PageOrder PageOrder PageOrder

Obtiene o establece un valor que indica si la impresora imprime varias páginas en orden descendente o ascendente.Gets or sets a value indicating whether the printer prints multiple pages back-to-front or front-to-back.

PageOrientation PageOrientation PageOrientation PageOrientation

Obtiene o establece un valor que indica la orientación del contenido de la página en la impresión.Gets or sets a value indicating how the page content is oriented for printing.

PageResolution PageResolution PageResolution PageResolution

Obtiene o establece el nivel de resolución de página que la impresora utiliza para un trabajo de impresión.Gets or sets the level of page resolution that the printer uses for a print job.

PageScalingFactor PageScalingFactor PageScalingFactor PageScalingFactor

Obtiene o establece el porcentaje en el que la impresora amplía o reduce la imagen de impresión de una página.Gets or sets the percentage by which the printer enlarges or reduces the print image on a page.

PagesPerSheet PagesPerSheet PagesPerSheet PagesPerSheet

Obtiene o establece el número de páginas que se imprimen en cada cara de una hoja de papel.Gets or sets the number of pages that print on each printed side of a sheet of paper.

PagesPerSheetDirection PagesPerSheetDirection PagesPerSheetDirection PagesPerSheetDirection

Obtiene o establece un valor que indica cómo la impresora organiza varias páginas que se imprimen por ambas caras.Gets or sets a value indicating how a printer arranges multiple pages that print on each side of a sheet of paper.

PhotoPrintingIntent PhotoPrintingIntent PhotoPrintingIntent PhotoPrintingIntent

Obtiene o establece un valor que indica, en términos cualitativos, el nivel de calidad que la impresora utiliza para imprimir una foto.Gets or sets a value indicating in qualitative terms the level of quality the printer uses to print a photograph.

Stapling Stapling Stapling Stapling

Obtiene o establece un valor que indica si una impresora grapa varias páginas y dónde coloca las grapas.Gets or sets a value indicating whether, and where, a printer staples multiple pages.

TrueTypeFontMode TrueTypeFontMode TrueTypeFontMode TrueTypeFontMode

Obtiene o establece un valor que indica cómo la impresora administra el texto que utiliza fuentes TrueType.Gets or sets a value indicating how the printer handles text that uses TrueType fonts.

Métodos

Clone() Clone() Clone() Clone()

Crea un clon modificable de este PrintTicket y hace copias en profundidad de los valores de este objeto.Creates a modifiable clone of this PrintTicket, making deep copies of this object's values.

Equals(Object) Equals(Object) Equals(Object) Equals(Object)

Determina si el objeto especificado es igual al objeto actual.Determines whether the specified object is equal to the current object.

(Inherited from Object)
GetHashCode() GetHashCode() GetHashCode() GetHashCode()

Sirve como la función hash predeterminada.Serves as the default hash function.

(Inherited from Object)
GetType() GetType() GetType() GetType()

Obtiene el Type de la instancia actual.Gets the Type of the current instance.

(Inherited from Object)
GetXmlStream() GetXmlStream() GetXmlStream() GetXmlStream()

Devuelve un objeto MemoryStream que representa los valores de propiedad de PrintTicket como una secuencia XML que se ajusta al Esquema de impresión.Returns a MemoryStream object that represents the property values of a PrintTicket as an XML stream that conforms to the Print Schema.

MemberwiseClone() MemberwiseClone() MemberwiseClone() MemberwiseClone()

Crea una copia superficial del Object actual.Creates a shallow copy of the current Object.

(Inherited from Object)
SaveTo(Stream) SaveTo(Stream) SaveTo(Stream) SaveTo(Stream)

Guarda la configuración de PrintTicket en un objeto Stream utilizando un formato XML que se ajusta al Esquema de impresión.Saves the PrintTicket settings to a Stream object by using an XML format that conforms to the Print Schema.

ToString() ToString() ToString() ToString()

Devuelve una cadena que representa el objeto actual.Returns a string that represents the current object.

(Inherited from Object)

Eventos

PropertyChanged PropertyChanged PropertyChanged PropertyChanged

Se produce cuando cambia alguna propiedad de PrintTicket.Occurs when any property of the PrintTicket changes.

Se aplica a