PrintTicket PrintTicket PrintTicket PrintTicket Class

Definizione

Definisce le impostazioni di un processo di stampa.Defines the settings of a print job.

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à
PrintTicketPrintTicketPrintTicketPrintTicket
Implementazioni

Esempi

Nell'esempio seguente viene illustrato come determinare le funzionalità di una stampante specifica e come configurare un processo di stampa per sfruttare i vantaggi di essi.The following example shows how to determine the capabilities of a specific printer and how to configure a print job to take advantage of them.

// ---------------------- 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^ 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()
// ---------------------- 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()
' ---------------------- 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 printCapabilites As PrintCapabilities = printQueue.GetPrintCapabilities()

    ' Modify PrintTicket
    If printCapabilites.CollationCapability.Contains(Collation.Collated) Then
        printTicket.Collation = Collation.Collated
    End If

    If printCapabilites.DuplexingCapability.Contains(Duplexing.TwoSidedLongEdge) Then
        printTicket.Duplexing = Duplexing.TwoSidedLongEdge
    End If

    If printCapabilites.StaplingCapability.Contains(Stapling.StapleDualLeft) Then
        printTicket.Stapling = Stapling.StapleDualLeft
    End If

    Return printTicket
End Function ' end:GetPrintTicketFromPrinter()

Commenti

Oggetto PrintTicket oggetto è una rappresentazione semplice al lavoro di un determinato tipo di documento XML, denominato un documento PrintTicket.A PrintTicket object is an easy-to-work-with representation of a certain type of XML document called a PrintTicket document. Quest'ultimo è un set di istruzioni che indicano una stampante come impostare le varie funzionalità (ad esempio la stampa fronte retro, graffatura e di ordinamento).The latter is a set of instructions telling a printer how to set its various features (such as duplexing, collating, and stapling). Ad esempio, per indicare la stampante per attivare la relativa associazione e la graffatura di processi di stampa nell'angolo superiore sinistro, il documento deve contenere una <JobStapleAllDocuments … > elemento che specifica StapleTopLeft.For example, to instruct the printer to turn on its stapler and staple print jobs in the upper left corner, the document would have a <JobStapleAllDocuments … > element that specifies StapleTopLeft. L'elemento è, a sua volta, rappresentato dal Stapling proprietà del PrintTicket oggetto.The element is, in turn, represented by the Stapling property of the PrintTicket object. Il documento PrintTicket deve essere conforme per il Print Schema.The PrintTicket document must conform to the Print Schema.

Il PrintTicket classe consente all'applicazione configurare le funzionalità della stampante senza la necessità di effettuare qualsiasi scrittura diretta del codice XML Stream oggetti.The PrintTicket class enables your application to configure the printer's features without having to engage in any direct writing of XML Stream objects.

Tutte le funzionalità più diffuse di stampanti e fotografiche private o aziendale sono rappresentate dalle proprietà del PrintTicket la classe.All of the most popular features of home and business file and photo printers are represented by properties of PrintTicket the class. Ma il Print Schema definisce molti altri, meno comuni, funzionalità e può essere esteso per gestire le funzionalità dei dispositivi di stampa speciali.But the Print Schema defines many more, less common, features and it can be extended to handle features of specialty printing devices. Pertanto, anche se il PrintTicket e PrintCapabilities classi non possono essere ereditate, è possibile estendere il printschema riconoscere le funzionalità di dispositivo di stampa che non vengono considerate nel PrintTicket o PrintCapabilities classi.So, although the PrintTicket and PrintCapabilities classes cannot be inherited, you can extend the Print Schema to recognize print device features that are not accounted for in the PrintTicket or PrintCapabilities classes. Per altre informazioni, vedere Procedura: Estendere lo Schema di stampa e creare nuove classi di sistema di stampa.For more information see How to: Extend the Print Schema and Create New Print System Classes.

Nota quando il PrintTicket oggetto viene creato con il costruttore che accetta un documento PrintTicket (come un Stream) parametro, l'intero documento viene archiviato in un campo non pubblici nell'oggetto, inclusi gli elementi XML in esso contenuti che Express meno funzionalità comuni che non sono rappresentate da una delle proprietà pubbliche del PrintTicket classe.Note When the PrintTicket object is created with the constructor that takes a PrintTicket document (as a Stream) parameter, that entire document is stored in a non-public field in the object, including the XML elements within it that express less common features that are not represented by any of the public properties of the PrintTicket class. In effetti, se il driver che ha prodotto il documento PrintTicket utilizza un'estensione privata del Print Schema, ovvero privatamente definito markup viene anche archiviato come parte del documento PrintTicket non pubblici.In fact, if the driver that produced the PrintTicket document is using a private extension of the Print Schema, that privately defined markup is also stored as part of the non-public PrintTicket document.

Attenzione

Le classi all'interno di System.Printing dello spazio dei nomi non sono supportati per l'uso all'interno di un servizio o applicazione ASP.NET o servizio di Windows.Classes within the System.Printing namespace are not supported for use within a Windows service or ASP.NET application or service. Tentativo di utilizzare queste classi all'interno di uno di questi tipi di applicazione può generare problemi imprevisti, quali un degrado delle eccezioni di runtime e le prestazioni del servizio.Attempting to use these classes from within one of these application types may produce unexpected problems, such as diminished service performance and run-time exceptions.

Se si desidera stampare da un'applicazione Windows Form, vedere lo spazio dei nomi System.Drawing.Printing.If you want to print from a Windows Forms application, see the System.Drawing.Printing namespace.

Costruttori

PrintTicket() PrintTicket() PrintTicket() PrintTicket()

Inizializza una nuova istanza della classe PrintTicket.Initializes a new instance of the PrintTicket class.

PrintTicket(Stream) PrintTicket(Stream) PrintTicket(Stream) PrintTicket(Stream)

Inizializza una nuova istanza della classe PrintTicket tramite un flusso XML (che contiene un documento PrintTicket) conforme allo schema di stampa XML.Initializes a new instance of the PrintTicket class by using an XML stream (that contains a PrintTicket document) that complies with the XML Print Schema.

Proprietà

Collation Collation Collation Collation

Ottiene o imposta un valore che indica se la stampante esegue la fascicolatura dell'output.Gets or sets a value indicating whether the printer collates its output.

CopyCount CopyCount CopyCount CopyCount

Ottiene o imposta il numero di copie per il processo di stampa.Gets or sets the number of copies for the print job.

DeviceFontSubstitution DeviceFontSubstitution DeviceFontSubstitution 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.Gets or sets a value indicating whether the printer substitutes device-based fonts for computer-based fonts on the print job.

Duplexing Duplexing Duplexing Duplexing

Ottiene o imposta un valore che indica il tipo di stampa fronte retro eventualmente utilizzato per il processo di stampa.Gets or sets a value indicating what kind of two-sided printing, if any, the printer uses for the print job.

InputBin InputBin InputBin InputBin

Ottiene o imposta un valore che indica il cassetto di alimentazione (della carta) da utilizzare.Gets or sets a value indicating what input bin (paper tray) to use.

OutputColor OutputColor OutputColor OutputColor

Ottiene o imposta un valore che indica la modalità di gestione di contenuti a colori o gradazioni di grigio.Gets or sets a value indicating how the printer handles content that has color or shades of gray.

OutputQuality OutputQuality OutputQuality OutputQuality

Ottiene o imposta un valore che indica la qualità di output per il processo di stampa.Gets or sets a value indicating the quality of output for the print job.

PageBorderless PageBorderless PageBorderless 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.Gets or sets a value indicating whether the device prints content to the edge of the media or leaves an unprinted margin around the edge.

PageMediaSize PageMediaSize PageMediaSize PageMediaSize

Ottiene o imposta la dimensione della pagina per la carta (o altro supporto) utilizzata per un processo di stampa.Gets or sets the page size for the paper (or other media) that a printer uses for a print job.

PageMediaType PageMediaType PageMediaType PageMediaType

Ottiene o imposta un valore che indica il tipo di carta o supporto utilizzato per il processo di stampa.Gets or sets a value indicating what sort of paper or media the printer uses for the print job.

PageOrder PageOrder PageOrder 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.Gets or sets a value indicating whether the printer prints multiple pages back-to-front or front-to-back.

PageOrientation PageOrientation PageOrientation PageOrientation

Ottiene o imposta un valore che indica l'orientamento del contenuto della pagina per la stampa.Gets or sets a value indicating how the page content is oriented for printing.

PageResolution PageResolution PageResolution PageResolution

Ottiene o imposta il livello di risoluzione della pagina utilizzato per un processo di stampa.Gets or sets the level of page resolution that the printer uses for a print job.

PageScalingFactor PageScalingFactor PageScalingFactor PageScalingFactor

Ottiene o imposta la percentuale di ingrandimento o riduzione dell'immagine stampata su una pagina.Gets or sets the percentage by which the printer enlarges or reduces the print image on a page.

PagesPerSheet PagesPerSheet PagesPerSheet PagesPerSheet

Ottiene o imposta il numero di pagine stampate su ciascun lato di un foglio di carta.Gets or sets the number of pages that print on each printed side of a sheet of paper.

PagesPerSheetDirection PagesPerSheetDirection PagesPerSheetDirection PagesPerSheetDirection

Ottiene o imposta un valore che indica la disposizione di più pagine stampate su ciascun lato di un foglio di carta.Gets or sets a value indicating how a printer arranges multiple pages that print on each side of a sheet of paper.

PhotoPrintingIntent PhotoPrintingIntent PhotoPrintingIntent PhotoPrintingIntent

Ottiene o imposta un valore che indica in termini qualitativi il livello di qualità utilizzato nella stampa di fotografie.Gets or sets a value indicating in qualitative terms the level of quality the printer uses to print a photograph.

Stapling Stapling Stapling 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.Gets or sets a value indicating whether, and where, a printer staples multiple pages.

TrueTypeFontMode TrueTypeFontMode TrueTypeFontMode TrueTypeFontMode

Ottiene o imposta un valore che indica la modalità di gestione di un testo che utilizza caratteri TrueType.Gets or sets a value indicating how the printer handles text that uses TrueType fonts.

Metodi

Clone() Clone() Clone() Clone()

Crea un clone modificabile di questo oggetto PrintTicket, eseguendo copie complete dei valori dell'oggetto.Creates a modifiable clone of this PrintTicket, making deep copies of this object's values.

Equals(Object) Equals(Object) Equals(Object) Equals(Object)

Determina se l'oggetto specificato è uguale all'oggetto corrente.Determines whether the specified object is equal to the current object.

(Inherited from Object)
GetHashCode() GetHashCode() GetHashCode() GetHashCode()

Funge da funzione hash predefinita.Serves as the default hash function.

(Inherited from Object)
GetType() GetType() GetType() GetType()

Ottiene l'oggetto Type dell'istanza corrente.Gets the Type of the current instance.

(Inherited from Object)
GetXmlStream() GetXmlStream() GetXmlStream() GetXmlStream()

Restituisce un oggetto MemoryStream che rappresenta i valori di proprietà di un oggetto PrintTicket come un flusso XML conforme allo schema di stampa.Returns a MemoryStream object that represents the property values of a PrintTicket as an XML stream that conforms to the Print Schema.

MemberwiseClone() MemberwiseClone() MemberwiseClone() MemberwiseClone()

Crea una copia superficiale dell'oggetto Object corrente.Creates a shallow copy of the current Object.

(Inherited from Object)
SaveTo(Stream) SaveTo(Stream) SaveTo(Stream) SaveTo(Stream)

Salva le impostazioni di PrintTicket in un oggetto Stream tramite un formato XML conforme allo schema di stampa.Saves the PrintTicket settings to a Stream object by using an XML format that conforms to the Print Schema.

ToString() ToString() ToString() ToString()

Restituisce una stringa che rappresenta l'oggetto corrente.Returns a string that represents the current object.

(Inherited from Object)

Eventi

PropertyChanged PropertyChanged PropertyChanged PropertyChanged

Si verifica quando viene modificata una qualsiasi proprietà dell'oggetto PrintTicket.Occurs when any property of the PrintTicket changes.

Si applica a