Compartilhar via


Habilitando a compatibilidade com elementos gráficos vetoriais HP-GL/2 (PCL-5e) no GPD

Importante

A plataforma de impressão moderna é o meio preferencial 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.

Para ativar o suporte a vetores HP-GL/2 no Windows XP, é necessário fazer duas coisas:

  1. Defina o atributo *Personality como PERSONALITY_HPGL2.

  2. Defina um recurso personalizado GraphicsMode que tenha uma opção HPGL2MODE. Para também fornecer suporte ao elemento gráfico de varredura, inclua uma opção RASTERMODE.

É possível definir o atributo de personalidade desta maneira:

*Personality: =PERSONALITY_HPGL2

A constante PERSONALITY_HPGL2 é definida em stdnames.gpd.

O exemplo de GPD a seguir demonstra a configuração do atributo *Personality e a definição de um recurso personalizado GraphicsMode com um modo de gráficos vetoriais e um modo de elemento gráfico de varredura. Observe que todo o bloco é protegido por uma diretiva do compilador GPD *Ifdef.

*Ifdef: WINNT_51
*Personality: =PERSONALITY_HPGL2
*Feature: GraphicsMode
{
    *rcNameID: =GRAPHICSMODE_DISPLAY
    *FeatureType: DOC_PROPERTY
    *HelpIndex: 12000
    *DefaultOption: HPGL2MODE
    *Option: HPGL2MODE
    {
        *rcNameID: =GRAPHICSMODE_HPGL2_DISPLAY
    }
    *Option: RASTERMODE
    {
        *rcNameID: =GRAPHICSMODE_RASTER_DISPLAY
    }
}
*Endif:

O parâmetro WINNT_51 usado na diretiva acima se aplica a versões do Unidrv, em vez de versões do sistema operacional. Para um driver de impressora Unidrv do Windows XP em execução no Windows 2000, o parâmetro WINNT_51 é definido e o bloco é compilado. Para versões anteriores do Unidrv, independentemente da versão do sistema operacional, esse parâmetro é indefinido e o bloco não é compilado.

Um arquivo GPD para uma impressora colorida também deve definir um recurso ColorMode, como mostrado no exemplo genérico a seguir. Observe que detalhes específicos da impressora podem exigir alterações em determinados valores.

*Feature: ColorMode
{
  *rcNameID: =COLOR_PRINTING_MODE_DISPLAY
  *HelpIndex: 12004
  *DefaultOption: 24bpp
  *Option: Mono
   {
     *rcNameID: =MONO_DISPLAY
     *DevNumOfPlanes: 1
     *DevBPP: 1
     *Color?: FALSE
     *Command: CmdSelect
      {
        *Order: PAGE_SETUP.16 
        *Cmd: "<1B>&b1M"
      }
   }
  *Option: 24bpp
   {
     *rcNameID: =24BPP_DISPLAY
     *DevNumOfPlanes: 1
     *DevBPP: 24
     *DrvBPP: 24
     *PaletteSize: 256
     *PaletteProgrammable?: TRUE
     *Command: CmdDefinePaletteEntry
      {
        *Cmd : "<1B>*v" %d{RedValue}"a"
+                       %d{GreenValue}"b"
+                       %d{BlueValue}"c"
+                       %d{PaletteIndexToProgram}"I"
 }
     *Command: CmdSelectPaletteEntry { *Cmd : "<1B>*v" 
+                        %d{CurrentPaletteIndex}"S" }
     *Command: CmdSetSrcBmpWidth { *Cmd : "<1B>*r" 
+                        %d{RasterDataWidthInBytes / 3}"S" }
     *Command: CmdSelect
      {
        *Order: PAGE_SETUP.16
        *Cmd: "<1B>*v1N<1B>*v1O<1B>*l184O<1B>*v6W<000308080808>
+              <1B>*v0a0b0c7i255a255b255c"
      }
   }
}