Partager via


Activation du support graphique vectoriel HP-GL/2 (PCL-5e) dans le GPD

Important

La plateforme d’impression moderne est le moyen privilégié de Windows pour communiquer avec les imprimantes. Nous vous recommandons d’utiliser le pilote de classe IPP en boîte de Microsoft, ainsi que les applications de support d’impression (PSA), pour personnaliser l’expérience d’impression dans Windows 10 et 11 pour le développement de périphériques d’impression.

Pour plus d’informations, veuillez consulter la section Plateforme d’impression moderne et le Guide de conception des applications de support d’impression.

Pour activer la prise en charge des vecteurs HP-GL/2 sous Windows XP, vous devez faire deux choses :

  1. Définir l’attribut *Personality sur PERSONALITY_HPGL2.

  2. Définir une fonctionnalité personnalisée GraphicsMode avec une option HPGL2MODE. Pour fournir également une prise en charge des graphiques raster, incluez une option RASTERMODE.

Vous pouvez définir l’attribut de personnalité de cette manière :

*Personality: =PERSONALITY_HPGL2

La constante PERSONALITY_HPGL2 est définie dans stdnames.gpd.

L’exemple GPD suivant démontre comment définir l’attribut *Personality et définir une fonctionnalité personnalisée GraphicsMode avec à la fois un mode graphique vectoriel et un mode graphique raster. Notez que l’ensemble du bloc est protégé par une directive de compilation *Ifdef GPD.

*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:

Le paramètre WINNT_51 utilisé dans la directive ci-dessus s’applique aux versions de Unidrv, plutôt qu’aux versions du système d’exploitation. Pour un pilote d’imprimante Unidrv Windows XP fonctionnant sur Windows 2000, le paramètre WINNT_51 est défini et le bloc est compilé. Pour les versions antérieures de Unidrv, quelle que soit la version du système d’exploitation, ce paramètre n’est pas défini et le bloc n’est pas compilé.

Un fichier GPD pour une imprimante couleur doit également définir une fonctionnalité ColorMode, comme indiqué dans l’exemple générique suivant. Notez que les détails spécifiques de votre imprimante peuvent nécessiter des modifications de certaines valeurs.

*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"
      }
   }
}