PrintTask Classe

Definizione

Rappresenta un'operazione di stampa che include il contenuto da stampare e fornisce l'accesso alle informazioni che descrivono come stampare il contenuto.

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
Ereditarietà
Object Platform::Object IInspectable PrintTask
Attributi

Requisiti Windows

Famiglia di dispositivi
Windows 10 (è stato introdotto in 10.0.10240.0 - for Xbox, see UWP features that aren't yet supported on Xbox)
API contract
Windows.Foundation.UniversalApiContract (è stato introdotto in v1.0)

Commenti

L'oggetto PrintTask rappresenta un'operazione di stampa per le app UWP. L'app è responsabile della creazione di un printTask richiesto tramite l'evento PrintTaskRequested nell'oggetto PrintManager . Per creare PrintTask , è necessario specificare il nome dell'attività e un delegato PrintTaskSourceRequestedHandler che viene chiamato quando l'utente è pronto per iniziare la stampa.

Se l'utente decide di non stampare l'attività, l'attività può essere completata senza richiedere mai l'origine del documento.

PrintTask contiene un riferimento, sotto forma di proprietà Source , all'origine documento di stampa fornita dall'app. Questo oggetto deve supportare l'interfaccia IPrintDocumentSource .

PrintTask contiene inoltre una proprietà Options che contiene un riferimento all'oggetto PrintTaskOptions. L'oggetto PrintTaskOptions consente di accedere ai dettagli sul formato desiderato del contenuto stampato. PrintTaskOptions fornisce anche metodi che consentono di modificare gli aspetti dell'esperienza utente di stampa. Ad esempio, PrintTaskOptions consente all'app di definire quali delle opzioni supportate vengono visualizzate nella pagina iniziale dell'esperienza di stampa.

Un'attività di stampa passa attraverso un set specifico di stati dopo la creazione e queste modifiche nello stato possono essere usate da un'app per fornire commenti e suggerimenti all'utente. La maggior parte delle transizioni di stato è rappresentata negli eventi generati da PrintTask. L'attività di stampa viene creata in risposta all'evento PrintTaskRequested in PrintManager usando il metodo CreatePrintTask nell'oggetto PrintTaskRequest . A questo punto non è possibile stampare l'attività di stampa, perché il contenuto da stampare non è ancora stato fornito. In genere viene generato un evento PrintTaskRequested quando l'utente fa clic sull'accesso Dispositivi o un'applicazione avvia la stampa tramite il metodo ShowPrintUIAsync in PrintManager.

Dopo che il sistema determina che l'attività verrà stampata, viene chiamato il delegato PrintTaskSourceRequestedHandler per recuperare effettivamente un riferimento all'oggetto Origine documento. A questo punto PrintTask è completamente inizializzato. Se l'utente decide di non completare la stampa rappresentata dall'oggetto PrintTask , l'evento di completamento viene generato con un tipo di completamento abbandonato.

Al momento dell'inizializzazione, l'esperienza utente di stampa è responsabile di aiutare l'utente a selezionare i diversi attributi, ad esempio dimensioni carta o duplex, per il contenuto stampato. Al termine dell'inizializzazione della finestra di stampa, PrintTask genera l'evento Previewing . Questo accade quando l'utente è ora in grado di modificare il contenuto dell'oggetto PrintTaskOptions tramite la finestra di stampa. L'utente può modificare i valori delle impostazioni in qualsiasi momento durante la fase di anteprima e questo deve essere preso in considerazione alla successiva impaginazione del contenuto da parte di un'app. L'oggetto PrintTaskOptions fornisce funzionalità di base per recuperare i valori delle impostazioni di stampa. Per un controllo più avanzato delle opzioni di stampa, vedere PrintTaskOptionDetails. Anche in questo caso, l'utente può annullare questa operazione, che comporterà la generazione di un evento di completamento con un tipo di completamento annullato.

Quando l'utente sceglie di avviare effettivamente la stampa premendo Stampa nella finestra di stampa, ad esempio, l'attività di stampa passa da Anteprima allo stato Invio e viene generato l'evento Invio . L'origine del documento di stampa viene quindi passata a un comando MakeDocument e inizia il processo di invio delle pagine al sottosistema di stampa. Durante l'invio delle pagine, viene generato l'evento Progressing . Un'app può scegliere di usare le informazioni nell'evento in corso per informare l'utente della quantità di contenuto da stampare. Al termine del processo di invio del documento al sottosistema di stampa, PrintTask genera l'evento Completion . Questo evento indica se il processo è stato inviato correttamente, annullato o non riuscito durante il processo di invio.

Ecco un frammento di codice dell'esempio di stampa UWP che mostra come indicare l'ordine in cui devono essere visualizzate le impostazioni di stampa predefinite:

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);
    });
}

Per visualizzare l'elenco completo per questo e altri scenari di stampa con PrintTask, vedi Stampa e esempio di stampa UWP.

Cronologia delle versioni

Versione di Windows Versione dell'SDK Valore aggiunto
1607 14393 IsPreviewEnabled

Proprietà

Is3DManufacturingTargetEnabled

Ottiene o imposta un valore che indica se PrintTask supporta i dispositivi di produzione 3D, ad esempio una stampante 3D.

IsPreviewEnabled

Ottiene o imposta un valore che indica se PrintTask mostrerà un'anteprima di stampa.

IsPrinterTargetEnabled

Ottiene o imposta un valore che indica se PrintTask supporta le destinazioni della stampante.

Options

Recupera PrintTaskOptions per l'attività di stampa che definisce la modalità di formattazione del contenuto per la stampa.

Properties

Recupera un set di proprietà associate a PrintTask.

Source

Restituisce un puntatore all'oggetto fornito dall'app che rappresenta il contenuto da stampare. Questo oggetto deve supportare l'interfaccia IPrintDocumentSource .

Eventi

Completed

Generato al termine dell'attività di stampa.

Previewing

Generato quando il sistema di stampa inizializza la modalità anteprima di stampa.

Progressing

Generato per fornire informazioni sullo stato di avanzamento sulla quantità di contenuto stampato inviato al sottosistema di stampa per la stampa.

Submitting

Generato quando un'attività di stampa inizia a inviare contenuto al sottosistema di stampa da stampare.

Si applica a

Vedi anche