Vai al contenuto

L'oggetto imposio

Il punto di ingresso globale. Apre e crea documenti e controlla le unità.

Aprire e creare documenti

imposio.open(path, opts?)

Apre un file dal disco. In base all'estensione: PDF (direttamente), immagini (PNG/JPEG/BMP/GIF/TIFF/WebP → una pagina), SVG, PostScript (PS/EPS, via Ghostscript), EPUB o testo/Markdown. Restituisce un Documento, o null (e lancia un'eccezione) in caso di errore.

Parametro Tipo Descrizione
path string Percorso assoluto del file.
opts oggetto Opzioni di importazione (sotto); lunghezze nell'unità corrente.

opts immagine: { size: [w, h] | dpi: N, bleed: { size, rgb: [r,g,b] (0–255) | cmyk: [c,m,y,k] (0–100), backPage: true } }size/dpi impostano dimensione pagina / risoluzione di stampa; bleed aggiunge una cornice di abbondanza in colore pieno (la pagina cresce di size su ogni bordo, box di rifilo = l'immagine, il CMYK entra nel PDF come DeviceCMYK non convertito) e backPage: true accoda una seconda pagina riempita dello stesso colore.

opts testo/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 nuovo documento vuoto con una pagina. Le dimensioni sono nell'unità corrente. Restituisce un Document.

Parametro Tipo Descrizione
width number|string Larghezza della pagina (unità corrente, o stringa come "210mm").
height number|string Altezza della pagina.

imposio.activeDocument()

Restituisce la scheda PDF attualmente attiva nell'interfaccia come Document borrowed (le modifiche influenzano il documento live; lo script non lo elimina). Restituisce null in modalità headless/CLI o senza documenti aperti.

imposio.activePage()

Restituisce l'indice base 0 della pagina visualizzata nella scheda attiva, o -1 se nessuna.

Unità

imposio.setUnits(units)

Imposta l'unità per tutti i valori di lunghezza successivi e i getter. Restituisce true; un'unità sconosciuta lancia un'eccezione.

Valore Unità
"mm" millimetri (predefinito)
"cm" centimetri
"in" / "inch" pollici
"pt" / "point" punti PostScript

imposio.units()

Restituisce l'unità corrente come stringa.

Utilità di unità

Metodo Restituisce
imposio.toPt(v) v (unità corrente) → punti
imposio.fromPt(pt) punti → unità corrente
imposio.mmToPt(mm) millimetri → punti (sempre mm)
imposio.ptToMm(pt) punti → millimetri (sempre mm)
imposio.setUnits("in");
var pts = imposio.toPt(8.5);   // 612

File di dati

imposio.loadData(path, opts?)

Carica un file tabellare per l'unione di dati variabili. Supporta CSV / TSV / TXT / XLSX / ODS / JSON. Restituisce { columns: […], rows: [[…]], format }; lancia un'eccezione in caso di errore.

Chiave opts Descrizione Default
encoding ad es. "windows-1250" "Auto"
firstRowHeaders La prima riga contiene i nomi delle colonne true
delimiter ad es. ";" (CSV) auto

imposio.combineData(tables, opts?)

Combina più tabelle (da loadData o costruite nello script) in una sola { columns, rows }. tables è un array.

Chiave opts Valori Significato
modes ["append"\|"parallel", …] Come tables[i] si unisce al risultato (modes[0] è ignorato): append = righe sotto, parallel = colonne affiancate.
mismatch "pad" (default), "cycle", "truncate" Tabelle parallel con numero di righe diverso.

Watermark

imposio.readWatermarkImage(path, opts?)

Legge un watermark Imposio da un'immagine renderizzata o scansionata e restituisce { ok, text }. opts { seedX, seedY } sono le coordinate in pixel di un clic sul motivo (per un watermark frame, ovunque sul bordo) — questo rende la lettura affidabile anche su sfondi movimentati. Per l'inserimento vedi addWatermark.

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