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ž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)

Platí pro