Partilhar via


Módulo de renderização XPSDrv

Importante

A plataforma de impressão moderna é o meio preferido do Windows para se comunicar com as impressoras. Recomendamos que você use o driver de classe de caixa de entrada IPP da Microsoft juntamente com PSA (Aplicativos de Suporte à Impressão) para personalizar a experiência de impressão no Windows 10 e 11 para o desenvolvimento de dispositivos de impressora.

Para obter mais informações, consulte Plataformade impressão moderna e o Guia de design do aplicativo de suporte de impressão.

O módulo de renderização de um driver de impressora XPSDrv contém os filtros que renderizam o conteúdo do arquivo de spool XPS para saída na impressora. O conjunto de filtros de renderização para um driver é instanciado e executado em um pipeline de filtro. O Filter Pipeline Manager (FPM) gerencia os filtros e o Inter-Filter Communicator (IFC) controla a interação entre os filtros.

O diagrama a seguir mostra um pipeline de filtro:

diagrama que ilustra um pipeline de filtro.

A Microsoft fornece os seguintes componentes de driver XPS:

  • Gerenciador de Pipeline de Filtro

  • Comunicador entre filtros

  • Recipiente de propriedades

O Gerenciador de Pipeline de Filtro deve:

  1. Carregue e inicialize filtros.

  2. Gerencie os dados entre filtros.

  3. Descarregue os filtros quando um trabalho de impressão for concluído.

Os comunicadores entre filtros gerenciam a transferência de dados entre filtros e o Gerenciador de pipeline de filtro gerencia os comunicadores entre filtros.

O processo a seguir descreve o que acontece com um conjunto de filtros em um pipeline:

  1. O Gerenciador de Pipeline de Filtro lê o arquivo de configuração de pipeline de filtro (FPC).

  2. Os filtros especificados pelo FPC são carregados.

  3. O pipeline de filtro é inicializado e o Gerenciador de Pipeline de Filtro inicia o pipeline de filtro.

  4. O primeiro filtro no pipeline lê os dados XPS por meio de interfaces XPS ou de fluxo que o Gerenciador de Pipeline de Filtro oferece e, em seguida, o filtro processa o conteúdo.

  5. O primeiro filtro envia os dados XPS processados para o segundo filtro usando a interface fornecida pelo Inter-Filter Communicator.

  6. O Inter-Filter Communicator mantém os resultados intermediários do processamento até que o segundo filtro esteja pronto.

  7. As etapas de 1 a 6 são repetidas de filtro para filtro até que os resultados do último filtro sejam enviados para a porta que o driver definiu para saída.

Se uma impressora usar XPS como uma linguagem de descrição de página (PDL) e nenhum outro processamento for desejado, você poderá usar um pipeline vazio ("passagem"). Se o XPS não for o PDL da sua impressora, você precisará escrever um filtro que converta XPS no PDL da sua impressora, bem como em qualquer outro processamento desejado.

Para desenvolver um driver XPS, você deve criar os seguintes componentes:

Você também pode adicionar suporte a tíquetes de impressão ao módulo de renderização XPSDrv