Collapse the table of content
Expand the table of content
Expand Minimize

PrintQueue.DefaultPrintTicket Property

Gets or sets the default printer options associated with this PrintQueue.

Namespace:  System.Printing
Assembly:  System.Printing (in System.Printing.dll)

'Declaration
Public Overridable Property DefaultPrintTicket As PrintTicket

Property Value

Type: System.Printing.PrintTicket
The default PrintTicket for the print queue; or Nothing if an error has occurred in the print queue.

The default PrintTicket specifies print job options such as CopyCount, PageOrientation, Duplexing, Stapling, and others.

Each PrintQueue maintains its own DefaultPrintTicket.

In normal operation the DefaultPrintTicket property returns a PrintTicket. If the PrintQueue detects an invalid state, DefaultPrintTicket returns Nothing. If DefaultPrintTicket returns Nothing, the application should display an informational user dialog that an error has occurred on this print queue and that the print job should be restarted with the output directed to a different print queue.

Getting or setting the DefaultPrintTicket property does not validate the PrintTicket. The MergeAndValidatePrintTicket method can be used to validate a PrintTicket.

The following example shows how to use this property while testing a printer's capabilities and configuring 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>
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()

.NET Framework

Supported in: 4.6, 4.5, 4, 3.5, 3.0

.NET Framework Client Profile

Supported in: 4, 3.5 SP1
Was this page helpful?
(1500 characters remaining)
Thank you for your feedback
Show:
© 2015 Microsoft