PrintTicket Clase
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
Define la configuración de un trabajo de impresión.
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
-
PrintTicket
- Implementaciones
Ejemplos
En el ejemplo siguiente se muestra cómo determinar las funcionalidades de una impresora específica y cómo configurar un trabajo de impresión para aprovecharlas.
// ---------------------- 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^ printCapabilities = printQueue->GetPrintCapabilities();
// Modify PrintTicket
if (printCapabilities->CollationCapability->Contains(Collation::Collated))
{
printTicket->Collation = Collation::Collated;
}
if (printCapabilities->DuplexingCapability->Contains(Duplexing::TwoSidedLongEdge))
{
printTicket->Duplexing = Duplexing::TwoSidedLongEdge;
}
if (printCapabilities->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 printCapabilities = printQueue.GetPrintCapabilities();
// Modify PrintTicket
if (printCapabilities.CollationCapability.Contains(Collation.Collated))
{
printTicket.Collation = Collation.Collated;
}
if ( printCapabilities.DuplexingCapability.Contains(
Duplexing.TwoSidedLongEdge) )
{
printTicket.Duplexing = Duplexing.TwoSidedLongEdge;
}
if (printCapabilities.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 printCapabilities As PrintCapabilities = printQueue.GetPrintCapabilities()
' Modify PrintTicket
If printCapabilities.CollationCapability.Contains(Collation.Collated) Then
printTicket.Collation = Collation.Collated
End If
If printCapabilities.DuplexingCapability.Contains(Duplexing.TwoSidedLongEdge) Then
printTicket.Duplexing = Duplexing.TwoSidedLongEdge
End If
If printCapabilities.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 fácil de trabajar con un determinado tipo de documento XML denominado documento PrintTicket. Este último es un conjunto de instrucciones que indican a una impresora cómo establecer sus diversas características (como dúplex, intercalación y asociación). Por ejemplo, para indicar a la impresora que active sus trabajos de impresión de grapas y grapas en la esquina superior izquierda, el documento tendría un <JobStapleAllDocuments … >
elemento que especifica StapleTopLeft. A su vez, el elemento se representa mediante la Stapling propiedad del PrintTicket objeto . El documento PrintTicket debe cumplir el esquema de impresión.
La PrintTicket clase permite a la aplicación configurar las características de la impresora sin tener que participar en ninguna escritura directa de objetos XML Stream .
Todas las características más populares de las impresoras de archivos y fotos residenciales y empresariales están representadas por propiedades de PrintTicket la clase . Pero el esquema de impresión define muchas más, menos comunes, características y se puede ampliar para controlar las características de los dispositivos de impresión especiales. Por lo tanto, aunque no se pueden heredar las PrintTicket clases y PrintCapabilities , puede extender el esquema de impresión para reconocer las características del dispositivo de impresión que no se tienen en cuenta en las PrintTicket clases o .PrintCapabilities Para obtener más información, vea How to: Extend the Print Schema and Create New Print System Classes.
Nota Cuando el PrintTicket objeto se crea con el constructor que toma un documento PrintTicket (como 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 expresan características menos comunes que no están representadas por ninguna de las propiedades públicas de la PrintTicket clase. De hecho, si el controlador que generó el documento PrintTicket usa una extensión privada del esquema de impresión, ese marcado definido de forma privada también se almacena como parte del documento PrintTicket no público.
Precaución
Las clases dentro del System.Printing espacio de nombres no se admiten para su uso en un servicio de Windows ni en una aplicación o servicio de ASP.NET. Intentar usar estas clases desde uno de estos tipos de aplicación puede producir problemas inesperados, como una disminución del rendimiento del servicio y excepciones en tiempo de ejecución.
Si desea imprimir desde una aplicación de Windows Forms, consulte el System.Drawing.Printing espacio de nombres .
Constructores
PrintTicket() |
Inicializa una nueva instancia de la clase PrintTicket. |
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. |
Propiedades
Collation |
Obtiene o establece un valor que indica si la impresora intercala el resultado. |
CopyCount |
Obtiene o establece el número de copias del trabajo de impresión. |
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. |
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. |
InputBin |
Obtiene o establece un valor que indica qué bandeja de entrada (bandeja del papel) se va a utilizar. |
OutputColor |
Obtiene o establece un valor que indica cómo la impresora controla el contenido que tiene color o tonos de gris. |
OutputQuality |
Obtiene o establece un valor que indica la calidad del resultado del trabajo de impresión. |
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. |
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. |
PageMediaType |
Obtiene o establece un valor que indica qué tipo de papel o medio la impresora utilizará para el trabajo de impresión. |
PageOrder |
Obtiene o establece un valor que indica si la impresora imprime varias páginas en orden descendente o ascendente. |
PageOrientation |
Obtiene o establece un valor que indica la orientación del contenido de la página en la impresión. |
PageResolution |
Obtiene o establece el nivel de resolución de página que la impresora utiliza para un trabajo de impresión. |
PageScalingFactor |
Obtiene o establece el porcentaje en el que la impresora amplía o reduce la imagen de impresión de una página. |
PagesPerSheet |
Obtiene o establece el número de páginas que se imprimen en cada cara de una hoja de papel. |
PagesPerSheetDirection |
Obtiene o establece un valor que indica cómo la impresora organiza varias páginas que se imprimen por ambas caras. |
PhotoPrintingIntent |
Obtiene o establece un valor que indica, en términos cualitativos, el nivel de calidad que la impresora utiliza para imprimir una foto. |
Stapling |
Obtiene o establece un valor que indica si una impresora grapa varias páginas y dónde coloca las grapas. |
TrueTypeFontMode |
Obtiene o establece un valor que indica cómo la impresora administra el texto que utiliza fuentes TrueType. |
Métodos
Clone() |
Crea un clon modificable de este PrintTicket y hace copias en profundidad de los valores de este objeto. |
Equals(Object) |
Determina si el objeto especificado es igual que el objeto actual. (Heredado de Object) |
GetHashCode() |
Sirve como la función hash predeterminada. (Heredado de Object) |
GetType() |
Obtiene el Type de la instancia actual. (Heredado de Object) |
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. |
MemberwiseClone() |
Crea una copia superficial del Object actual. (Heredado de Object) |
SaveTo(Stream) |
Guarda la configuración de PrintTicket en un objeto Stream utilizando un formato XML que se ajusta al Esquema de impresión. |
ToString() |
Devuelve una cadena que representa el objeto actual. (Heredado de Object) |
Eventos
PropertyChanged |
Se produce cuando cambia alguna propiedad de PrintTicket. |