PrintTicket Classe
Definição
Importante
Algumas informações dizem respeito a um produto pré-lançado que pode ser substancialmente modificado antes de ser lançado. A Microsoft não faz garantias, de forma expressa ou implícita, em relação à informação aqui apresentada.
Define as definições de um trabalho de impressão.
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
- Herança
-
PrintTicket
- Implementações
Exemplos
O exemplo seguinte mostra como determinar as capacidades de uma impressora específica e como configurar um trabalho de impressão para tirar partido delas.
// ---------------------- 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()
Observações
Um PrintTicket objeto é uma representação fácil de trabalhar de um determinado tipo de documento XML chamado documento PrintTicket. Este último é um conjunto de instruções que indicam à impressora como definir as suas várias funcionalidades (como duplexar, colar e agrafar). Por exemplo, para instruir a impressora a ligar os trabalhos de impressão do grampeador e do grampo no canto superior esquerdo, o documento teria um <JobStapleAllDocuments … > elemento que especifica o StapleTopLeft. O elemento é, por sua vez, representado pela Stapling propriedade do PrintTicket objeto. O documento PrintTicket deve estar em conformidade com o Esquema de Impressão.
A PrintTicket classe permite que a sua aplicação configure as funcionalidades da impressora sem ter de recorrer diretamente à escrita de objetos XML Stream .
Todas as funcionalidades mais populares das impressoras de ficheiros e fotografias domésticas e empresariais são representadas pelas propriedades da PrintTicket classe. Mas o Esquema de Impressão define muitas mais, menos comuns, funcionalidades e pode ser estendido para lidar com características de dispositivos de impressão especializados. Assim, embora as PrintTicket classes and PrintCapabilities não possam ser herdadas, podes estender o Esquema de Impressão para reconhecer características do dispositivo de impressão que não estão contabilizadas nas PrintTicket classes ou.PrintCapabilities Para mais informações, veja Como: Estender o Esquema de Impressão e Criar Novas Classes do Sistema de Impressão.
Nota Quando o PrintTicket objeto é criado com o construtor que recebe um documento PrintTicket (como parâmetro Stream), todo esse documento é armazenado num campo não público do objeto, incluindo os elementos XML que expressam características menos comuns e que não são representadas por nenhuma das propriedades públicas da PrintTicket classe. De facto, se o driver que produziu o documento PrintTicket estiver a usar uma extensão privada do Print Schema, essa marcação definida privadamente também é armazenada como parte do documento não público do PrintTicket.
Atenção
As classes dentro do espaço de nomes System.Printing não são suportadas para uso dentro de um serviço Windows ou ASP.NET aplicação ou serviço. Tentar usar estas classes dentro de um destes tipos de aplicação pode produzir problemas inesperados, como desempenho de serviço diminuído e exceções em tempo de execução.
Se quiseres imprimir a partir de uma aplicação Windows Forms, vê o espaço de nomes System.Drawing.Printing.
Construtores
| Name | Description |
|---|---|
| PrintTicket() |
Inicializa uma nova instância da PrintTicket classe. |
| PrintTicket(Stream) |
Inicializa uma nova instância da PrintTicket classe usando um fluxo XML (que contém um documento PrintTicket) que cumpre o XML Print Schema. |
Propriedades
| Name | Description |
|---|---|
| Collation |
Recebe ou define um valor que indica se a impressora compila a sua saída. |
| CopyCount |
Obtém ou define o número de cópias para o trabalho de impressão. |
| DeviceFontSubstitution |
Recebe ou define um valor que indica se a impressora substitui fontes baseadas em dispositivos por fontes baseadas em computador no trabalho de impressão. |
| Duplexing |
Recebe ou define um valor que indica que tipo de impressão em dois lados, se alguma, a impressora usa para o trabalho de impressão. |
| InputBin |
Recebe ou define um valor que indica que caixa de entrada (bandeja de papel) usar. |
| OutputColor |
Recebe ou define um valor que indica como a impressora lida com conteúdos com cor ou tons de cinzento. |
| OutputQuality |
Recebe ou define um valor que indica a qualidade do resultado do trabalho de impressão. |
| PageBorderless |
Recebe ou define um valor que indica se o dispositivo imprime conteúdo na borda do suporte ou se deixa uma margem não impressa à volta da borda. |
| PageMediaSize |
Obtém ou define o tamanho da página do papel (ou outro suporte) que a impressora usa para um trabalho de impressão. |
| PageMediaType |
Recebe ou define um valor que indica que tipo de papel ou suporte a impressora usa para o trabalho de impressão. |
| PageOrder |
Recebe ou define um valor que indica se a impressora imprime várias páginas de trás para frente ou de frente para trás. |
| PageOrientation |
Recebe ou define um valor que indica como o conteúdo da página está orientado para impressão. |
| PageResolution |
Obtém ou define o nível de resolução da página que a impressora usa para um trabalho de impressão. |
| PageScalingFactor |
Obtém ou define a percentagem pela qual a impressora amplia ou reduz a imagem de impressão numa página. |
| PagesPerSheet |
Obtém ou define o número de páginas que imprimem em cada lado impresso de uma folha de papel. |
| PagesPerSheetDirection |
Recebe ou define um valor que indica como uma impressora organiza várias páginas que imprimem de cada lado de uma folha de papel. |
| PhotoPrintingIntent |
Obtém ou define um valor que indica, em termos qualitativos, o nível de qualidade que a impressora utiliza para imprimir uma fotografia. |
| Stapling |
Recebe ou define um valor que indica se, e onde, uma impressora grampeia várias páginas. |
| TrueTypeFontMode |
Recebe ou define um valor que indica como a impressora lida com o texto que utiliza fontes TrueType. |
Métodos
| Name | Description |
|---|---|
| Clone() |
Cria um clone modificável deste PrintTicket, fazendo cópias profundas dos valores deste objeto. |
| Equals(Object) |
Determina se o objeto especificado é igual ao objeto atual. (Herdado de Object) |
| GetHashCode() |
Serve como função de hash predefinida. (Herdado de Object) |
| GetType() |
Obtém o Type da instância atual. (Herdado de Object) |
| GetXmlStream() |
Devolve um MemoryStream objeto que representa os valores das propriedades de a PrintTicket como um fluxo XML que cumpre o Esquema de Impressão. |
| MemberwiseClone() |
Cria uma cópia superficial do atual Object. (Herdado de Object) |
| SaveTo(Stream) |
Guarda as PrintTicket definições num Stream objeto usando um formato XML que cumpre o Esquema de Impressão. |
| ToString() |
Devolve uma cadeia que representa o objeto atual. (Herdado de Object) |
evento
| Name | Description |
|---|---|
| PropertyChanged |
Ocorre quando qualquer propriedade do PrintTicket caso muda. |