PrintTicket Classe
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Define as configuraçõ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 a seguir mostra como determinar os recursos de uma impressora específica e como configurar um trabalho de impressão para tirar proveito deles.
// ---------------------- 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()
Comentários
Um PrintTicket objeto é uma representação fácil de trabalhar com um determinado tipo de documento XML chamado de documento PrintTicket. Este último é um conjunto de instruções que informa a uma impressora como definir seus vários recursos (como duplexing, agrupamento e stapling). Por exemplo, para instruir a impressora a ativar seu grampeador e grampear trabalhos de impressão no canto superior esquerdo, o documento teria um <JobStapleAllDocuments … >
elemento que especifica 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 seu aplicativo configure os recursos da impressora sem precisar se envolver em nenhuma gravação direta de objetos XML Stream .
Todos os recursos mais populares de impressoras de arquivos domésticos e comerciais e fotos são representados por propriedades da PrintTicket classe . Mas o Esquema de Impressão define muitos recursos mais, menos comuns e pode ser estendido para lidar com recursos de dispositivos de impressão especializados. Portanto, embora as PrintTicket classes e PrintCapabilities não possam ser herdadas, você pode estender o Esquema de Impressão para reconhecer recursos de dispositivo de impressão que não são contabilizados nas PrintTicket classes ou PrintCapabilities . Para obter mais informações, consulte 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 usa um documento PrintTicket (como um Streamparâmetro ), esse documento inteiro é armazenado em um campo não público no objeto , incluindo os elementos XML dentro dele que expressam recursos menos comuns que não são representados por nenhuma das propriedades públicas da PrintTicket classe. Na verdade, se o driver que produziu o documento PrintTicket estiver usando uma extensão privada do Esquema de Impressão, essa marcação definida privada também será armazenada como parte do documento PrintTicket não público.
Cuidado
Não há suporte para classes no System.Printing namespace para uso em um serviço Windows ou ASP.NET aplicativo ou serviço. Tentar usar essas classes de dentro de um desses tipos de aplicativo pode produzir problemas inesperados, como redução do desempenho do serviço e exceções em tempo de execução.
Se você quiser imprimir de um aplicativo do Windows Forms, consulte o System.Drawing.Printing namespace .
Construtores
PrintTicket() |
Inicializa uma nova instância da classe PrintTicket. |
PrintTicket(Stream) |
Inicializa uma nova instância da classe PrintTicket usando um fluxo XML (que contém um documento PrintTicket) em conformidade com o Esquema de Impressão XML. |
Propriedades
Collation |
Obtém ou define um valor que indica se a impressora agrupa sua saída. |
CopyCount |
Obtém ou define o número de cópias do trabalho de impressão. |
DeviceFontSubstitution |
Obtém ou define um valor que indica se a impressora substitui fontes baseadas em dispositivo fontes para fontes baseadas em computador no trabalho de impressão. |
Duplexing |
Obtém ou define um valor que indica o tipo da impressão em frente e verse, se houver, que a impressora usa para o trabalho de impressão. |
InputBin |
Obtém ou define um valor que indica qual compartimento de entrada (bandeja de papel) deve ser usado. |
OutputColor |
Obtém ou define um valor que indica como a impressora trata conteúdos com cor ou tons de cinza. |
OutputQuality |
Obtém ou define um valor que indica a qualidade de saída para o trabalho de impressão. |
PageBorderless |
Obtém ou define um valor que indica se o dispositivo imprime o conteúdo até a borda da mídia ou deixa uma margem não impressa em torno da borda. |
PageMediaSize |
Obtém ou define o tamanho da página para o papel (ou outra mídia) que uma impressora uma para um trabalho de impressão. |
PageMediaType |
Obtém ou define um valor que indica que tipo de papel ou mídia a impressora usa para o trabalho de impressão. |
PageOrder |
Obtém ou define um valor que indica se a impressora imprime várias páginas de trás para frente ou da frente para trás. |
PageOrientation |
Obtém ou define um valor que indica como o conteúdo da página é orientado para impressão. |
PageResolution |
Obtém ou define o nível de resolução de página que a impressora usa para um trabalho de impressão. |
PageScalingFactor |
Obtém ou define o percentual pelo qual a impressora amplia ou reduz a imagem impressa em uma página. |
PagesPerSheet |
Obtém ou define o número de páginas que são impressas em cada lado impresso de uma folha de papel. |
PagesPerSheetDirection |
Obtém ou define um valor que indica como uma impressora organiza várias páginas que são impressão em cada lado de uma folha de papel. |
PhotoPrintingIntent |
Obtém ou define um valor que indica em termos qualitativos e o nível de qualidade que a impressora usa para imprimir uma fotografia. |
Stapling |
Obtém ou define um valor que indica se e quando uma impressora grampeia várias páginas. |
TrueTypeFontMode |
Obtém ou define um valor que indica como a impressora lida com o texto que usa fontes TrueType. |
Métodos
Clone() |
Cria um clone modificável desse PrintTicket, fazendo cópias em profundidade dos valores do objeto. |
Equals(Object) |
Determina se o objeto especificado é igual ao objeto atual. (Herdado de Object) |
GetHashCode() |
Serve como a função de hash padrão. (Herdado de Object) |
GetType() |
Obtém o Type da instância atual. (Herdado de Object) |
GetXmlStream() |
Retorna um objeto MemoryStream que representa os valores de propriedade de um PrintTicket como um fluxo XML em conformidade com o Esquema de Impressão. |
MemberwiseClone() |
Cria uma cópia superficial do Object atual. (Herdado de Object) |
SaveTo(Stream) |
Salva as configurações de PrintTicket para um objeto Stream usando um formato XML em conformidade com o Esquema de Impressão. |
ToString() |
Retorna uma cadeia de caracteres que representa o objeto atual. (Herdado de Object) |
Eventos
PropertyChanged |
Ocorre quando qualquer propriedade do PrintTicket muda. |