PrintCapabilities Třída
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Definuje možnosti tiskárny.
public ref class PrintCapabilities sealed
public sealed class PrintCapabilities
type PrintCapabilities = class
Public NotInheritable Class PrintCapabilities
- Dědičnost
-
PrintCapabilities
Příklady
Následující příklad ukazuje, jak určit možnosti konkrétní tiskárny a jak nakonfigurovat tiskovou úlohu tak, aby je využila.
// ---------------------- 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()
Poznámky
Objekt PrintCapabilities je snadno ovladatelná reprezentace určitého typu dokumentu XML označovaného jako dokument PrintCapabilities. Druhým je snímek všech funkcí tiskárny a jejich aktuálního nastavení. Pokud například tiskárna podporuje tisk barev, dokument by měl <PageOutputColor … > prvek, který určuje způsob zpracování barevného výstupu. Prvek je zase reprezentován OutputColorCapability vlastností objektu PrintCapabilities . Pokud tiskárna nepodporuje barvu, není v dokumentu žádný <PageOutputColor … > prvek a hodnota OutputColorCapability vlastnosti je null. Dokument PrintCapabilities musí odpovídat schématu tisku.
Třída PrintCapabilities umožňuje vaší aplikaci získat možnosti tiskárny, aniž by se musely zapojit do přímého čtení objektů XML Stream .
Všechny nejoblíbenější funkce souborových a fototiskařů pro domácnosti i firmy jsou zapouzdřeny PrintCapabilities třídou. Schéma tisku ale definuje mnoho dalších, méně běžných funkcí a dá se rozšířit tak, aby zvládlo funkce speciálních tiskových zařízení. I když tyto PrintTicket třídy nelze PrintCapabilities zdědit, můžete rozšířit schéma tisku tak, aby rozpoznalo funkce tiskového zařízení, které nejsou zohledněny v dané PrintTicket třídě.PrintCapabilities
PoznámkaPrintCapabilities Při vytvoření objektu pomocí konstruktoru, který přebírá dokument PrintCapabilities (jako Stream) parametr, je celý dokument uložen v neveřejné pole v objektu, včetně elementů XML v něm, které vyjadřují méně běžné funkce, které nejsou reprezentovány žádnou z veřejných vlastností PrintCapabilities třídy. Ve skutečnosti platí, že pokud ovladač, který vytvořil dokument PrintCapabilities, používá privátní rozšíření Print Schema, je tento soukromě definovaný kód uložen také jako součást nepřístupného dokumentu PrintCapabilities.
Upozornění
Třídy v rámci System.Printing oboru názvů nejsou podporovány pro použití v rámci služby systému Windows nebo ASP.NET aplikace nebo služby. Pokus o použití těchto tříd z jednoho z těchto typů aplikací může způsobit neočekávané problémy, jako jsou snížení výkonu služby a výjimky za běhu.
Pokud chcete tisknout z aplikace Windows Forms, podívejte se na System.Drawing.Printing obor názvů.
Konstruktory
| Name | Description |
|---|---|
| PrintCapabilities(Stream) |
Inicializuje novou instanci třídy pomocí datového PrintCapabilities proudu XML (který obsahuje dokument PrintCapabilities), který určuje možnosti tiskárny a vyhovuje schématu tisku XML. |
Vlastnosti
| Name | Description |
|---|---|
| CollationCapability |
Získá kolekci hodnot, které identifikují možnosti kolace tiskárny. |
| DeviceFontSubstitutionCapability |
Získá kolekci hodnot, které identifikují, zda a jak může tiskárna nahradit písma založená na zařízení pro písma počítače. |
| DuplexingCapability |
Získá kolekci hodnot, které určují, zda a jak může tiskárna provádět oboustranný tisk. |
| InputBinCapability |
Získá kolekci hodnot, které označují, jaký vstupní zásobník (zásobník papíru) se používá. |
| MaxCopyCount |
Získá hodnotu označující maximální počet kopií, které zařízení může tisknout v jedné tiskové úloze. |
| OrientedPageMediaHeight |
Získá hodnotu označující výšku obrázkové oblasti na stránce, kde výška znamená svislou dimenzi vzhledem k orientaci stránky. |
| OrientedPageMediaWidth |
Získá hodnotu označující šířku obrázkové oblasti na stránce, kde šířka znamená vodorovnou dimenzi vzhledem k orientaci stránky. |
| OutputColorCapability |
Získá kolekci hodnot, které určují způsoby, jak tiskárna může tisknout obsah s barvou a odstíny šedé. |
| OutputQualityCapability |
Získá kolekci hodnot, které označují typy výstupní kvality tiskárny podporuje. |
| PageBorderlessCapability |
Získá kolekci hodnot, které označují, zda tiskárna může tisknout až na okraj média. |
| PageImageableArea |
Získá objekt, který představuje oblast stránky, kterou tiskárna může použít. |
| PageMediaSizeCapability |
Získá kolekci PageMediaSize objektů, které identifikují formáty papíru a médií, které tiskárna podporuje. |
| PageMediaTypeCapability |
Získá kolekci hodnot, které identifikují typy papíru a jiných médií, které tiskárna podporuje. |
| PageOrderCapability |
Získá kolekci hodnot, které označují, zda je tiskárna schopna tisknout vícestrákové dokumenty z předního dozadu, back-to-front nebo oba způsoby. |
| PageOrientationCapability |
Získá kolekci hodnot, které identifikují typy orientace stránky tiskárny. |
| PageResolutionCapability |
Získá kolekci PageResolution objektů, které identifikují, jaké úrovně rozlišení stránky tiskárna podporuje. |
| PageScalingFactorRange |
Získá maximální a minimální procento, o které může tiskárna zvětšit nebo zmenšit tiskový obrázek na stránce. |
| PagesPerSheetCapability |
Získá kolekci celých čísel, z nichž každá identifikuje počet stránek, které uživatel může zvolit k tisku na jednu stranu listu papíru. |
| PagesPerSheetDirectionCapability |
Získá kolekci hodnot, které identifikují, jaké vzory tiskárna podporuje pro prezentaci více stránek na jedné straně listu papíru. |
| PhotoPrintingIntentCapability |
Získá kolekci hodnot, které identifikují možnosti kvality, které tiskárna podporuje pro tisk fotografií. |
| StaplingCapability |
Získá kolekci hodnot, které identifikují typy automatického sešívání, které tiskárna podporuje. |
| TrueTypeFontModeCapability |
Získá kolekci hodnot, které identifikují metody, které tiskárna podporuje pro zpracování písem TrueType. |
Metody
| Name | Description |
|---|---|
| Equals(Object) |
Určuje, zda je zadaný objekt roven aktuálnímu objektu. (Zděděno od Object) |
| GetHashCode() |
Slouží jako výchozí funkce hash. (Zděděno od Object) |
| GetType() |
Získá Type aktuální instance. (Zděděno od Object) |
| MemberwiseClone() |
Vytvoří mělkou kopii aktuálního Object. (Zděděno od Object) |
| ToString() |
Vrátí řetězec, který představuje aktuální objekt. (Zděděno od Object) |