Sdílet prostřednictvím


PrintCapabilities Třída

Definice

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žívala.

// ---------------------- 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 použitelná reprezentace určitého typu dokumentu XML, který se nazývá dokument PrintCapabilities. Ten je snímek všech funkcí tiskárny a jejich aktuálního nastavení. Pokud například tiskárna podporuje tisk barev, dokument bude obsahovat <PageOutputColor … > prvek, který určuje, jak se má barevný výstup zpracovat. Prvek je zase reprezentován OutputColorCapability vlastností objektu PrintCapabilities . Pokud tiskárna nepodporuje barvu, znamená to, že dokument neobsahuje žá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 musel zapojit do jakéhokoli přímého čtení objektů XML Stream .

Všechny nejoblíbenější funkce souborových a foto tiskáren, jak pro domácnosti, tak pro firmy, jsou zapouzdřeny PrintCapabilities třídou . Schéma tisku ale definuje mnohem více méně běžných funkcí a lze ho rozšířit o funkce speciálních tiskových zařízení. I když PrintTicket tedy třídy a PrintCapabilities nelze dědit, můžete rozšířit schéma tisku , aby rozpoznalo funkce tiskového zařízení, které nejsou zohledněny ve PrintTicket třídách nebo PrintCapabilities .

PoznámkaPrintCapabilities Při vytvoření objektu s konstruktorem, který přebírá PrintCapabilities document (jako Stream) parametr, je celý dokument uložen v neveřejné poli v objektu, včetně elementů XML v něm, které vyjadřují méně běžné funkce, které nejsou reprezentovány žádným z veřejných vlastností PrintCapabilities třídy. Ve skutečnosti, pokud ovladač, který vytvořil PrintCapabilities dokument používá privátní rozšíření print schématu, že soukromě definované značky je také uložen jako součást neveřejné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 je snížení výkonu služby a výjimky za běhu.

Pokud chcete tisknout z model Windows Forms aplikace, podívejte se na System.Drawing.Printing obor názvů.

Konstruktory

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

CollationCapability

Získá kolekci hodnot, které identifikují možnosti kolace tiskárny.

DeviceFontSubstitutionCapability

Získá kolekci hodnot, které identifikují, zda a jak tiskárna může nahradit písma zařízení pro písma počítače.

DuplexingCapability

Získá kolekci hodnot, které identifikují, zda a jak tiskárna může provádět oboustranný tisk.

InputBinCapability

Získá kolekci hodnot, které označují, jaký vstupní přihrádka (zásobník papíru) je použit.

MaxCopyCount

Získá hodnotu určující maximální počet kopií, které může zařízení vytisknout v jedné tiskové úloze.

OrientedPageMediaHeight

Získá hodnotu označující výšku obrazové oblasti na stránce, kde výška znamená svislý rozměr vzhledem k orientaci stránky.

OrientedPageMediaWidth

Získá hodnotu označující šířku obrazové oblasti na stránce, kde šířka znamená vodorovný rozměr vzhledem k orientaci stránky.

OutputColorCapability

Získá kolekci hodnot, které určují způsoby, jak tiskárna tisknout obsah s barvou a odstíny šedé.

OutputQualityCapability

Získá kolekci hodnot, které označují typy kvality výstupu tiskárny podporuje.

PageBorderlessCapability

Získá kolekci hodnot, které označují, zda tiskárna může tisknout až k okraji média.

PageImageableArea

Získá objekt, který představuje oblast stránky, kterou může tiskárna 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í tiskárna podporuje.

PageOrderCapability

Získá kolekci hodnot, které označují, zda je tiskárna schopna tisknout vícestránkové dokumenty zepředu dozadu, back-to-front, nebo oběma způsoby.

PageOrientationCapability

Získá kolekci hodnot, které identifikují, jaké typy orientace stránky tiskárna podporuje.

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é tiskárna může zvětšit nebo zmenšit tisk obrazu 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 pro tisk na jedné straně listu papíru.

PagesPerSheetDirectionCapability

Získá kolekci hodnot, které identifikují vzory tiskárny podporuje pro prezentaci více stránek na jedné straně listu papíru.

PhotoPrintingIntentCapability

Získá kolekci hodnot, které identifikují možnosti kvality tiskárny podporuje pro tisk fotografií.

StaplingCapability

Získá kolekci hodnot, které identifikují typy automatického sešívání, které podporuje tiskárna.

TrueTypeFontModeCapability

Získá kolekci hodnot, které identifikují metody, které tiskárna podporuje pro zpracování písem TrueType.

Metody

Equals(Object)

Určí, zda se zadaný objekt rovná aktuálnímu objektu.

(Zděděno od Object)
GetHashCode()

Slouží jako výchozí hashovací funkce.

(Zděděno od Object)
GetType()

Type Získá z aktuální instance.

(Zděděno od Object)
MemberwiseClone()

Vytvoří mělkou kopii aktuálního Objectsouboru .

(Zděděno od Object)
ToString()

Vrátí řetězec, který představuje aktuální objekt.

(Zděděno od Object)

Platí pro