Procedura: Stampa da un programma Windows

Questa sezione descrive come stampare da un programma Windows nativo.

Panoramica

La stampa è in genere una parte integrante di un programma Windows nativo. Pertanto, non è una funzionalità che è possibile aggiungere facilmente dopo aver scritto il programma. Detto questo, se il programma è progettato per l'uso di documenti XPS, non sarà necessario molto, se presente, codice aggiuntivo per eseguire il rendering del contenuto del documento per la stampa. I documenti XPS dell'applicazione possono essere inviati direttamente a una stampante con un driver di stampante XPSDrv.

Usare l'API documento XPS per creare il contenuto del documento e l'API di stampa XPS per inviare il contenuto del documento alla stampante. L'API di stampa XPS elabora il contenuto del documento per la stampante di destinazione. Se la stampante selezionata ha un driver della stampante XPSDrv, il documento verrà inviato alla stampante senza alcuna conversione aggiuntiva. Se la stampante selezionata ha un driver di stampante basato su GDI, il programma può anche inviare il contenuto alla stampante e l'API di stampa XPS converte il contenuto del documento in modo che sia compatibile con il driver di stampante basato su GDI. In entrambi i casi, l'elaborazione eseguita dall'applicazione è la stessa.

Attività di stampa

Gli argomenti seguenti descrivono i passaggi di base del contenuto del programma di stampa.

  1. Raccogliere le informazioni sul processo di stampa dall'utente.

    In genere, un utente avvia un processo di stampa quando seleziona l'opzione di stampa da un menu e il programma visualizza una finestra di dialogo di stampa per raccogliere i dettagli del processo di stampa. L'utente seleziona in genere la stampante, il numero di copie e i dettagli della configurazione della stampante, ad esempio stampa a due lati e spling.

    Per informazioni su come eseguire questa operazione, vedere Procedura: Raccogliere informazioni sul processo di stampa dall'utente.

  2. Creare un indicatore di stato.

    Un indicatore di stato fornisce all'utente commenti e suggerimenti sul modo in cui il processo di stampa sta procedendo. L'indicatore di stato può essere una barra di stato che fa parte di una finestra di dialogo che include il pulsante Annulla per il processo oppure può essere una barra di stato nella barra di stato nella parte inferiore della finestra principale.

    Per informazioni sull'indicatore di stato funziona, vedere Procedura: Visualizzare lo stato del processo di stampa.

    Per altre idee su come visualizzare lo stato di avanzamento del processo di stampa, vedere le informazioni contenute nelle linee guida per lo sviluppo dell'interfaccia utente dell'applicazione Windows .

  3. Avviare il thread di stampa.

    Dopo aver raccolto le informazioni sul processo di stampa dall'utente, è possibile avviare il thread di stampa per eseguire l'elaborazione effettiva del documento per la stampa.

    Per informazioni sul thread di stampa, vedere Procedura: Avviare e arrestare un thread di stampa.

  4. Eseguire il rendering dei dati del processo di stampa.

    Il thread di stampa esegue il rendering dei dati del documento per la stampa. È necessario suddividere l'elaborazione in passaggi di elaborazione discreti in modo che l'utente possa interrompere l'elaborazione e annullare il processo e non consentire al thread di elaborazione di bloccare altri thread e processi.

    Per informazioni sul rendering dei dati del processo di stampa, vedere Procedura: Eseguire il rendering dei dati del processo di stampa.

  5. Monitorare lo stato del processo di stampa.

    Man mano che viene eseguito ogni passaggio di elaborazione, aggiornare la barra di avanzamento per informare l'uso. Calcolare i passaggi di elaborazione per completare il processo richiesto e quindi aggiornare la barra di stato in quanto vengono eseguiti questi passaggi.

  6. Chiudere il processo di stampa e terminare il thread di stampa.

    Dopo aver inviato il processo di stampa alla stampante oppure se l'utente ha annullato il processo di stampa, è necessario chiudere il processo di stampa e rilasciare le risorse usate dal processo di stampa.

Procedura: Raccogliere informazioni sul processo di stampa dall'utente