Compartir a través de


Habilitación de la compatibilidad con gráficos vectoriales HP-GL/2 (PCL-5e) en el GPD

Importante

La plataforma de impresión moderna es el medio preferido de Windows para comunicarse con impresoras. Se recomienda usar el controlador de clase de bandeja de entrada IPP de Microsoft, junto con aplicaciones de soporte técnico de impresión (PSA), para personalizar la experiencia de impresión en Windows 10 y 11 para el desarrollo de dispositivos de impresora.

Para obtener más información, consulte Plataforma de impresión moderna y la Guía de diseño de aplicaciones para compatibilidad con impresión.

Para habilitar la compatibilidad con vectores HP-GL/2 en Windows XP, debes hacer dos cosas:

  1. Establecer el atributo *Personality en PERSONALITY_HPGL2.

  2. Definir una característica personalizada GraphicsMode que tenga una opción HPGL2MODE. Para proporcionar también compatibilidad con gráficos ráster, incluya una opción RASTERMODE.

Puede establecer el atributo de personalidad de esta manera:

*Personality: =PERSONALITY_HPGL2

La constante PERSONALITY_HPGL2 se define en stdnames.gpd.

En el siguiente ejemplo de GPD se muestra cómo establecer el atributo *Personality y cómo definir una característica personalizada GraphicsMode con un modo de gráfico vectorial, así como un modo gráfico ráster. Tenga en cuenta que el bloque completo está protegido por una directiva del compilador de 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:

El parámetro WINNT_51 usado en la directiva anterior se aplica a las versiones de Unidrv, en lugar de a las versiones del sistema operativo. Para un controlador de impresora Unidrv de Windows XP que se ejecuta en Windows 2000, se define el parámetro WINNT_51 y se compila el bloque. En versiones anteriores de Unidrv, independientemente de la versión del sistema operativo, este parámetro no está definido y el bloque no está compilado.

Un archivo GPD para una impresora a color también debe definir una característica ColorMode, como se muestra en el ejemplo genérico siguiente. Tenga en cuenta que es posible que los detalles específicos de la impresora requieran cambios en 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"
      }
   }
}