Girar texto en ZPL: el comando que funciona y el que no hace nada

^FW parece el comando de rotación y se ignora al convertir. Quien gira es la letra dentro del ^A0, y no saber la diferencia cuesta una tarde.

La rotación vive dentro del comando de fuente

En ZPL cada campo lleva su propia orientación, y es la primera letra después del comando de fuente. ^A0N dibuja normal; ^A0R gira 90 grados.

^XA
^FO40,40^A0R,50,50^FDgirado^FS
^XZ

Esa etiqueta sale con el texto de lado, leyendo de arriba abajo. Comprobamos las cuatro letras en imagen, contra el renderizador que usa EasyZPL:

LetraEfecto
NNormal, de izquierda a derecha.
RGira 90 grados en sentido horario.
IGira 180 grados: el texto sale del revés.
BGira 270 grados: el texto se lee de abajo arriba.

La misma letra sirve para los códigos de barras: ^BCR gira un Code 128 igual que ^A0R gira el texto, y también lo renderizamos.

^FW no hace nada aquí

^FW existe para fijar una orientación por defecto que valdría para todos los campos siguientes, ahorrándote la letra en cada uno. Es el comando que aparece en cualquier búsqueda de "girar etiqueta ZPL".

Al convertir se ignora. Renderizamos ^FWR seguido de un campo ^A0N y el mismo campo sin el ^FWR: la salida es idéntica byte a byte, texto derecho en los dos casos.

Así que si escribiste ^FWR esperando que la etiqueta girara y no pasó nada, no es error tuyo ni archivo roto. La salida es poner la letra en cada campo: lo que ^FW haría en una línea, ^A0R lo hace por campo, y eso sí funciona.

Girar la etiqueta entera es otra cosa

Hay diferencia entre girar el contenido y girar la página. Girar todos los campos con ^A0R mantiene la página de pie, con el texto tumbado dentro. Es casi siempre lo que se quiere para una etiqueta que sale de lado del rollo.

Si lo que quieres es una página apaisada, de 152 mm de ancho por 101 mm de alto, el camino no es el archivo: es intercambiar ancho y alto en los campos de la pantalla. La conversión genera la página al tamaño que pidas, e invertir los dos números gira la página entera sin tocar ningún comando.

^PO, que en una impresora giraría la etiqueta 180 grados, también se ignora, y probamos también ^POI. La guía sobre comandos ignorados lista todo lo que entra en esa categoría.

La posición no gira con el texto

La trampa que queda: girar el texto no gira el ^FO. La posición sigue contando desde el mismo origen, la esquina superior izquierda, y el texto girado crece en otra dirección a partir de ahí.

La consecuencia práctica: un campo que cabía en horizontal desde ^FO40,40 puede pasarse del borde inferior una vez girado, porque el largo que antes ocupaba el ancho ahora ocupa el alto. En una etiqueta de 10 × 15 cm sobra sitio; en una de 5 × 3 cm no.

La forma de comprobarlo es la de siempre: convierte una y mira. El texto que se sale del borde no avisa, sencillamente desaparece, como todo el contenido colocado fuera del área de la etiqueta.

← Todas las guías