Saltar a contenido

API de scripting — descripción general

Imposio incluye un motor JavaScript (pestaña Script). Los scripts realizan las mismas operaciones que haces manualmente — abrir documentos, imponer, editar, exportar — para automatizar el trabajo repetitivo y estandarizar la salida.

Ejecutar un script

Abre la pestaña Script, escribe o abre un archivo .js y pulsa Run. También puedes grabar tus acciones en la interfaz: Imposio escribe el script equivalente (los fragmentos de estas páginas son exactamente las llamadas que produce el grabador).

El modelo de objetos

Todo parte de un único objeto global, imposio:

imposio.setUnits("mm");
var doc = imposio.open("/path/to/file.pdf");   // → un Document
doc.setImposition({ /* … */ });
var out = doc.generateImposition();            // → un nuevo Document
out.save("/path/to/out.pdf");
  • imposio — el punto de entrada: abrir/crear documentos, unidades, utilidades.
  • Document — el contenedor de un PDF: operaciones de página, exportación, metadatos, seguridad, inspección.
  • Imposition — ajustes de setImposition() y generateImposition().
  • Capa de edición — dibujar y manipular formas vectoriales, texto e imágenes.
  • Ejemplos — scripts completos.

Unidades

Las longitudes son en milímetros por defecto. Cambia la unidad para todas las llamadas siguientes con imposio.setUnits() ("mm", "cm", "in", "pt").

Los valores de longitud aceptan un número (en la unidad actual) o una cadena con sufijo que fuerza la unidad:

imposio.setUnits("mm");
doc.addBlankPage(-1, 210, 297);           // mm
doc.addBlankPage(-1, "8.5in", "11in");   // unidad explícita por valor

Coordenadas

La geometría usa coordenadas PDF: el origen está en la esquina inferior izquierda y Y sube. Los índices de página son base 0. Los rangos de páginas son cadenas: "all", "1-5", "odd", "even", "2,4,7" (cadena vacía = todas).

Manejo de errores

Los métodos que fallan lanzan una excepción JavaScript (por ejemplo, valor de enum no válido o documento no encontrado). Rodea las llamadas arriesgadas con try { … } catch (e) { … } si necesitas manejar los fallos limpiamente. Los métodos que devuelven un Document devuelven null en caso de error.