PrintTicket Classe
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Definisce le impostazioni di un processo di stampa.
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
- Ereditarietà
-
PrintTicket
- Implementazioni
Esempio
Nell'esempio seguente viene illustrato come determinare le funzionalità di una stampante specifica e come configurare un processo di stampa per sfruttarli.
// ---------------------- 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()
Commenti
Un PrintTicket oggetto è una rappresentazione facile da usare con una rappresentazione di un determinato tipo di documento XML denominato documento PrintTicket. Quest'ultimo è un set di istruzioni che raccontano a una stampante come impostare le varie funzionalità (ad esempio il duplex, la confronto e l'spling). Ad esempio, per indicare alla stampante di attivare i processi di stampa di base e di base nell'angolo superiore sinistro, il documento avrà un <JobStapleAllDocuments … >
elemento che specifica StapleTopLeft. L'elemento è, a sua volta, rappresentato dalla Stapling proprietà dell'oggetto PrintTicket . Il documento PrintTicket deve essere conforme allo schema di stampa.
La PrintTicket classe consente all'applicazione di configurare le funzionalità della stampante senza dover eseguire alcuna scrittura diretta di oggetti XML Stream .
Tutte le funzionalità più popolari delle stampanti di file home e business sono rappresentate dalle proprietà della PrintTicket classe. Ma lo schema di stampa definisce molti più, meno comuni, funzionalità e può essere estesa per gestire le funzionalità dei dispositivi di stampa speciali. Tuttavia, anche se le PrintTicket classi e PrintCapabilities non possono essere ereditate, è possibile estendere lo schema di stampa per riconoscere le funzionalità del dispositivo di stampa non accountate nelle PrintTicket classi o PrintCapabilities . Per altre informazioni, vedere Procedura: estendere lo schema di stampa e creare nuove classi di sistema di stampa.
Nota Quando l'oggetto viene creato con il PrintTicket costruttore che accetta un documento PrintTicket (come Streamparametro ), l'intero documento viene archiviato in un campo non pubblico nell'oggetto, inclusi gli elementi XML all'interno che esprimono funzionalità meno comuni che non sono rappresentate da alcuna proprietà pubblica della PrintTicket classe. In effetti, se il driver che ha prodotto il documento PrintTicket usa un'estensione privata dello schema di stampa, tale markup definito privatamente viene archiviato anche come parte del documento PrintTicket non pubblico.
Attenzione
Le classi all'interno dello System.Printing spazio dei nomi non sono supportate per l'uso all'interno di un servizio Windows o di ASP.NET applicazione o servizio. Il tentativo di usare queste classi all'interno di uno di questi tipi di applicazioni può generare problemi imprevisti, ad esempio le prestazioni del servizio ridotte e le eccezioni di runtime.
Se si desidera stampare da un'applicazione Windows Form, vedere lo spazio dei nomi System.Drawing.Printing.
Costruttori
PrintTicket() |
Inizializza una nuova istanza della classe PrintTicket. |
PrintTicket(Stream) |
Inizializza una nuova istanza della classe PrintTicket tramite un flusso XML (che contiene un documento PrintTicket) conforme allo schema di stampa XML. |
Proprietà
Collation |
Ottiene o imposta un valore che indica se la stampante esegue la fascicolatura dell'output. |
CopyCount |
Ottiene o imposta il numero di copie per il processo di stampa. |
DeviceFontSubstitution |
Ottiene o imposta un valore che indica se la stampante sostituisce i tipi di carattere basati su computer con i tipi di carattere basati su dispositivo nel processo di stampa. |
Duplexing |
Ottiene o imposta un valore che indica il tipo di stampa fronte retro eventualmente utilizzato per il processo di stampa. |
InputBin |
Ottiene o imposta un valore che indica il cassetto di alimentazione (della carta) da utilizzare. |
OutputColor |
Ottiene o imposta un valore che indica la modalità di gestione di contenuti a colori o gradazioni di grigio. |
OutputQuality |
Ottiene o imposta un valore che indica la qualità di output per il processo di stampa. |
PageBorderless |
Ottiene o imposta un valore che indica se i contenuti vengono stampati sui bordi dei supporti oppure viene lasciato un margine non stampato attorno ai bordi. |
PageMediaSize |
Ottiene o imposta la dimensione della pagina per la carta (o altro supporto) utilizzata per un processo di stampa. |
PageMediaType |
Ottiene o imposta un valore che indica il tipo di carta o supporto utilizzato per il processo di stampa. |
PageOrder |
Ottiene o imposta un valore che indica se la stampa di più pagine viene eseguita dall'ultima alla prima o dalla prima all'ultima pagina. |
PageOrientation |
Ottiene o imposta un valore che indica l'orientamento del contenuto della pagina per la stampa. |
PageResolution |
Ottiene o imposta il livello di risoluzione della pagina utilizzato per un processo di stampa. |
PageScalingFactor |
Ottiene o imposta la percentuale di ingrandimento o riduzione dell'immagine stampata su una pagina. |
PagesPerSheet |
Ottiene o imposta il numero di pagine stampate su ciascun lato di un foglio di carta. |
PagesPerSheetDirection |
Ottiene o imposta un valore che indica la disposizione di più pagine stampate su ciascun lato di un foglio di carta. |
PhotoPrintingIntent |
Ottiene o imposta un valore che indica in termini qualitativi il livello di qualità utilizzato nella stampa di fotografie. |
Stapling |
Ottiene o imposta un valore che indica se la stampante esegue la graffatura di più pagine e in quale punto viene applicata la graffatura. |
TrueTypeFontMode |
Ottiene o imposta un valore che indica la modalità di gestione di un testo che utilizza caratteri TrueType. |
Metodi
Clone() |
Crea un clone modificabile di questo oggetto PrintTicket, eseguendo copie complete dei valori dell'oggetto. |
Equals(Object) |
Determina se l'oggetto specificato è uguale all'oggetto corrente. (Ereditato da Object) |
GetHashCode() |
Funge da funzione hash predefinita. (Ereditato da Object) |
GetType() |
Ottiene l'oggetto Type dell'istanza corrente. (Ereditato da Object) |
GetXmlStream() |
Restituisce un oggetto MemoryStream che rappresenta i valori di proprietà di un oggetto PrintTicket come un flusso XML conforme allo schema di stampa. |
MemberwiseClone() |
Crea una copia superficiale dell'oggetto Object corrente. (Ereditato da Object) |
SaveTo(Stream) |
Salva le impostazioni di PrintTicket in un oggetto Stream tramite un formato XML conforme allo schema di stampa. |
ToString() |
Restituisce una stringa che rappresenta l'oggetto corrente. (Ereditato da Object) |
Eventi
PropertyChanged |
Si verifica quando viene modificata una qualsiasi proprietà dell'oggetto PrintTicket. |