Sdílet prostřednictvím


PrintTicket Třída

Definice

Definuje nastavení tiskové úlohy.

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 tak, aby je využila.

// ---------------------- 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

Objekt PrintTicket je snadno pracovat s reprezentací určitého typu dokumentu XML, který se nazývá PrintTicket dokumentu. Druhá je sada instrukcí, které tiskárně říkají, jak nastavit různé funkce (například duplexní, kolace a sešívání). Chcete-li například dát tiskárně pokyn, aby zapnul svoji sešívací a sešívanou tiskové úlohy v levém horním rohu, měl by <JobStapleAllDocuments … > dokument prvek, který určuje StapleTopLeft. Prvek je zase reprezentován Stapling vlastností objektu PrintTicket . Dokument PrintTicket musí odpovídat schématu tisku.

Třída PrintTicket umožňuje vaší aplikaci konfigurovat funkce tiskárny, aniž by se museli zapojit do přímého zápisu objektů XML Stream .

Všechny nejoblíbenější funkce domácího a firemního souboru a fototiskařů jsou reprezentovány vlastnostmi PrintTicket třídy. Schéma tisku ale definuje mnoho dalších, méně běžných funkcí a dá se rozšířit tak, aby zvládlo funkce speciálních tiskových zařízení. I když tyto PrintTicket třídy nelze PrintCapabilities zdědit, můžete rozšířit schéma tisku tak, aby rozpoznalo funkce tiskového zařízení, které nejsou zohledněny v dané PrintTicket třídě.PrintCapabilities Další informace naleznete v tématu Postupy: Rozšíření schématu tisku a vytvoření nových tříd systému tisku.

PoznámkaPrintTicket Při vytvoření objektu pomocí konstruktoru, který přebírá parametr PrintTicket dokumentu (jako Stream) je celý dokument uložen v neveřejné pole v objektu, včetně elementů XML v něm, které vyjadřují méně běžné funkce, které nejsou reprezentovány žádnou z veřejných vlastností PrintTicket třídy. Ve skutečnosti, pokud ovladač, který vytvořil dokument PrintTicket používá soukromé rozšíření Print Schema, je tento soukromě definovaný kód uložen také jako součást neveřejného dokumentu PrintTicket.

Upozornění

Třídy v rámci System.Printing oboru názvů nejsou podporovány pro použití v rámci služby systému Windows nebo ASP.NET aplikace nebo služby. Pokus o použití těchto tříd z jednoho z těchto typů aplikací může způsobit neočekávané problémy, jako jsou snížení výkonu služby a výjimky za běhu.

Pokud chcete tisknout z aplikace Windows Forms, podívejte se na System.Drawing.Printing obor názvů.

Konstruktory

Name Description
PrintTicket()

Inicializuje novou instanci PrintTicket třídy.

PrintTicket(Stream)

Inicializuje novou instanci třídy pomocí datového PrintTicket proudu XML (který obsahuje dokument PrintTicket), který je v souladu se schématem tisku XML.

Vlastnosti

Name Description
Collation

Získá nebo nastaví hodnotu určující, zda tiskárna kompletuje jeho výstup.

CopyCount

Získá nebo nastaví počet kopií pro tiskovou úlohu.

DeviceFontSubstitution

Získá nebo nastaví hodnotu určující, zda tiskárna nahradí písma založená na zařízení pro písma počítače v tiskové úloze.

Duplexing

Získá nebo nastaví hodnotu určující druh oboustranného tisku, pokud existuje, tiskárna používá pro tiskovou úlohu.

InputBin

Získá nebo nastaví hodnotu určující, jaký vstupní zásobník (zásobník papíru) použít.

OutputColor

Získá nebo nastaví hodnotu označující, jak tiskárna zpracovává obsah, který má barvu nebo odstíny šedé.

OutputQuality

Získá nebo nastaví hodnotu označující kvalitu výstupu tiskové úlohy.

PageBorderless

Získá nebo nastaví hodnotu určující, zda zařízení vytiskne obsah na okraj média nebo opustí netisknutou okraj kolem okraje.

PageMediaSize

Získá nebo nastaví velikost stránky pro papír (nebo jiné médium), které tiskárna používá pro tiskovou úlohu.

PageMediaType

Získá nebo nastaví hodnotu určující, jaký druh papíru nebo média tiskárna používá pro tiskovou úlohu.

PageOrder

Získá nebo nastaví hodnotu určující, zda tiskárna tiskne více stránek zpět na přední nebo přední straně.

PageOrientation

Získá nebo nastaví hodnotu určující, jak je obsah stránky orientovaný na tisk.

PageResolution

Získá nebo nastaví úroveň rozlišení stránky, kterou tiskárna používá pro tiskovou úlohu.

PageScalingFactor

Získá nebo nastaví procento, o které tiskárna zvětší nebo zmenší tiskový obrázek na stránce.

PagesPerSheet

Získá nebo nastaví počet stránek, které se vytisknou na každé vytištěné straně listu papíru.

PagesPerSheetDirection

Získá nebo nastaví hodnotu určující, jak tiskárna uspořádá více stránek, které se vytisknou na každé straně listu papíru.

PhotoPrintingIntent

Získá nebo nastaví hodnotu označující kvalitativní úroveň kvality, kterou tiskárna používá k tisku fotografie.

Stapling

Získá nebo nastaví hodnotu označující, zda a kde tiskárna seší více stránek.

TrueTypeFontMode

Získá nebo nastaví hodnotu označující, jak tiskárna zpracovává text, který používá písma TrueType.

Metody

Name Description
Clone()

Vytvoří upravitelný klon tohoto PrintTicketobjektu a vytvoří hluboké kopie hodnot tohoto objektu.

Equals(Object)

Určuje, zda je zadaný objekt roven aktuálnímu objektu.

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

Slouží jako výchozí funkce hash.

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

Získá Type aktuální instance.

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

MemoryStream Vrátí objekt, který představuje hodnoty PrintTicket vlastností jako datový proud XML, který odpovídá schématu tisku.

MemberwiseClone()

Vytvoří mělkou kopii aktuálního Object.

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

PrintTicket Uloží nastavení do objektu Stream pomocí formátu XML, který odpovídá schématu tisku.

ToString()

Vrátí řetězec, který představuje aktuální objekt.

(Zděděno od Object)

Událost

Name Description
PropertyChanged

Nastane, když se změní jakákoli vlastnost PrintTicket .

Platí pro