Compartir a través de


Macros de bloque

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.

Una macro de bloque se usa para delimitar un conjunto de entradas de archivo GPD que desea insertar repetidamente en un archivo GPD. Puede incluir cualquier tipo de entrada en una definición de macro de bloque, como instrucciones feature y option, especificaciones de atributo y referencias a macros de valor u otras macros de bloque.

Las reglas siguientes se aplican al uso de macros de bloque:

  • Una definición de macro de bloque dentro de un archivo GPD debe ubicarse antes de cualquier referencia a él.

  • Una macro de bloque definida en el nivel raíz (es decir, no entre llaves) está disponible a través del archivo GPD que la define, después de definirla. De lo contrario, el ámbito de una macro de bloque es el conjunto de llaves izquierda y derecha que contienen su definición.

  • Una definición de macro de bloque puede contener definiciones de macros de bloque adicionales y macros de valor.

  • Una definición de macro de bloque puede hacer referencia a otras macros de bloque y macros de valor definidas anteriormente, pero no puede hacer referencia a sí misma.

  • Las macros de bloque no aceptan argumentos.

  • Si las llaves se incluyen en un cuerpo de macro, deben emparejarse (es decir, debe haber un número igual de llaves izquierda y derecha).

  • Si crea dos macros de bloque con el mismo nombre, la primera definición estará vigente hasta que el analizador de GPD encuentre la segunda definición. A continuación, la segunda definición reemplaza la primera. Si finaliza el ámbito de la segunda definición, se restablece la primera definición.

Formato de macro de bloque

Para definir una macro de bloque en un archivo GPD, utilice el siguiente formato:

*BlockMacro: BlockMacroName {BlockMacroBody}

donde BlockMacroName es un nombre único y BlockMacroBody es un conjunto de una o varias entradas de archivo GPD. Si BlockMacroBody contiene llaves, se deben incluir los números iguales de llaves izquierda y derecha ( {, } ).

Por ejemplo, puede definir una macro de bloque denominada EnvelopeDefaults, que se define de la siguiente manera:

*BlockMacro: EnvelopeDefaults
{
    *PrintableArea: PAIR(4646, 6738)
    *PrintableOrigin: PAIR(150, 150)
    *RotateSize: TRUE
}

Referencia a macros de bloque

Para hacer referencia a una macro de bloque, use el siguiente formato:

*InsertBlock: =BlockMacroName

donde blockMacroName es un nombre único, especificado anteriormente en la entrada *BlockMacro que define la macro.

Por ejemplo, para hacer referencia a la macro EnvelopeDefaults dentro de una especificación de opción, puede usar las siguientes entradas:

*Option: Env9
{
    *InsertBlock: =EnvelopeDefaults
}