PrintTicket Klas

Definitie

Hiermee definieert u de instellingen van een afdruktaak.

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
Overname
PrintTicket
Implementeringen

Voorbeelden

In het volgende voorbeeld ziet u hoe u de mogelijkheden van een specifieke printer kunt bepalen en hoe u een afdruktaak configureert om hiervan te profiteren.

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

Opmerkingen

Een PrintTicket object is een eenvoudig te werken weergave van een bepaald type XML-document dat een PrintTicket-document wordt genoemd. De laatste is een reeks instructies die een printer vertellen hoe de verschillende functies (zoals duplexen, samenvouwen en nieten) moeten worden ingesteld. Als u bijvoorbeeld wilt instrueren dat de printer de taak voor nietjes en nietjes in de linkerbovenhoek inschakelt, heeft het document een <JobStapleAllDocuments … > element dat StapleTopLeft aangeeft. Het element wordt op zijn beurt vertegenwoordigd door de Stapling eigenschap van het PrintTicket object. Het PrintTicket-document moet voldoen aan het afdrukschema.

Met PrintTicket de klasse kan uw toepassing de functies van de printer configureren zonder direct schrijven van XML-objecten Stream te hoeven uitvoeren.

Alle populairste functies van thuis- en zakelijke bestanden en fotoprinters worden vertegenwoordigd door eigenschappen van PrintTicket de klasse. Maar het afdrukschema definieert nog veel meer, minder gangbare functies en kan worden uitgebreid om functies van speciale afdrukapparaten te verwerken. Hoewel de PrintTicket en PrintCapabilities klassen niet kunnen worden overgenomen, kunt u het afdrukschema uitbreiden om functies van het afdrukapparaat te herkennen waarvoor geen rekening is gehouden in de PrintTicket of PrintCapabilities klassen. Zie Het afdrukschema uitbreiden en nieuwe afdruksysteemklassen maken voor meer informatie.

Opmerking Wanneer het PrintTicket object wordt gemaakt met de constructor die een PrintTicket-document (als een ) Streamparameter gebruikt, wordt dat hele document opgeslagen in een niet-openbaar veld in het object, inclusief de XML-elementen erin die minder algemene functies uitdrukken die niet worden vertegenwoordigd door een van de openbare eigenschappen van de PrintTicket klasse. Als het stuurprogramma dat het PrintTicket-document heeft geproduceerd, een persoonlijke uitbreiding van het afdrukschema gebruikt, wordt die persoonlijk gedefinieerde markering ook opgeslagen als onderdeel van het niet-openbare PrintTicket-document.

Caution

Klassen in de naamruimte System.Printing worden niet ondersteund voor gebruik binnen een Windows-service of ASP.NET toepassing of service. Als u deze klassen probeert te gebruiken vanuit een van deze toepassingstypen, kunnen er onverwachte problemen optreden, zoals verminderde serviceprestaties en runtime-uitzonderingen.

Als u wilt afdrukken vanuit een Windows Forms toepassing, raadpleegt u de System.Drawing.Printing naamruimte.

Constructors

Name Description
PrintTicket()

Initialiseert een nieuw exemplaar van de PrintTicket klasse.

PrintTicket(Stream)

Initialiseert een nieuw exemplaar van de PrintTicket klasse met behulp van een XML-stroom (die een PrintTicket-document bevat) die voldoet aan het XML-afdrukschema.

Eigenschappen

Name Description
Collation

Hiermee wordt een waarde opgehaald of ingesteld die aangeeft of de printer de uitvoer sorteert.

CopyCount

Hiermee haalt u het aantal exemplaren voor de afdruktaak op of stelt u dit in.

DeviceFontSubstitution

Hiermee wordt een waarde opgehaald of ingesteld die aangeeft of de printer apparaatlettertypen vervangt door computerlettertypen in de afdruktaak.

Duplexing

Hiermee wordt een waarde opgehaald of ingesteld die aangeeft welk type dubbelzijdig afdrukken, indien van toepassing, de printer gebruikt voor de afdruktaak.

InputBin

Hiermee wordt een waarde opgehaald of ingesteld die aangeeft welke invoerbak (papierlade) moet worden gebruikt.

OutputColor

Hiermee wordt een waarde opgehaald of ingesteld die aangeeft hoe de printer inhoud verwerkt die kleur of tinten grijs heeft.

OutputQuality

Hiermee wordt een waarde opgehaald of ingesteld die de kwaliteit van de uitvoer voor de afdruktaak aangeeft.

PageBorderless

Hiermee wordt een waarde opgehaald of ingesteld die aangeeft of het apparaat inhoud afdrukt naar de rand van de media of een ongeprinte marge rond de rand laat.

PageMediaSize

Hiermee haalt u het paginaformaat op voor het papier (of andere media) dat een printer gebruikt voor een afdruktaak.

PageMediaType

Hiermee wordt een waarde opgehaald of ingesteld die aangeeft welk type papier of media de printer gebruikt voor de afdruktaak.

PageOrder

Hiermee wordt een waarde opgehaald of ingesteld die aangeeft of de printer meerdere pagina's naar voor- of voor- naar achter afdrukt.

PageOrientation

Hiermee wordt een waarde opgehaald of ingesteld die aangeeft hoe de pagina-inhoud is gericht op afdrukken.

PageResolution

Hiermee haalt u het paginaresolutieniveau op dat de printer gebruikt voor een afdruktaak of stelt u deze in.

PageScalingFactor

Hiermee haalt u het percentage op waarmee de printer de afdrukafbeelding op een pagina vergroot of verkleint.

PagesPerSheet

Hiermee kunt u het aantal pagina's ophalen of instellen dat op elke afgedrukte zijde van een vel papier wordt afgedrukt.

PagesPerSheetDirection

Hiermee wordt een waarde opgehaald of ingesteld die aangeeft hoe een printer meerdere pagina's rangschikt die aan elke zijde van een vel papier worden afgedrukt.

PhotoPrintingIntent

Hiermee wordt een waarde opgehaald of ingesteld die in kwalitatieve termen aangeeft welk kwaliteitsniveau de printer gebruikt om een foto af te drukken.

Stapling

Hiermee wordt een waarde opgehaald of ingesteld die aangeeft of en waar, een printer meerdere pagina's koppelt.

TrueTypeFontMode

Hiermee wordt een waarde opgehaald of ingesteld die aangeeft hoe de printer tekst verwerkt die gebruikmaakt van TrueType-lettertypen.

Methoden

Name Description
Clone()

Hiermee maakt u een wijzigbare kloon van dit PrintTicketobject, waardoor diepe kopieën van de waarden van dit object worden gemaakt.

Equals(Object)

Bepaalt of het opgegeven object gelijk is aan het huidige object.

(Overgenomen van Object)
GetHashCode()

Fungeert als de standaardhashfunctie.

(Overgenomen van Object)
GetType()

Hiermee haalt u de Type huidige instantie op.

(Overgenomen van Object)
GetXmlStream()

Retourneert een MemoryStream object dat de eigenschapswaarden van een PrintTicket als een XML-stroom vertegenwoordigt die voldoet aan het afdrukschema.

MemberwiseClone()

Hiermee maakt u een ondiepe kopie van de huidige Object.

(Overgenomen van Object)
SaveTo(Stream)

Hiermee worden de PrintTicket instellingen opgeslagen in een Stream object met behulp van een XML-indeling die voldoet aan het afdrukschema.

ToString()

Retourneert een tekenreeks die het huidige object vertegenwoordigt.

(Overgenomen van Object)

gebeurtenis

Name Description
PropertyChanged

Treedt op wanneer een eigenschap van de PrintTicket wijzigingen.

Van toepassing op