Partilhar via


Módulo de Renderização XPSDrv

Importante

Recomendamos que você use o driver de classe de caixa de entrada IPP da Microsoft, juntamente com aplicativos de suporte de impressão (PSA), para personalizar a experiência de impressão em Windows 10 e 11 para o desenvolvimento de dispositivos de impressora.

Para obter mais informações, consulte 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 para a impressora. O conjunto de filtros de renderização para um driver é instanciado e executado em um pipeline de filtro. O FPM (Filter Pipeline Manager) gerencia os filtros e o IFC (Inter-Filter Communicator) controla a interação entre filtros.

O diagrama a seguir mostra um pipeline de filtro.

diagrama ilustrando um pipeline de filtro.

A Microsoft fornece os seguintes componentes do driver XPS:

  • Gerenciador de Pipeline de Filtros

  • Inter-Filter Communicator

  • Recipiente de propriedades

O Gerenciador de Pipeline de Filtros deve:

  1. Carregar e inicializar filtros.

  2. Gerencie os dados entre filtros.

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

Inter-Filter Communicators gerenciam a transferência de dados entre filtros e o Gerenciador de Pipeline de Filtro gerencia Inter-Filter Communicators.

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 FPC (configuração de pipeline de filtro).

  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 XPS ou interfaces 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 que o Inter-Filter Communicator fornece.

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

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

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

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

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