PrintTicket Třída

Definice

Definuje nastavení tiskové úlohy.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
Dědičnost
PrintTicket
Implementuje

Příklady

Následující příklad ukazuje, jak určit možnosti konkrétní tiskárny a jak nakonfigurovat tiskovou úlohu, abyste ji mohli využít.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^ 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()

Poznámky

PrintTicketObjekt je snadno ovladatelný – s reprezentace určitého typu dokumentu XML s názvem PrintTicket dokument.A PrintTicket object is an easy-to-work-with representation of a certain type of XML document called a PrintTicket document. V takovém případě se jedná o sadu pokynů, jak nastavit různé funkce (například duplexní, kompletování a sešívání).The latter is a set of instructions telling a printer how to set its various features (such as duplexing, collating, and stapling). Například pokud chcete, aby tiskárna v levém horním rohu zapnula svůj sešívačku a sestavila tiskové úlohy, dokument by měl <JobStapleAllDocuments … > prvek, který určuje 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. Element je zase reprezentovaný Stapling vlastností PrintTicket objektu.The element is, in turn, represented by the Stapling property of the PrintTicket object. Dokument PrintTicket musí odpovídat schématu tisku.The PrintTicket document must conform to the Print Schema.

PrintTicketTřída umožňuje vaší aplikaci konfigurovat funkce tiskárny bez nutnosti zapojit se do jakéhokoli přímého psaní Stream objektů 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.

Všechny nejoblíbenější funkce domácích a firemních souborů a fotografických tiskáren jsou reprezentované vlastnostmi PrintTicket třídy.All of the most popular features of home and business file and photo printers are represented by properties of PrintTicket the class. Schéma tisku ale definuje mnoho dalších, méně častých funkcí a dá se rozšířit, aby se mohly zpracovávat funkce specializovaných tiskových zařízení.But the Print Schema defines many more, less common, features and it can be extended to handle features of specialty printing devices. Takže i když PrintTicket třídy a PrintCapabilities nelze dědit, můžete roztáhnout schéma tisku pro rozpoznávání funkcí tiskového zařízení, které nejsou v nástroji PrintTicket nebo PrintCapabilities třídy.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. Další informace najdete v tématu Postup: rozšiřování schématu tisku a vytváření nových tříd tiskového systému.For more information see How to: Extend the Print Schema and Create New Print System Classes.

Poznámka: Když PrintTicket je objekt vytvořen pomocí konstruktoru, který převezme parametr PrintTicket Document (jako Stream ), je celý dokument uložen v neveřejném poli v objektu, včetně ELEMENTů XML, které vyjadřují méně běžných funkcí, které nejsou zastoupeny žádnou z veřejných vlastností PrintTicket třídy.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. Ve skutečnosti platí, že pokud ovladač, který vytvořil dokument PrintTicket, používá privátní rozšíření schématu tisku, je jako součást dokumentu neveřejné PrintTicket také uloženo soukromým definovaným označením.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.

Upozornění

Třídy v System.Printing oboru názvů se nepodporují pro použití v rámci služby Windows nebo aplikace ASP.NET nebo služby.Classes within the System.Printing namespace are not supported for use within a Windows service or ASP.NET application or service. Při pokusu o použití těchto tříd z jednoho z těchto typů aplikací může dojít k neočekávaným problémům, jako je například snížený výkon služby a výjimky za běhu.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.

Pokud chcete tisknout z aplikace model Windows Forms, přečtěte si System.Drawing.Printing obor názvů.If you want to print from a Windows Forms application, see the System.Drawing.Printing namespace.

Konstruktory

PrintTicket()

Inicializuje novou instanci PrintTicket třídy.Initializes a new instance of the PrintTicket class.

PrintTicket(Stream)

Inicializuje novou instanci PrintTicket třídy pomocí datového proudu XML (obsahujícího dokument PrintTicket), který odpovídá schématu tiskuXML.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.

Vlastnosti

Collation

Získá nebo nastaví hodnotu označující, jestli tiskárna seřadí svůj výstup.Gets or sets a value indicating whether the printer collates its output.

CopyCount

Získá nebo nastaví počet kopií pro tiskovou úlohu.Gets or sets the number of copies for the print job.

DeviceFontSubstitution

Získává nebo nastavuje hodnotu, která indikuje, jestli tiskárna nahrazuje písma založená na zařízeních pro písma založená na počítačích v tiskové úloze.Gets or sets a value indicating whether the printer substitutes device-based fonts for computer-based fonts on the print job.

Duplexing

Získává nebo nastavuje hodnotu, která označuje, jaký typ oboustranného tisku má tiskárna používat pro tiskovou úlohu.Gets or sets a value indicating what kind of two-sided printing, if any, the printer uses for the print job.

InputBin

Získá nebo nastaví hodnotu označující, jaká vstupní přihrádka (zásobník papíru) se má použít.Gets or sets a value indicating what input bin (paper tray) to use.

OutputColor

Získává nebo nastavuje hodnotu, která indikuje, jak tiskárna zpracovává obsah, který má barvy nebo odstíny šedé.Gets or sets a value indicating how the printer handles content that has color or shades of gray.

OutputQuality

Získává nebo nastavuje hodnotu, která indikuje kvalitu výstupu tiskové úlohy.Gets or sets a value indicating the quality of output for the print job.

PageBorderless

Získává nebo nastavuje hodnotu, která indikuje, jestli zařízení tiskne obsah na okraji média, nebo nechá kolem hrany nevytištěné okraje.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

Získá nebo nastaví velikost stránky pro papír (nebo jiné médium), kterou tiskárna používá pro tiskovou úlohu.Gets or sets the page size for the paper (or other media) that a printer uses for a print job.

PageMediaType

Získává nebo nastavuje hodnotu, která indikuje, jak se bude používat tiskárna pro tiskovou úlohu.Gets or sets a value indicating what sort of paper or media the printer uses for the print job.

PageOrder

Získává nebo nastavuje hodnotu, která indikuje, jestli tiskárna tiskne více stránek vpřed nebo i front-back-end.Gets or sets a value indicating whether the printer prints multiple pages back-to-front or front-to-back.

PageOrientation

Získává nebo nastavuje hodnotu, která indikuje, jak se obsah stránky orientuje na tisk.Gets or sets a value indicating how the page content is oriented for printing.

PageResolution

Získá nebo nastaví úroveň překladu stránky, kterou tiskárna používá pro tiskovou úlohu.Gets or sets the level of page resolution that the printer uses for a print job.

PageScalingFactor

Získá nebo nastaví procento, podle kterého tiskárna zvětší nebo zmenší tiskovou image na stránce.Gets or sets the percentage by which the printer enlarges or reduces the print image on a page.

PagesPerSheet

Získá nebo nastaví počet stránek, které se vytisknou na každé vytištěné straně listu papíru.Gets or sets the number of pages that print on each printed side of a sheet of paper.

PagesPerSheetDirection

Získá nebo nastaví hodnotu označující, jak tiskárna uspořádá více stránek, které se tisknou na každou stranu listu papíru.Gets or sets a value indicating how a printer arranges multiple pages that print on each side of a sheet of paper.

PhotoPrintingIntent

Získá nebo nastaví hodnotu, která indikuje v kvalitativních výrazech úroveň kvality, kterou tiskárna používá k vytištění fotografie.Gets or sets a value indicating in qualitative terms the level of quality the printer uses to print a photograph.

Stapling

Získává nebo nastavuje hodnotu, která označuje, jestli a kde se tiskárna připojuje k několika stránkám.Gets or sets a value indicating whether, and where, a printer staples multiple pages.

TrueTypeFontMode

Získává nebo nastavuje hodnotu, která indikuje, jak tiskárna zpracovává text, který používá písma TrueType.Gets or sets a value indicating how the printer handles text that uses TrueType fonts.

Metody

Clone()

Vytvoří upravitelný klon tohoto PrintTicket objektu, který vytváří hloubkové kopie hodnot tohoto objektu.Creates a modifiable clone of this PrintTicket, making deep copies of this object's values.

Equals(Object)

Určí, zda se zadaný objekt rovná aktuálnímu objektu.Determines whether the specified object is equal to the current object.

(Zděděno od Object)
GetHashCode()

Slouží jako výchozí funkce hash.Serves as the default hash function.

(Zděděno od Object)
GetType()

Získá Type aktuální instanci.Gets the Type of the current instance.

(Zděděno od Object)
GetXmlStream()

Vrátí MemoryStream objekt, který představuje hodnoty vlastností PrintTicket jako datový proud XML, který odpovídá schématu tisku.Returns a MemoryStream object that represents the property values of a PrintTicket as an XML stream that conforms to the Print Schema.

MemberwiseClone()

Vytvoří kopii aktuálního seznamu Object .Creates a shallow copy of the current Object.

(Zděděno od Object)
SaveTo(Stream)

Uloží PrintTicket nastavení do Stream objektu pomocí formátu XML, který odpovídá schématu tisku.Saves the PrintTicket settings to a Stream object by using an XML format that conforms to the Print Schema.

ToString()

Vrátí řetězec, který představuje aktuální objekt.Returns a string that represents the current object.

(Zděděno od Object)

Události

PropertyChanged

Vyvolá se v případě, že dojde ke PrintTicket změně vlastnosti.Occurs when any property of the PrintTicket changes.

Platí pro