PrintTicket Klass
Definition
Viktigt
En del information gäller för förhandsversionen av en produkt och kan komma att ändras avsevärt innan produkten blir allmänt tillgänglig. Microsoft lämnar inga garantier, uttryckliga eller underförstådda, avseende informationen som visas här.
Definierar inställningarna för ett utskriftsjobb.
public ref class PrintTicket sealed : System::ComponentModel::INotifyPropertyChanged
public sealed class PrintTicket : System.ComponentModel.INotifyPropertyChanged
type PrintTicket = class
interface INotifyPropertyChanged
Public NotInheritable Class PrintTicket
Implements INotifyPropertyChanged
- Arv
-
PrintTicket
- Implementeringar
Exempel
I följande exempel visas hur du fastställer funktionerna för en viss skrivare och hur du konfigurerar ett utskriftsjobb för att dra nytta av dem.
// ---------------------- 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()
Kommentarer
Ett PrintTicket objekt är en lätt att arbeta med representation av en viss typ av XML-dokument som kallas för ett PrintTicket-dokument. Det senare är en uppsättning instruktioner som talar om för en skrivare hur den ställer in sina olika funktioner (till exempel duplexing, sortering och häftning). Om du till exempel vill instruera skrivaren att aktivera häftnings- och häftningsjobben i det övre vänstra hörnet, skulle dokumentet ha ett <JobStapleAllDocuments … > element som anger StapleTopLeft. Elementet representeras i sin tur av Stapling objektets PrintTicket egenskap. PrintTicket-dokumentet måste överensstämma med utskriftsschemat.
Med PrintTicket klassen kan ditt program konfigurera skrivarens funktioner utan att behöva skriva XML-objekt Stream direkt.
Alla de mest populära funktionerna i hem- och företagsfil- och fotoskrivare representeras av klassens PrintTicket egenskaper. Men utskriftsschemat definierar många fler, mindre vanliga funktioner och kan utökas för att hantera funktioner i specialutskriftsenheter. Även om klasserna PrintTicket och PrintCapabilities inte kan ärvas kan du utöka utskriftsschemat så att utskriftsenhetens funktioner som inte redovisas i klasserna PrintTicket eller PrintCapabilities identifieras. Mer information finns i Så här utökar du utskriftsschemat och skapar nya systemklasser för utskrift.
ObserveraPrintTicket När objektet skapas med konstruktorn som tar ett PrintTicket-dokument (som en Stream) parameter lagras hela dokumentet i ett icke-offentligt fält i objektet, inklusive XML-elementen i det som uttrycker mindre vanliga funktioner som inte representeras av någon av klassens offentliga egenskaper PrintTicket . Om drivrutinen som skapade PrintTicket-dokumentet använder ett privat tillägg av utskriftsschemat lagras även den privatdefinierade markeringen som en del av det icke-offentliga PrintTicket-dokumentet.
Caution
Klasser inom namnområdet System.Printing stöds inte för användning i en Windows-tjänst eller ASP.NET program eller tjänst. Om du försöker använda dessa klasser inifrån någon av dessa programtyper kan det uppstå oväntade problem, till exempel sämre tjänstprestanda och körningsfel.
Om du vill skriva ut från ett Windows Forms program läser du namnområdet System.Drawing.Printing.
Konstruktorer
| Name | Description |
|---|---|
| PrintTicket() |
Initierar en ny instans av PrintTicket klassen. |
| PrintTicket(Stream) |
Initierar en ny instans av PrintTicket klassen med hjälp av en XML-ström (som innehåller ett PrintTicket-dokument) som uppfyller XML-utskriftsschemat. |
Egenskaper
| Name | Description |
|---|---|
| Collation |
Hämtar eller anger ett värde som anger om skrivaren sorterar utdata. |
| CopyCount |
Hämtar eller anger antalet kopior för utskriftsjobbet. |
| DeviceFontSubstitution |
Hämtar eller anger ett värde som anger om skrivaren ersätter enhetsbaserade teckensnitt med datorbaserade teckensnitt i utskriftsjobbet. |
| Duplexing |
Hämtar eller anger ett värde som anger vilken typ av dubbelsidig utskrift, om sådan finns, som skrivaren använder för utskriftsjobbet. |
| InputBin |
Hämtar eller anger ett värde som anger vilket indatafack (pappersfack) som ska användas. |
| OutputColor |
Hämtar eller anger ett värde som anger hur skrivaren hanterar innehåll som har färg eller nyanser av grått. |
| OutputQuality |
Hämtar eller anger ett värde som anger utdatakvaliteten för utskriftsjobbet. |
| PageBorderless |
Hämtar eller anger ett värde som anger om enheten skriver ut innehåll till mediets kant eller lämnar en otryckt marginal runt kanten. |
| PageMediaSize |
Hämtar eller anger sidstorleken för det papper (eller annat medium) som en skrivare använder för ett utskriftsjobb. |
| PageMediaType |
Hämtar eller anger ett värde som anger vilken typ av papper eller media skrivaren använder för utskriftsjobbet. |
| PageOrder |
Hämtar eller anger ett värde som anger om skrivaren skriver ut flera sidor framifrån eller framifrån. |
| PageOrientation |
Hämtar eller anger ett värde som anger hur sidinnehållet är inriktat på utskrift. |
| PageResolution |
Hämtar eller anger den sidmatchningsnivå som skrivaren använder för ett utskriftsjobb. |
| PageScalingFactor |
Hämtar eller anger den procentandel med vilken skrivaren förstorar eller minskar utskriftsbilden på en sida. |
| PagesPerSheet |
Hämtar eller anger antalet sidor som skrivs ut på varje tryckt sida av ett pappersark. |
| PagesPerSheetDirection |
Hämtar eller anger ett värde som anger hur en skrivare ordnar flera sidor som skrivs ut på varje sida av ett pappersark. |
| PhotoPrintingIntent |
Hämtar eller anger ett värde som anger i kvalitativa termer den kvalitetsnivå som skrivaren använder för att skriva ut ett fotografi. |
| Stapling |
Hämtar eller anger ett värde som anger om och var en skrivare häftar flera sidor. |
| TrueTypeFontMode |
Hämtar eller anger ett värde som anger hur skrivaren hanterar text som använder TrueType-teckensnitt. |
Metoder
| Name | Description |
|---|---|
| Clone() |
Skapar en modifierbar klon av detta PrintTicketoch gör djupa kopior av objektets värden. |
| Equals(Object) |
Avgör om det angivna objektet är lika med det aktuella objektet. (Ärvd från Object) |
| GetHashCode() |
Fungerar som standard-hash-funktion. (Ärvd från Object) |
| GetType() |
Hämtar den aktuella instansen Type . (Ärvd från Object) |
| GetXmlStream() |
Returnerar ett MemoryStream objekt som representerar egenskapsvärdena för en PrintTicket som en XML-dataström som överensstämmer med utskriftsschemat. |
| MemberwiseClone() |
Skapar en ytlig kopia av den aktuella Object. (Ärvd från Object) |
| SaveTo(Stream) |
Sparar inställningarna i PrintTicket ett Stream objekt med hjälp av ett XML-format som överensstämmer med utskriftsschemat. |
| ToString() |
Returnerar en sträng som representerar det aktuella objektet. (Ärvd från Object) |
Händelser
| Name | Description |
|---|---|
| PropertyChanged |
Inträffar när någon egenskap för PrintTicket ändringarna. |