PrintTicket Klas
Definitie
Belangrijk
Bepaalde informatie heeft betrekking op een voorlopige productversie die aanzienlijk kan worden gewijzigd voordat deze wordt uitgebracht. Microsoft biedt geen enkele expliciete of impliciete garanties met betrekking tot de informatie die hier wordt verstrekt.
Hiermee definieert u de instellingen van een afdruktaak.
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
- Overname
-
PrintTicket
- Implementeringen
Voorbeelden
In het volgende voorbeeld ziet u hoe u de mogelijkheden van een specifieke printer kunt bepalen en hoe u een afdruktaak configureert om hiervan te profiteren.
// ---------------------- 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()
Opmerkingen
Een PrintTicket object is een eenvoudig te werken weergave van een bepaald type XML-document dat een PrintTicket-document wordt genoemd. De laatste is een reeks instructies die een printer vertellen hoe de verschillende functies (zoals duplexen, samenvouwen en nieten) moeten worden ingesteld. Als u bijvoorbeeld wilt instrueren dat de printer de taak voor nietjes en nietjes in de linkerbovenhoek inschakelt, heeft het document een <JobStapleAllDocuments … > element dat StapleTopLeft aangeeft. Het element wordt op zijn beurt vertegenwoordigd door de Stapling eigenschap van het PrintTicket object. Het PrintTicket-document moet voldoen aan het afdrukschema.
Met PrintTicket de klasse kan uw toepassing de functies van de printer configureren zonder direct schrijven van XML-objecten Stream te hoeven uitvoeren.
Alle populairste functies van thuis- en zakelijke bestanden en fotoprinters worden vertegenwoordigd door eigenschappen van PrintTicket de klasse. Maar het afdrukschema definieert nog veel meer, minder gangbare functies en kan worden uitgebreid om functies van speciale afdrukapparaten te verwerken. Hoewel de PrintTicket en PrintCapabilities klassen niet kunnen worden overgenomen, kunt u het afdrukschema uitbreiden om functies van het afdrukapparaat te herkennen waarvoor geen rekening is gehouden in de PrintTicket of PrintCapabilities klassen. Zie Het afdrukschema uitbreiden en nieuwe afdruksysteemklassen maken voor meer informatie.
Opmerking Wanneer het PrintTicket object wordt gemaakt met de constructor die een PrintTicket-document (als een ) Streamparameter gebruikt, wordt dat hele document opgeslagen in een niet-openbaar veld in het object, inclusief de XML-elementen erin die minder algemene functies uitdrukken die niet worden vertegenwoordigd door een van de openbare eigenschappen van de PrintTicket klasse. Als het stuurprogramma dat het PrintTicket-document heeft geproduceerd, een persoonlijke uitbreiding van het afdrukschema gebruikt, wordt die persoonlijk gedefinieerde markering ook opgeslagen als onderdeel van het niet-openbare PrintTicket-document.
Caution
Klassen in de naamruimte System.Printing worden niet ondersteund voor gebruik binnen een Windows-service of ASP.NET toepassing of service. Als u deze klassen probeert te gebruiken vanuit een van deze toepassingstypen, kunnen er onverwachte problemen optreden, zoals verminderde serviceprestaties en runtime-uitzonderingen.
Als u wilt afdrukken vanuit een Windows Forms toepassing, raadpleegt u de System.Drawing.Printing naamruimte.
Constructors
| Name | Description |
|---|---|
| PrintTicket() |
Initialiseert een nieuw exemplaar van de PrintTicket klasse. |
| PrintTicket(Stream) |
Initialiseert een nieuw exemplaar van de PrintTicket klasse met behulp van een XML-stroom (die een PrintTicket-document bevat) die voldoet aan het XML-afdrukschema. |
Eigenschappen
| Name | Description |
|---|---|
| Collation |
Hiermee wordt een waarde opgehaald of ingesteld die aangeeft of de printer de uitvoer sorteert. |
| CopyCount |
Hiermee haalt u het aantal exemplaren voor de afdruktaak op of stelt u dit in. |
| DeviceFontSubstitution |
Hiermee wordt een waarde opgehaald of ingesteld die aangeeft of de printer apparaatlettertypen vervangt door computerlettertypen in de afdruktaak. |
| Duplexing |
Hiermee wordt een waarde opgehaald of ingesteld die aangeeft welk type dubbelzijdig afdrukken, indien van toepassing, de printer gebruikt voor de afdruktaak. |
| InputBin |
Hiermee wordt een waarde opgehaald of ingesteld die aangeeft welke invoerbak (papierlade) moet worden gebruikt. |
| OutputColor |
Hiermee wordt een waarde opgehaald of ingesteld die aangeeft hoe de printer inhoud verwerkt die kleur of tinten grijs heeft. |
| OutputQuality |
Hiermee wordt een waarde opgehaald of ingesteld die de kwaliteit van de uitvoer voor de afdruktaak aangeeft. |
| PageBorderless |
Hiermee wordt een waarde opgehaald of ingesteld die aangeeft of het apparaat inhoud afdrukt naar de rand van de media of een ongeprinte marge rond de rand laat. |
| PageMediaSize |
Hiermee haalt u het paginaformaat op voor het papier (of andere media) dat een printer gebruikt voor een afdruktaak. |
| PageMediaType |
Hiermee wordt een waarde opgehaald of ingesteld die aangeeft welk type papier of media de printer gebruikt voor de afdruktaak. |
| PageOrder |
Hiermee wordt een waarde opgehaald of ingesteld die aangeeft of de printer meerdere pagina's naar voor- of voor- naar achter afdrukt. |
| PageOrientation |
Hiermee wordt een waarde opgehaald of ingesteld die aangeeft hoe de pagina-inhoud is gericht op afdrukken. |
| PageResolution |
Hiermee haalt u het paginaresolutieniveau op dat de printer gebruikt voor een afdruktaak of stelt u deze in. |
| PageScalingFactor |
Hiermee haalt u het percentage op waarmee de printer de afdrukafbeelding op een pagina vergroot of verkleint. |
| PagesPerSheet |
Hiermee kunt u het aantal pagina's ophalen of instellen dat op elke afgedrukte zijde van een vel papier wordt afgedrukt. |
| PagesPerSheetDirection |
Hiermee wordt een waarde opgehaald of ingesteld die aangeeft hoe een printer meerdere pagina's rangschikt die aan elke zijde van een vel papier worden afgedrukt. |
| PhotoPrintingIntent |
Hiermee wordt een waarde opgehaald of ingesteld die in kwalitatieve termen aangeeft welk kwaliteitsniveau de printer gebruikt om een foto af te drukken. |
| Stapling |
Hiermee wordt een waarde opgehaald of ingesteld die aangeeft of en waar, een printer meerdere pagina's koppelt. |
| TrueTypeFontMode |
Hiermee wordt een waarde opgehaald of ingesteld die aangeeft hoe de printer tekst verwerkt die gebruikmaakt van TrueType-lettertypen. |
Methoden
| Name | Description |
|---|---|
| Clone() |
Hiermee maakt u een wijzigbare kloon van dit PrintTicketobject, waardoor diepe kopieën van de waarden van dit object worden gemaakt. |
| Equals(Object) |
Bepaalt of het opgegeven object gelijk is aan het huidige object. (Overgenomen van Object) |
| GetHashCode() |
Fungeert als de standaardhashfunctie. (Overgenomen van Object) |
| GetType() |
Hiermee haalt u de Type huidige instantie op. (Overgenomen van Object) |
| GetXmlStream() |
Retourneert een MemoryStream object dat de eigenschapswaarden van een PrintTicket als een XML-stroom vertegenwoordigt die voldoet aan het afdrukschema. |
| MemberwiseClone() |
Hiermee maakt u een ondiepe kopie van de huidige Object. (Overgenomen van Object) |
| SaveTo(Stream) |
Hiermee worden de PrintTicket instellingen opgeslagen in een Stream object met behulp van een XML-indeling die voldoet aan het afdrukschema. |
| ToString() |
Retourneert een tekenreeks die het huidige object vertegenwoordigt. (Overgenomen van Object) |
gebeurtenis
| Name | Description |
|---|---|
| PropertyChanged |
Treedt op wanneer een eigenschap van de PrintTicket wijzigingen. |