Saltar a contenido

El objeto imposio

El punto de entrada global. Abre y crea documentos y controla las unidades.

Abrir y crear documentos

imposio.open(path, opts?)

Abre un archivo del disco. Según la extensión: PDF (directamente), imágenes (PNG/JPEG/BMP/GIF/TIFF/WebP → una página), SVG, PostScript (PS/EPS, vía Ghostscript), EPUB o texto/Markdown. Devuelve un Documento, o null (y lanza excepción) si falla.

Parámetro Tipo Descripción
path string Ruta absoluta del archivo.
opts objeto Opciones de importación (abajo); longitudes en la unidad actual.

opts de imagen: { size: [w, h] | dpi: N, bleed: { size, rgb: [r,g,b] (0–255) | cmyk: [c,m,y,k] (0–100), backPage: true } }size/dpi fijan el tamaño de página / la resolución de impresión; bleed añade un marco de sangrado de color sólido (la página crece size en cada borde, caja de corte = la imagen, el CMYK entra en el PDF como DeviceCMYK sin convertir) y backPage: true añade una segunda página rellena del mismo color.

opts de texto/EPUB: { pageSize: [w, h], margin, font, fontSize, wrap, encoding, markdown }.

var doc = imposio.open("/Users/me/jobs/booklet.pdf");
var card = imposio.open("card.png",
    { size: [90, 50], bleed: { size: 3, cmyk: [0, 100, 100, 0], backPage: true } });

imposio.newDocument(width, height)

Crea un nuevo documento vacío de una página. Dimensiones en la unidad actual. Devuelve un Document.

Parámetro Tipo Descripción
width number|string Ancho de página (unidad actual, o cadena como "210mm").
height number|string Alto de página.

imposio.activeDocument()

Devuelve la pestaña PDF actualmente activa en la interfaz como Document borrowed (los cambios afectan al documento en vivo; el script no lo elimina). Devuelve null en modo headless/CLI o sin documentos abiertos.

imposio.activePage()

Devuelve el índice base 0 de la página mostrada en la pestaña activa, o -1 si no hay ninguna.

Unidades

imposio.setUnits(units)

Establece la unidad para todos los valores de longitud siguientes y los getters. Devuelve true; una unidad desconocida lanza una excepción.

Valor Unidad
"mm" milímetros (predeterminado)
"cm" centímetros
"in" / "inch" pulgadas
"pt" / "point" puntos PostScript

imposio.units()

Devuelve la unidad actual como cadena.

Utilidades de unidades

Método Devuelve
imposio.toPt(v) v (unidad actual) → puntos
imposio.fromPt(pt) puntos → unidad actual
imposio.mmToPt(mm) milímetros → puntos (siempre mm)
imposio.ptToMm(pt) puntos → milímetros (siempre mm)
imposio.setUnits("in");
var pts = imposio.toPt(8.5);   // 612

Archivos de datos

imposio.loadData(path, opts?)

Carga un archivo tabular para la combinación de datos variables. Admite CSV / TSV / TXT / XLSX / ODS / JSON. Devuelve { columns: […], rows: [[…]], format }; lanza excepción en caso de error.

Clave opts Descripción Predeterminado
encoding p. ej. "windows-1250" "Auto"
firstRowHeaders La primera fila contiene los nombres de columnas true
delimiter p. ej. ";" (CSV) auto

imposio.combineData(tables, opts?)

Combina varias tablas (de loadData o construidas en el script) en una sola { columns, rows }. tables es un array.

Clave opts Valores Significado
modes ["append"\|"parallel", …] Cómo tables[i] se une al resultado (modes[0] se ignora): append = filas debajo, parallel = columnas al lado.
mismatch "pad" (predeterminado), "cycle", "truncate" Tablas parallel con distinto número de filas.

Watermarks

imposio.readWatermarkImage(path, opts?)

Lee un watermark de Imposio desde una imagen renderizada o escaneada y devuelve { ok, text }. opts { seedX, seedY } son las coordenadas en píxeles de un clic sobre el patrón (para un watermark frame, en cualquier punto del borde) — esto hace que la lectura sea fiable incluso sobre fondos recargados. Para incrustar, consulta addWatermark.

var r = imposio.readWatermarkImage("scan.png", { seedX: 620, seedY: 18 });
if (r.ok) console.log("watermark:", r.text);