Partilhar via


Compactação de fluxo de dados personalizada

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.

Unidrv permite que você execute operações de compressão de dados usando código personalizado. Para executar operações de compactação personalizadas, execute as seguintes etapas:

  1. Forneça um plug-in de renderização que implemente o método IPrintOemUni::Compression.

  2. Inclua uma entrada de comando CmdEnableOEMComp no ficheiro GPD da impressora .

O método IPrintOemUni::Compression recebe dados de linha de varredura como entrada. O método deve compactar os dados e, em seguida, retornar o resultado para Unidrv. A entrada de comando CmdEnableOEMComp especifica o comando que deve ser enviado à impressora para que ela possa aceitar os dados compactados. Para cada linha de varrimento a ser enviada para a impressora, Unidrv chama a função IPrintOemUni::Compression para compactar os dados da linha de varrimento. Em seguida, se este for o único método de compressão disponível, o Unidrv envia para a impressora o comando especificado pela entrada de comando CmdEnableOEMComp, seguido pelos dados compactados.

Se o minidriver da impressora contiver entradas GPD que também habilitem métodos de compactação suportados pelo Unidrv, o Unidrv tentará cada algoritmo de compactação para cada linha de varredura e escolherá o algoritmo que produz o melhor resultado. Para obter mais informações sobre os recursos de compactação do Unidrv, consulte Compactando dados raster.

Apenas um método de compressão personalizado pode ser ativado de cada vez.