PrintTicket Klass

Definition

Definierar inställningarna för ett utskriftsjobb.

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
Arv
PrintTicket
Implementeringar

Exempel

I följande exempel visas hur du fastställer funktionerna för en viss skrivare och hur du konfigurerar ett utskriftsjobb för att dra nytta av dem.

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

Kommentarer

Ett PrintTicket objekt är en lätt att arbeta med representation av en viss typ av XML-dokument som kallas för ett PrintTicket-dokument. Det senare är en uppsättning instruktioner som talar om för en skrivare hur den ställer in sina olika funktioner (till exempel duplexing, sortering och häftning). Om du till exempel vill instruera skrivaren att aktivera häftnings- och häftningsjobben i det övre vänstra hörnet, skulle dokumentet ha ett <JobStapleAllDocuments … > element som anger StapleTopLeft. Elementet representeras i sin tur av Stapling objektets PrintTicket egenskap. PrintTicket-dokumentet måste överensstämma med utskriftsschemat.

Med PrintTicket klassen kan ditt program konfigurera skrivarens funktioner utan att behöva skriva XML-objekt Stream direkt.

Alla de mest populära funktionerna i hem- och företagsfil- och fotoskrivare representeras av klassens PrintTicket egenskaper. Men utskriftsschemat definierar många fler, mindre vanliga funktioner och kan utökas för att hantera funktioner i specialutskriftsenheter. Även om klasserna PrintTicket och PrintCapabilities inte kan ärvas kan du utöka utskriftsschemat så att utskriftsenhetens funktioner som inte redovisas i klasserna PrintTicket eller PrintCapabilities identifieras. Mer information finns i Så här utökar du utskriftsschemat och skapar nya systemklasser för utskrift.

ObserveraPrintTicket När objektet skapas med konstruktorn som tar ett PrintTicket-dokument (som en Stream) parameter lagras hela dokumentet i ett icke-offentligt fält i objektet, inklusive XML-elementen i det som uttrycker mindre vanliga funktioner som inte representeras av någon av klassens offentliga egenskaper PrintTicket . Om drivrutinen som skapade PrintTicket-dokumentet använder ett privat tillägg av utskriftsschemat lagras även den privatdefinierade markeringen som en del av det icke-offentliga PrintTicket-dokumentet.

Caution

Klasser inom namnområdet System.Printing stöds inte för användning i en Windows-tjänst eller ASP.NET program eller tjänst. Om du försöker använda dessa klasser inifrån någon av dessa programtyper kan det uppstå oväntade problem, till exempel sämre tjänstprestanda och körningsfel.

Om du vill skriva ut från ett Windows Forms program läser du namnområdet System.Drawing.Printing.

Konstruktorer

Name Description
PrintTicket()

Initierar en ny instans av PrintTicket klassen.

PrintTicket(Stream)

Initierar en ny instans av PrintTicket klassen med hjälp av en XML-ström (som innehåller ett PrintTicket-dokument) som uppfyller XML-utskriftsschemat.

Egenskaper

Name Description
Collation

Hämtar eller anger ett värde som anger om skrivaren sorterar utdata.

CopyCount

Hämtar eller anger antalet kopior för utskriftsjobbet.

DeviceFontSubstitution

Hämtar eller anger ett värde som anger om skrivaren ersätter enhetsbaserade teckensnitt med datorbaserade teckensnitt i utskriftsjobbet.

Duplexing

Hämtar eller anger ett värde som anger vilken typ av dubbelsidig utskrift, om sådan finns, som skrivaren använder för utskriftsjobbet.

InputBin

Hämtar eller anger ett värde som anger vilket indatafack (pappersfack) som ska användas.

OutputColor

Hämtar eller anger ett värde som anger hur skrivaren hanterar innehåll som har färg eller nyanser av grått.

OutputQuality

Hämtar eller anger ett värde som anger utdatakvaliteten för utskriftsjobbet.

PageBorderless

Hämtar eller anger ett värde som anger om enheten skriver ut innehåll till mediets kant eller lämnar en otryckt marginal runt kanten.

PageMediaSize

Hämtar eller anger sidstorleken för det papper (eller annat medium) som en skrivare använder för ett utskriftsjobb.

PageMediaType

Hämtar eller anger ett värde som anger vilken typ av papper eller media skrivaren använder för utskriftsjobbet.

PageOrder

Hämtar eller anger ett värde som anger om skrivaren skriver ut flera sidor framifrån eller framifrån.

PageOrientation

Hämtar eller anger ett värde som anger hur sidinnehållet är inriktat på utskrift.

PageResolution

Hämtar eller anger den sidmatchningsnivå som skrivaren använder för ett utskriftsjobb.

PageScalingFactor

Hämtar eller anger den procentandel med vilken skrivaren förstorar eller minskar utskriftsbilden på en sida.

PagesPerSheet

Hämtar eller anger antalet sidor som skrivs ut på varje tryckt sida av ett pappersark.

PagesPerSheetDirection

Hämtar eller anger ett värde som anger hur en skrivare ordnar flera sidor som skrivs ut på varje sida av ett pappersark.

PhotoPrintingIntent

Hämtar eller anger ett värde som anger i kvalitativa termer den kvalitetsnivå som skrivaren använder för att skriva ut ett fotografi.

Stapling

Hämtar eller anger ett värde som anger om och var en skrivare häftar flera sidor.

TrueTypeFontMode

Hämtar eller anger ett värde som anger hur skrivaren hanterar text som använder TrueType-teckensnitt.

Metoder

Name Description
Clone()

Skapar en modifierbar klon av detta PrintTicketoch gör djupa kopior av objektets värden.

Equals(Object)

Avgör om det angivna objektet är lika med det aktuella objektet.

(Ärvd från Object)
GetHashCode()

Fungerar som standard-hash-funktion.

(Ärvd från Object)
GetType()

Hämtar den aktuella instansen Type .

(Ärvd från Object)
GetXmlStream()

Returnerar ett MemoryStream objekt som representerar egenskapsvärdena för en PrintTicket som en XML-dataström som överensstämmer med utskriftsschemat.

MemberwiseClone()

Skapar en ytlig kopia av den aktuella Object.

(Ärvd från Object)
SaveTo(Stream)

Sparar inställningarna i PrintTicket ett Stream objekt med hjälp av ett XML-format som överensstämmer med utskriftsschemat.

ToString()

Returnerar en sträng som representerar det aktuella objektet.

(Ärvd från Object)

Händelser

Name Description
PropertyChanged

Inträffar när någon egenskap för PrintTicket ändringarna.

Gäller för