Condividi tramite


Procedura: Stampare da un programma Windows

Questa sezione descrive come stampare da un programma Windows nativo.

Panoramica

La stampa è in genere 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 utilizzare documenti XPS non sarà necessario molto, se presente, codice aggiuntivo per 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 dispone di un driver di stampante XPSDrv, il documento verrà inviato alla stampante senza alcuna conversione aggiuntiva. Se la stampante selezionata dispone di 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 della stampante basato su GDI. In entrambi i casi, l'elaborazione eseguita dall'applicazione è la stessa.

Attività di stampa

Negli argomenti seguenti vengono descritti i passaggi di base del contenuto del programma di stampa.

  1. Raccogliere 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 di configurazione della stampante, ad esempio la stampa a due lati e l'associazione.

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

  2. Crea indicatore di progresso.

    Un indicatore di stato fornisce all'utente commenti e suggerimenti sull'avanzamento del processo di stampa. L'indicatore di avanzamento può essere una barra di avanzamento che fa parte di una finestra di dialogo che include il pulsante Cancella per il processo, oppure può essere una barra di avanzamento nella barra di stato alla base della finestra principale.

    Per informazioni sul funzionamento dell'indicatore di stato, 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 sviluppo dell'interfaccia utente di applicazioni Windows.

  3. Avvia il thread di stampa.

    Dopo che il programma ha raccolto le informazioni sul processo di stampa dall'utente, può 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 elabora i 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, nonché per non consentire al thread di elaborazione di bloccare altri thread e processi.

    Per informazioni su come eseguire il rendering dei dati del processo di stampa, vedere Procedura: Come eseguire il rendering dei dati del processo di stampa.

  5. Monitorare lo stato del processo di stampa.

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

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

    Dopo che il programma ha inviato il processo di stampa alla stampante o se l'utente ha annullato il processo di stampa, è necessario chiudere il processo di stampa e rilasciare le risorse utilizzate dal processo di stampa.

Procedura: Raccogliere informazioni sul processo di stampa dall'utente