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