Export (0) Print
Expand All
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)

public virtual PrintTicket DefaultPrintTicket { get; set; }
/** @property */
public PrintTicket get_DefaultPrintTicket ()

/** @property */
public void set_DefaultPrintTicket (PrintTicket newDefaultPrintTicket)

public function get DefaultPrintTicket () : PrintTicket

public function set DefaultPrintTicket (newDefaultPrintTicket : PrintTicket)

Not applicable.

Property Value

The default PrintTicket for the print queue; or null 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 will return a null reference (Nothing in Visual Basic). If DefaultPrintTicket returns a null reference (Nothing in Visual Basic), 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. For the complete example, see Creating an XPS Document Sample.

// ---------------------- 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 printCapabilites = printQueue.GetPrintCapabilities();

    // Modify PrintTicket
    if (printCapabilites.CollationCapability.Contains(Collation.Collated))
    {
        printTicket.Collation = Collation.Collated;
    }

    if ( printCapabilites.DuplexingCapability.Contains(
            Duplexing.TwoSidedLongEdge) )
    {
        printTicket.Duplexing = Duplexing.TwoSidedLongEdge;
    }

    if (printCapabilites.StaplingCapability.Contains(Stapling.StapleDualLeft))
    {
        printTicket.Stapling = Stapling.StapleDualLeft;
    }

    return printTicket;
}// end:GetPrintTicketFromPrinter()

Windows 98, Windows Server 2000 SP4, Windows CE, Windows Millennium Edition, Windows Mobile for Pocket PC, Windows Mobile for Smartphone, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition

The Microsoft .NET Framework 3.0 is supported on Windows Vista, Microsoft Windows XP SP2, and Windows Server 2003 SP1.

.NET Framework

Supported in: 3.0

Community Additions

ADD
Show:
© 2014 Microsoft