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);