Esta documentación está archivada y no tiene mantenimiento.

PrintTicket (Clase)

Actualización: noviembre 2007

Define la configuración de un trabajo de impresión.

Espacio de nombres:  System.Printing
Ensamblado:  ReachFramework (en ReachFramework.dll)
XMLNS para XAML: No asignado a un xmlns.

public sealed class PrintTicket : INotifyPropertyChanged
public final class PrintTicket implements INotifyPropertyChanged
public final class PrintTicket implements INotifyPropertyChanged

Un objeto PrintTicket es una representación sencilla de utilizar de un determinado tipo de documento XML denominado documento PrintTicket. Es un conjunto de instrucciones que indican a una impresora cómo establecer sus distintas características (como doble cara, intercalación y grapado). Por ejemplo, para indicar a la impresora que active la grapadora y grape los trabajos de impresión por la esquina superior izquierda, el documento tendrá un elemento <JobStapleAllDocuments … > que especifica StapleTopLeft. La propiedad Stapling del objeto PrintTicket representa el elemento, a su vez. El documento PrintTicket debe ajustarse al Print Schema.

La clase PrintTicket permite que la aplicación configure las características de la impresora sin necesidad de escribir directamente en los objetos Stream XML.

Las propiedades de la clase PrintTicket representan todas las características más conocidas de impresoras fotográficas y de archivo, tanto domésticas como profesionales. Pero Print Schema define otras muchas características menos comunes y se puede extender para controlar las características de dispositivos de impresión especializados. De modo que, aunque las clases PrintTicket y PrintCapabilities no pueden heredarse, puede extender Print Schema para que reconozca las características del dispositivo de impresión no incluidas en las clases PrintTicket o PrintCapabilities. Para obtener más información, vea Cómo: Ampliar el esquema de impresión y crear nuevas clases del sistema de impresión.

Nota   cuando se crea el objeto PrintTicket con el constructor que acepta como parámetro un documento PrintTicket (como un Stream), ese documento completo se almacena en un campo no público del objeto, incluidos los elementos XML que contiene que expresan características menos comunes que no se representan mediante ninguna de las propiedades públicas de la clase PrintTicket. De hecho, si el controlador que generó el documento PrintTicket utiliza una extensión privada del Print Schema, ese marcado definido de forma privada también se almacena como parte del documento PrintTicket no público.

En el ejemplo siguiente se muestra cómo determinar las capacidades de una impresora específica y cómo configurar un trabajo de impresión para utilizarlas. Para obtener el ejemplo completo, vea Ejemplo Creating an XPS Document.

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


System.Object
  System.Printing.PrintTicket

Todos los miembros static (Shared en Visual Basic) públicos de este tipo son seguros para la ejecución de subprocesos. No se garantiza que los miembros de instancias sean seguros para la ejecución de subprocesos.

Windows Vista

.NET Framework y .NET Compact Framework no admiten todas las versiones de cada plataforma. Para obtener una lista de las versiones compatibles, vea Requisitos de sistema de .NET Framework.

.NET Framework

Compatible con: 3.5, 3.0
Mostrar: