Documentación

Línea de comandos cee

Generar, imprimir, reimprimir y corregir desde un terminal o un script, con el comando cee.

cee es la línea de comandos de ceelab. Se llama desde un terminal (bash, zsh, PowerShell, cmd) y se integra en las automatizaciones. Pasa por el mismo motor que la aplicación, sobre la misma base de datos y la misma configuración: mismos controles, mismos contadores, mismos archivos, mismo historial.

ceelabaplicación de escritorioceelínea de comandosMotorcomprobaciones,contadores,renderizadoCarpeta de datosceelab.db · config.jsonSalidasimpresora, carpeta de salida
La aplicación y el comando cee usan el mismo motor, con la misma base de datos y la misma configuración.
cee print shipping-label
cee print shipping-label --copies 10
cee print shipping-label --set name="Jane Doe"
cee edit --last --set name="Jane Doe"

shipping-label es el nombre corto de un tipo de documento: su clave, visible en la pestaña Tipos de documento (Ajustes avanzados › Clave del tipo). Las plantillas se diseñan en la aplicación; el comando sirve para usarlas, nunca para crearlas ni modificarlas.

Instalación y llamada

cee viene con ceelab, en el mismo instalador. Funciona en cuanto ceelab se ha abierto una primera vez en el equipo. Configure la impresora de etiquetas y la carpeta de salida en la aplicación antes de imprimir.

Sistema Ubicación Llamada
Linux (.deb) /usr/bin/cee cee … directamente.
Windows cee.exe, en la carpeta de instalación, junto a ceelab.exe El instalador añade esa carpeta al PATH del usuario; abra un terminal nuevo después de la instalación.
macOS /Applications/ceelab.app/Contents/MacOS/cee Ruta completa, o consulte más abajo.

En macOS, la aplicación se instala arrastrándola, sin añadir nada al PATH. Para escribir cee en el Terminal, elija una de estas opciones:

# enlace simbólico en una carpeta del PATH (permisos de administrador)
sudo ln -s /Applications/ceelab.app/Contents/MacOS/cee /usr/local/bin/cee
# o bien: carpeta de la aplicación al final del PATH (~/.zprofile)
export PATH="$PATH:/Applications/ceelab.app/Contents/MacOS"
Aún sin probarEstas dos opciones todavía no se han probado en un Mac, ni tampoco el comportamiento de Gatekeeper con cee iniciado desde el Terminal.

Comandos

Los verbos están en inglés y son idénticos en todos los idiomas; los mensajes siguen el idioma de la aplicación. cee COMANDO --help da la ayuda de un comando; cee print TIPO --help añade las variables del tipo.

Comando Efecto
cee types Lista los tipos de documento: nombre corto, nombre y variables que hay que introducir. Un tipo sin plantilla producida se señala como «no se puede generar».
cee describe TIPO Detalla un tipo: idioma, salidas producidas, variables que hay que introducir (opción, naturaleza, obligatoria, valor predeterminado, valores posibles) y, después, los valores calculados o fijos.
cee preview TIPO --out ARCHIVO.pdf|.png Escribe una vista previa con los valores dados (PNG a 200 puntos por pulgada). No se reserva, imprime ni añade nada al historial. --template elige la plantilla.
cee print TIPO [variables] [--copies N] [--date AAAA-MM-DD] [--dry-run] Genera e imprime como la ventana Generación, para N ejemplares (1 por defecto, 10 000 como máximo).
cee history [--limit N] [--since AAAA-MM-DD] Últimos documentos generados (20 por defecto), del más reciente al más antiguo.
cee reprint ID|--last [--dry-run] Reimprime de forma idéntica un documento del historial, sin consumir ningún número.
cee edit ID|--last VARIABLES [--dry-run] Corrige un documento y lo reimprime: mismos números, diseño original, valores corregidos. La corrección es un documento nuevo, vinculado al original.

--dry-run hace todos los controles de una impresión real y muestra lo que se produciría, sin reservar, escribir ni imprimir nada.

cee edit --last sin ningún valor no corrige nada: muestra las variables del último documento y sus valores (código 2). Una corrección se rechaza (código 4) cuando cambiaría un valor del que depende una fórmula, o que un texto de plantilla usa en un cálculo ({upper(product)}): en ese caso, genere un documento nuevo.

Variables del tipo

Las opciones -- dependen del tipo: cada variable introducida (texto, número, fecha, lista de opciones o Sí/No, pedida al operador) se da por su nombre o con --set:

cee print product_label --product "Vis inox" --reference VX-0620
cee print product_label --set product="Vis inox" --set reference=VX-0620
  • Un número puede escribirse con coma (12,5); una fecha, AAAA-MM-DD o DD/MM/AAAA; una lista de opciones espera el texto exacto de una opción; un Sí/No se escribe true o false.
  • Una variable que no se da toma su valor predeterminado. Un número, un compuesto o una fórmula los calcula ceelab: si se dan, se rechazan.
  • Un valor con espacios se pone entre comillas. La forma --set "name=Jane Doe" sirve para bash, zsh, PowerShell y cmd.
Opción Comandos Efecto
--json todos respuesta JSON en la salida estándar
--data-dir CARPETA todos otra carpeta de datos (tarea programada con otra cuenta, por ejemplo)
--copies N print número de ejemplares (de 1 a 10 000)
--date AAAA-MM-DD print, preview fecha anterior del documento (nunca en el futuro)
--dry-run print, reprint, edit simulación, no se escribe ni se imprime nada
--last reprint, edit documento más reciente

Salvaguardas

Todas se comprueban antes de reservar ningún número:

  • Valores: obligatorios, números, fechas, opciones, Sí/No, fecha que no esté en el futuro.
  • Typst: el motor de representación debe poder iniciarse.
  • Impresora de etiquetas configurada en ceelab, para un tipo que produce una etiqueta.
  • Carpeta de salida completa (/srv/etiquettes, D:\Etiquettes…) para un comando que escribe un PDF: el ajuste inicial, ., es relativo y se rechaza.
  • Control de la primera etiqueta: mientras no se haya hecho en la aplicación, el comando solo imprime una etiqueta cada vez.

Después de la reserva, una salida fallida queda registrada en el historial con su número, como en la aplicación; cee reprint ID rehace el documento.

El comando y la aplicación pueden trabajar a la vez sobre la misma base de datos: cada escritura espera a la otra hasta 5 segundos. Después de actualizar ceelab, abra la aplicación una vez antes de usar cee: es ella la que actualiza la base de datos.

Respuesta JSON

Con --json, el comando escribe un único objeto JSON en la salida estándar, también en caso de error. Campos comunes: schema (versión del formato), command, ok, code y, en caso de fallo, error (kind, message, details). El JSON está en ASCII, legible sea cual sea la página de códigos de la consola.

# bash: valores guardados del documento (números incluidos)
cee print shipping-label --set "name=Jane Doe" --json | jq '.documents[0].values'
# PowerShell
$r = cee print shipping-label --set "name=Jane Doe" --json | Out-String | ConvertFrom-Json
if ($LASTEXITCODE -ne 0) { throw $r.error.message }

Códigos de salida

Estables de una versión a otra; el nombre entre paréntesis es error.kind en JSON.

Código Significado
0 éxito (ok)
1 error inesperado (internal)
2 línea de comandos incorrecta, o nada que corregir (usage)
3 no encontrado: tipo, documento, plantilla (not_found)
4 dato rechazado (invalid); fórmula rechazada (expression)
5 reservado, aún sin usar
6 ceelab no está listo en este equipo: ábralo una vez; o carpeta de salida relativa (not_configured)
7 ninguna impresora de etiquetas configurada (printer)
8 generación incompleta: al menos una salida fallida, registrada y reimprimible (partial)
9 base de datos ocupada más de 5 s, o restauración en curso: vuelva a intentarlo (busy)
10 Typst no encontrado o inutilizable (typst)
11 rechazado por una salvaguarda: control de la primera etiqueta aún no hecho (guard)

Registro

Cada llamada añade una línea al registro de la aplicación (pestaña Registro), con el prefijo [cee]: comando, tipo o documento afectado, nombres de las variables dadas (nunca sus valores), código de salida y duración.