PrintQueue.GetPrintCapabilities Metodo
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Ottiene un oggetto PrintCapabilities che identifica le funzionalità della stampante o del dispositivo, ad esempio la stampa a colori o la stampa fronte retro.
Overload
GetPrintCapabilities() |
Ottiene un oggetto PrintCapabilities che identifica le funzionalità della stampante. |
GetPrintCapabilities(PrintTicket) |
Ottiene un oggetto PrintCapabilities che identifica le funzionalità della stampante. |
GetPrintCapabilities()
Ottiene un oggetto PrintCapabilities che identifica le funzionalità della stampante.
public:
System::Printing::PrintCapabilities ^ GetPrintCapabilities();
public System.Printing.PrintCapabilities GetPrintCapabilities ();
member this.GetPrintCapabilities : unit -> System.Printing.PrintCapabilities
Public Function GetPrintCapabilities () As PrintCapabilities
Restituisce
Oggetto PrintCapabilities che specifica le operazioni supportate o meno dalla stampante, ad esempio la copia fronte retro o la graffatura automatica.
Eccezioni
Impossibile recuperare l'oggetto PrintCapabilities.
Esempio
Nell'esempio seguente viene illustrato come utilizzare questo metodo durante l'unione di due ticket di stampa.
/// <summary>
/// Changes the user-default PrintTicket setting of the specified print queue.
/// </summary>
/// <param name="queue">the printer whose user-default PrintTicket setting needs to be changed</param>
static private void ChangePrintTicketSetting(PrintQueue queue)
{
//
// Obtain the printer's PrintCapabilities so we can determine whether or not
// duplexing printing is supported by the printer.
//
PrintCapabilities printcap = queue.GetPrintCapabilities();
//
// The printer's duplexing capability is returned as a read-only collection of duplexing options
// that can be supported by the printer. If the collection returned contains the duplexing
// option we want to set, it means the duplexing option we want to set is supported by the printer,
// so we can make the user-default PrintTicket setting change.
//
if (printcap.DuplexingCapability.Contains(Duplexing.TwoSidedLongEdge))
{
//
// To change the user-default PrintTicket, we can first create a delta PrintTicket with
// the new duplexing setting.
//
PrintTicket deltaTicket = new PrintTicket();
deltaTicket.Duplexing = Duplexing.TwoSidedLongEdge;
//
// Then merge the delta PrintTicket onto the printer's current user-default PrintTicket,
// and validate the merged PrintTicket to get the new PrintTicket we want to set as the
// printer's new user-default PrintTicket.
//
ValidationResult result = queue.MergeAndValidatePrintTicket(queue.UserPrintTicket, deltaTicket);
//
// The duplexing option we want to set could be constrained by other PrintTicket settings
// or device settings. We can check the validated merged PrintTicket to see whether the
// the validation process has kept the duplexing option we want to set unchanged.
//
if (result.ValidatedPrintTicket.Duplexing == Duplexing.TwoSidedLongEdge)
{
//
// Set the printer's user-default PrintTicket and commit the set operation.
//
queue.UserPrintTicket = result.ValidatedPrintTicket;
queue.Commit();
Console.WriteLine("PrintTicket new duplexing setting is set on '{0}'.", queue.FullName);
}
else
{
//
// The duplexing option we want to set has been changed by the validation process
// when it was resolving setting constraints.
//
Console.WriteLine("PrintTicket new duplexing setting is constrained on '{0}'.", queue.FullName);
}
}
else
{
//
// If the printer doesn't support the duplexing option we want to set, skip it.
//
Console.WriteLine("PrintTicket new duplexing setting is not supported on '{0}'.", queue.FullName);
}
}
''' <summary>
''' Changes the user-default PrintTicket setting of the specified print queue.
''' </summary>
''' <param name="queue">the printer whose user-default PrintTicket setting needs to be changed</param>
Private Shared Sub ChangePrintTicketSetting(ByVal queue As PrintQueue)
'
' Obtain the printer's PrintCapabilities so we can determine whether or not
' duplexing printing is supported by the printer.
'
Dim printcap As PrintCapabilities = queue.GetPrintCapabilities()
'
' The printer's duplexing capability is returned as a read-only collection of duplexing options
' that can be supported by the printer. If the collection returned contains the duplexing
' option we want to set, it means the duplexing option we want to set is supported by the printer,
' so we can make the user-default PrintTicket setting change.
'
If printcap.DuplexingCapability.Contains(Duplexing.TwoSidedLongEdge) Then
'
' To change the user-default PrintTicket, we can first create a delta PrintTicket with
' the new duplexing setting.
'
Dim deltaTicket As New PrintTicket()
deltaTicket.Duplexing = Duplexing.TwoSidedLongEdge
'
' Then merge the delta PrintTicket onto the printer's current user-default PrintTicket,
' and validate the merged PrintTicket to get the new PrintTicket we want to set as the
' printer's new user-default PrintTicket.
'
Dim result As ValidationResult = queue.MergeAndValidatePrintTicket(queue.UserPrintTicket, deltaTicket)
'
' The duplexing option we want to set could be constrained by other PrintTicket settings
' or device settings. We can check the validated merged PrintTicket to see whether the
' the validation process has kept the duplexing option we want to set unchanged.
'
If result.ValidatedPrintTicket.Duplexing = Duplexing.TwoSidedLongEdge Then
'
' Set the printer's user-default PrintTicket and commit the set operation.
'
queue.UserPrintTicket = result.ValidatedPrintTicket
queue.Commit()
Console.WriteLine("PrintTicket new duplexing setting is set on '{0}'.", queue.FullName)
Else
'
' The duplexing option we want to set has been changed by the validation process
' when it was resolving setting constraints.
'
Console.WriteLine("PrintTicket new duplexing setting is constrained on '{0}'.", queue.FullName)
End If
Else
'
' If the printer doesn't support the duplexing option we want to set, skip it.
'
Console.WriteLine("PrintTicket new duplexing setting is not supported on '{0}'.", queue.FullName)
End If
End Sub
Si applica a
GetPrintCapabilities(PrintTicket)
Ottiene un oggetto PrintCapabilities che identifica le funzionalità della stampante.
public:
System::Printing::PrintCapabilities ^ GetPrintCapabilities(System::Printing::PrintTicket ^ printTicket);
[System.Security.SecurityCritical]
public System.Printing.PrintCapabilities GetPrintCapabilities (System.Printing.PrintTicket printTicket);
public System.Printing.PrintCapabilities GetPrintCapabilities (System.Printing.PrintTicket printTicket);
[<System.Security.SecurityCritical>]
member this.GetPrintCapabilities : System.Printing.PrintTicket -> System.Printing.PrintCapabilities
member this.GetPrintCapabilities : System.Printing.PrintTicket -> System.Printing.PrintCapabilities
Public Function GetPrintCapabilities (printTicket As PrintTicket) As PrintCapabilities
Parametri
- printTicket
- PrintTicket
Print Ticket che costituisce la base per la segnalazione delle funzionalità di stampa.
Restituisce
Oggetto PrintCapabilities che specifica le operazioni supportate o meno dalla stampante, ad esempio la copia fronte retro o la graffatura automatica.
- Attributi
Eccezioni
Impossibile recuperare l'oggetto PrintCapabilities.
L'oggetto printTicket
non è ben formato.
Commenti
Il PrintTicket parametro viene usato come base per costruire l'oggetto PrintCapabilities . Si supponga, ad esempio, che la stampante supporti supporta solo i tipi di supporto A e B dal contenitore di input 1 e che supporti solo il tipo di supporto C dal contenitore di input 2. Se il printTicket
parametro specificato nel contenitore di input 1, l'oggetto PrintCapabilities restituito includerà tutti e tre i tipi di supporti, ma segnala il tipo C come "vincolato". Se il printTicket
parametro specificato nel contenitore di input 2, l'oggetto PrintCapabilities restituito includerà tutti e tre i tipi di supporti, ma segnala i tipi A e B come "vincolati". Per altre informazioni sui vincoli, vedere Schema di stampa .
Se printTicket
è null
, viene utilizzato .UserPrintTicket