PrintTask Klasse
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Stellt einen Druckvorgang dar, der den zu druckenden Inhalt einschließt, und bietet Zugriff auf Informationen, die beschreiben, wie der Inhalt gedruckt werden soll.
public ref class PrintTask sealed
/// [Windows.Foundation.Metadata.ContractVersion(Windows.Foundation.UniversalApiContract, 65536)]
/// [Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
class PrintTask final
[Windows.Foundation.Metadata.ContractVersion(typeof(Windows.Foundation.UniversalApiContract), 65536)]
[Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
public sealed class PrintTask
Public NotInheritable Class PrintTask
- Vererbung
- Attribute
Windows-Anforderungen
Gerätefamilie |
Windows 10 (eingeführt in 10.0.10240.0 - for Xbox, see UWP features that aren't yet supported on Xbox)
|
API contract |
Windows.Foundation.UniversalApiContract (eingeführt in v1.0)
|
Hinweise
Das PrintTask-Objekt stellt einen Druckvorgang für UWP-Apps dar. Die App ist für das Erstellen eines PrintTask-Objekts verantwortlich, das über das PrintTaskRequested-Ereignis für das PrintManager-Objekt angefordert wird. Um PrintTask zu erstellen, müssen Sie den Namen für die Aufgabe und einen PrintTaskSourceRequestedHandler-Delegat angeben, der aufgerufen wird, wenn der Benutzer bereit ist, mit dem Drucken zu beginnen.
Wenn der Benutzer entscheidet, die Aufgabe nicht zu drucken, kann die Aufgabe abgeschlossen werden, ohne jemals die Dokumentquelle anzufordern.
PrintTask enthält einen Verweis in Form der Source-Eigenschaft auf die von der App bereitgestellte Druckdokumentquelle. Dieses Objekt muss die IPrintDocumentSource-Schnittstelle unterstützen.
Darüber hinaus enthält PrintTask eine Options-Eigenschaft , die einen Verweis auf das PrintTaskOptions-Objekt enthält. Das PrintTaskOptions-Objekt bietet Zugriff auf Details zum gewünschten Format des gedruckten Inhalts. PrintTaskOptions bietet auch Methoden, mit denen Aspekte der Druckbenutzerfreundlichkeit geändert werden können. Mit PrintTaskOptions kann die App beispielsweise definieren, welche der unterstützten Optionen auf der ersten Seite der Druckoberfläche angezeigt werden.
Ein Drucktask durchläuft nach seiner Erstellung einen bestimmten Satz von Zuständen, und diese Zustandsänderungen können von einer App verwendet werden, um dem Benutzer Feedback zu geben. Die meisten Zustandsübergänge werden in den Ereignissen dargestellt, die von PrintTask ausgelöst werden. Der Drucktask wird als Reaktion auf das PrintTaskRequested-Ereignis im PrintManager mithilfe der CreatePrintTask-Methode für das PrintTaskRequest-Objekt erstellt. Zu diesem Zeitpunkt kann der Druckvorgang nicht gedruckt werden, da der zu druckende Inhalt noch nicht bereitgestellt wurde. In der Regel wird ein PrintTaskRequested-Ereignis ausgelöst, wenn der Benutzer auf den Charm Geräte klickt oder eine Anwendung den Druck über die ShowPrintUIAsync-Methode auf dem PrintManager initiiert.
Sobald das System ermittelt hat, dass die Aufgabe gedruckt wird, wird der PrintTaskSourceRequestedHandler-Delegat aufgerufen, um tatsächlich einen Verweis auf das Dokumentquelle-Objekt abzurufen. An diesem Punkt wird PrintTask vollständig initialisiert. Wenn der Benutzer entscheidet, den Druck, der durch das PrintTask-Objekt dargestellt wird, nicht abzuschließen, wird das Vervollständigungsereignis mit einem Vervollständigungstyp von abgebrochen ausgelöst.
Bei der Initialisierung ist die Benutzeroberfläche des Druckens dafür verantwortlich, dass der Benutzer die verschiedenen Attribute, z. B. Papierformat oder Duplex, für den gedruckten Inhalt auswählen kann. Wenn die Initialisierung des Druckfensters fast abgeschlossen ist, löst PrintTask das Vorschauereignis aus . Dies ist der Fall, wenn der Benutzer jetzt in der Lage ist, den Inhalt des PrintTaskOptions-Objekts über das Druckfenster zu bearbeiten. Der Benutzer kann die Werte der Einstellungen jederzeit während der Vorschauphase ändern, und dies muss berücksichtigt werden, wenn eine App den Inhalt das nächste Mal paginiert. Das PrintTaskOptions-Objekt bietet grundlegende Funktionen zum Abrufen der Werte der Druckeinstellungen. Eine erweiterte Steuerung der Druckoptionen finden Sie unter PrintTaskOptionDetails. Wieder kann der Benutzer diesen Vorgang abbrechen, was dazu führt, dass ein Vervollständigungsereignis mit einem Vervollständigungstyp abgebrochen wird.
Wenn der Benutzer den Druckvorgang tatsächlich initiieren möchte, indem er z. B. im Druckfenster auf Drucken drückt, wechselt der Drucktask von Der Vorschau in den Status "Übermitteln" , und das Ereignis "Senden" wird ausgelöst. Die Quelle des Druckdokuments wird dann mit einem MakeDocument-Befehl übergeben, und der Prozess der Übermittlung von Seiten an das Drucksubsystem beginnt. Während der Übermittlung von Seiten wird das Progressing-Ereignis ausgelöst. Eine App kann die Informationen im fortschrittnden Ereignis verwenden, um den Benutzer darüber zu informieren, wie viel Inhalt noch gedruckt werden soll. Sobald der Vorgang der Übermittlung des Dokuments an das Drucksubsystem abgeschlossen ist, löst PrintTask das Vervollständigungsereignis aus. Dieses Ereignis gibt an, ob der Auftrag während des Übermittlungsprozesses erfolgreich übermittelt, abgebrochen oder fehlgeschlagen wurde.
Hier ist ein Codeausschnitt aus dem UWP-Druckbeispiel , der zeigt, wie die Reihenfolge angegeben werden kann, in der die Standarddruckeinstellungen angezeigt werden sollen:
protected override void PrintTaskRequested(PrintManager sender, PrintTaskRequestedEventArgs e)
{
PrintTask printTask = null;
printTask = e.Request.CreatePrintTask("C# Printing SDK Sample", sourceRequestedArgs =>
{
IList<string> displayedOptions = printTask.Options.DisplayedOptions;
// Choose the printer options to be shown.
// The order in which the options are appended determines the order in which they appear in the UI
displayedOptions.Clear();
displayedOptions.Add(Windows.Graphics.Printing.StandardPrintTaskOptions.Copies);
displayedOptions.Add(Windows.Graphics.Printing.StandardPrintTaskOptions.Orientation);
displayedOptions.Add(Windows.Graphics.Printing.StandardPrintTaskOptions.MediaSize);
displayedOptions.Add(Windows.Graphics.Printing.StandardPrintTaskOptions.Collation);
displayedOptions.Add(Windows.Graphics.Printing.StandardPrintTaskOptions.Duplex);
// Preset the default value of the printer option
printTask.Options.MediaSize = PrintMediaSize.NorthAmericaLegal;
// Print Task event handler is invoked when the print job is completed.
printTask.Completed += async (s, args) =>
{
// Notify the user when the print operation fails.
if (args.Completion == PrintTaskCompletion.Failed)
{
await scenarioPage.Dispatcher.RunAsync(Windows.UI.Core.CoreDispatcherPriority.Normal, () =>
{
MainPage.Current.NotifyUser("Failed to print.", NotifyType.ErrorMessage);
});
}
};
sourceRequestedArgs.SetSource(printDocumentSource);
});
}
Die vollständige Auflistung für diese und andere Druckszenarien mit PrintTask finden Sie unter Drucken und UWP-Druckbeispiel.
Versionsverlauf
Windows-Version | SDK-Version | Wertschöpfung |
---|---|---|
1607 | 14393 | IsPreviewEnabled |
Eigenschaften
Is3DManufacturingTargetEnabled |
Ruft einen Wert ab, der angibt, ob printTask 3D-Fertigungsgeräte wie einen 3D-Drucker unterstützt, oder legt diesen fest. |
IsPreviewEnabled |
Ruft einen Wert ab, der angibt, ob printTask eine Druckvorschau anzeigt, oder legt diesen fest. |
IsPrinterTargetEnabled |
Ruft einen Wert ab, der angibt, ob printTask Druckerziele unterstützt, oder legt den Wert fest. |
Options |
Ruft die PrintTaskOptions für den Drucktask ab, der definiert, wie der Inhalt für den Druck formatiert werden soll. |
Properties |
Ruft eine Reihe von Eigenschaften ab, die dem PrintTask zugeordnet sind. |
Source |
Gibt einen Zeiger auf das von der App bereitgestellte Objekt zurück, das den zu druckenden Inhalt darstellt. Dieses Objekt muss die IPrintDocumentSource-Schnittstelle unterstützen. |
Ereignisse
Completed |
Wird ausgelöst, wenn die Druckaufgabe abgeschlossen ist. |
Previewing |
Wird ausgelöst, wenn das Drucksystem den Druckvorschaumodus initialisiert. |
Progressing |
Wird ausgelöst, um Statusinformationen darüber bereitzustellen, wie viel des gedruckten Inhalts zum Drucken an das Drucksubsystem übermittelt wurde. |
Submitting |
Wird ausgelöst, wenn eine Druckaufgabe beginnt, Inhalte an das zu druckende Subsystem zu übermitteln. |