Partilhar via


Módulo de renderização XPSDrv

Importante

A moderna plataforma de impressão é o meio preferido do Windows para comunicar com as impressoras. Recomendamos que utilize o controlador de classe da caixa de entrada IPP da Microsoft, juntamente com as Aplicações de Suporte de Impressão (PSA), 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 Guia de design do aplicativo de suporte de impressão v1 e v2.

O módulo de renderização de um driver de impressora XPSDrv contém os filtros que renderizam o conteúdo do ficheiro de spool XPS para envio à impressora. O conjunto de filtros de renderização para um driver é instanciado e executado num pipeline de filtros. O Gerenciador de Pipeline de Filtros (FPM) gerencia os filtros e o Inter-Filter Communicator (IFC) controla a interação entre filtros.

O diagrama a seguir mostra uma canalização de filtragem.

diagrama ilustrativo de um pipeline de filtro.

A Microsoft fornece os seguintes componentes de driver XPS:

  • Gestor de Canalização de Filtro

  • Comunicador Inter-Filter

  • Saco de propriedade

O Filter Pipeline Manager deve:

  1. Carregue e inicialize filtros.

  2. Gerencie os dados entre filtros.

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

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

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

  1. O Gestor de Pipeline de Filtros lê o ficheiro de configuração do pipeline de filtros (FPC).

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

  3. O pipeline de filtro é inicializado e o Filter Pipeline Manager inicia o pipeline de filtro.

  4. O primeiro filtro na linha de processamento lê os dados XPS através de interfaces XPS ou de fluxo que o gestor de pipeline de filtros 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 intermediários do processamento até que o segundo filtro esteja pronto.

  7. As etapas 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 a saída.

Se uma impressora usa XPS como uma linguagem de descrição de página (PDL) e nenhum outro processamento é desejado, pode-se usar um pipeline vazio ("pass through"). Se XPS não for o PDL da sua impressora, terá de escrever um filtro que converta XPS para o PDL da sua impressora, bem como qualquer outro processamento que pretenda.

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

Você também pode adicionar suporte para impressão de bilhetes ao módulo de renderização XPSDrv