Compartilhar via


Como imprimir de um programa do Windows

Esta seção descreve como imprimir de um programa nativo do Windows.

Visão geral

A impressão geralmente é parte integrante de um programa nativo do Windows. Portanto, não é um recurso que você pode adicionar facilmente depois de escrever o programa. Dito isto, se o programa for projetado para usar documentos XPS, ele não precisará de muito, se houver, código adicional para renderizar o conteúdo do documento para impressão. Os documentos XPS do aplicativo podem ser enviados diretamente para uma impressora que tem um driver de impressora XPSDrv.

Use a API de Documento XPS para criar o conteúdo do documento e a API de Impressão XPS para enviar o conteúdo do documento para a impressora. A API de Impressão XPS processa o conteúdo do documento para a impressora de destino. Se a impressora selecionada tiver um driver de impressora XPSDrv, o documento será enviado para a impressora sem nenhuma conversão adicional. Se a impressora selecionada tiver um driver de impressora baseado em GDI, o programa também poderá enviar o conteúdo para a impressora e a API de Impressão XPS converterá o conteúdo do documento para que ele seja compatível com o driver de impressora baseado em GDI. Em ambos os casos, o processamento que o aplicativo executa é o mesmo.

Tarefas de impressão

Os tópicos a seguir descrevem as etapas básicas de impressão de conteúdo do programa.

  1. Coletar informações de trabalho de impressão do usuário.

    Normalmente, um usuário inicia um trabalho de impressão quando seleciona a opção de impressão em um menu e o programa exibe uma caixa de diálogo de impressão para coletar os detalhes do trabalho de impressão. O usuário normalmente seleciona a impressora, o número de cópias e os detalhes de configuração da impressora, como impressão e stapling de dois lados.

    Para obter informações sobre como fazer isso, consulte Como coletar informações de trabalho de impressão do usuário.

  2. Criar indicador de progresso.

    Um indicador de progresso fornece ao usuário comentários sobre como o trabalho de impressão está progredindo. O indicador de progresso pode ser uma barra de progresso que faz parte de uma caixa de diálogo que inclui o botão Cancelar para o trabalho ou pode ser uma barra de progresso na barra de status na parte inferior da janela main.

    Para obter informações sobre o funcionamento do indicador de progresso, consulte Como exibir o progresso do trabalho de impressão.

    Para obter mais ideias sobre como exibir o progresso do trabalho de impressão, consulte as informações nas diretrizes de desenvolvimento da interface do usuário do aplicativo Windows .

  3. Inicie o thread de impressão.

    Depois que o programa coletar as informações do trabalho de impressão do usuário, ele poderá iniciar o thread de impressão para executar o processamento real do documento para impressão.

    Para obter informações sobre o thread de impressão, consulte Como iniciar e parar um thread de impressão.

  4. Renderizar dados de trabalho de impressão.

    O thread de impressão renderiza os dados do documento para impressão. Você deve dividir esse processamento em etapas de processamento discretas para que o usuário possa interromper o processamento e cancelar o trabalho, bem como não permitir que o thread de processamento bloqueie outros threads e processos.

    Para obter informações sobre como o renderiza os dados do trabalho de impressão, consulte Como renderizar dados de trabalho de impressão.

  5. Monitore o progresso do trabalho de impressão.

    Conforme cada etapa de processamento é executada, atualize a barra de progresso para informar o uso. Compute as etapas de processamento para concluir o trabalho solicitado e, em seguida, atualiza a barra de progresso à medida que essas etapas são executadas.

  6. Feche o trabalho de impressão e encerre o thread de impressão.

    Depois que o programa enviar o trabalho de impressão para a impressora ou se o usuário tiver cancelado o trabalho de impressão, você deverá fechar o trabalho de impressão e liberar os recursos usados pelo trabalho de impressão.

Como coletar informações de trabalho de impressão do usuário