PrintTicket Class

Definition

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
Inheritance
PrintTicket
Implements

Examples

Nell'esempio seguente viene illustrato come determinare le funzionalità di una stampante specifica e come configurare un processo di stampa per sfruttarne i vantaggi.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()

Remarks

Un oggetto PrintTicket è una rappresentazione di facile utilizzo di un determinato tipo di documento XML denominato documento PrintTicket.A PrintTicket object is an easy-to-work-with representation of a certain type of XML document called a PrintTicket document. Il secondo è un set di istruzioni che indicano a una stampante come impostare le varie funzionalità, ad esempio duplexing, le regole di confronto e le graffette.The latter is a set of instructions telling a printer how to set its various features (such as duplexing, collating, and stapling). Per indicare, ad esempio, alla stampante di accendere la cucitrice e cucire i processi di stampa nell'angolo superiore sinistro, il documento dispone di un elemento <JobStapleAllDocuments … > 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 dalla proprietà Stapling dell'oggetto PrintTicket.The element is, in turn, represented by the Stapling property of the PrintTicket object. Il documento PrintTicket deve essere conforme allo schema di stampa.The PrintTicket document must conform to the Print Schema.

La classe PrintTicket consente all'applicazione di configurare le funzionalità della stampante senza doversi preoccupare della scrittura diretta di oggetti Stream XML.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 delle stampanti di file e foto di casa e di business sono rappresentate dalle proprietà di PrintTicket classe.All of the most popular features of home and business file and photo printers are represented by properties of PrintTicket the class. Tuttavia, lo schema di stampa definisce molte più funzionalità, meno comuni, ed è possibile estenderle per gestire le funzionalità dei dispositivi di stampa specializzati.But the Print Schema defines many more, less common, features and it can be extended to handle features of specialty printing devices. Pertanto, sebbene le classi PrintTicket e PrintCapabilities non possano essere ereditate, è possibile estendere lo schema di stampa per riconoscere le funzionalità del dispositivo di stampa che non sono contabilizzate nelle classi PrintTicket o PrintCapabilities.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 del sistema di stampa.For more information see How to: Extend the Print Schema and Create New Print System Classes.

Nota Quando l'oggetto PrintTicket viene creato con il costruttore che accetta un documento PrintTicket (come Stream), l'intero documento viene archiviato in un campo non pubblico nell'oggetto, inclusi gli elementi XML al suo interno che esprimono funzionalità meno comuni che non sono rappresentate dalle proprietà pubbliche della classe PrintTicket.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. Di fatto, se il driver che ha prodotto il documento PrintTicket utilizza un'estensione privata dello schema di stampa, il markup definito privatamente viene archiviato anche come parte del documento PrintTicket non pubblico.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.

Caution

Le classi all'interno dello spazio dei nomi System.Printing non sono supportate per l'uso in un servizio di Windows o in un'applicazione o un servizio ASP.NET.Classes within the System.Printing namespace are not supported for use within a Windows service or ASP.NET application or service. Il tentativo di utilizzare queste classi da uno di questi tipi di applicazioni può produrre problemi imprevisti, ad esempio le prestazioni del servizio diminuite e le eccezioni in fase di esecuzione.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.

Constructors

PrintTicket()

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

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.

Properties

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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.

Methods

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)

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

(Inherited from Object)
GetHashCode()

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

(Inherited from Object)
GetType()

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

(Inherited from 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.Returns a MemoryStream object that represents the property values of a PrintTicket as an XML stream that conforms to the Print Schema.

MemberwiseClone()

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

(Inherited from Object)
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()

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

(Inherited from Object)

Events

PropertyChanged

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

Applies to