Preskočiť na obsah

Objekt imposio

Globálny vstupný bod. Otvára a vytvára dokumenty a riadi jednotky.

Otváranie a vytváranie dokumentov

imposio.open(path, opts?)

Otvorí súbor z disku. Podľa prípony: PDF (priamo), obrázky (PNG/JPEG/BMP/GIF/TIFF/WebP → jedna strana), SVG, PostScript (PS/EPS, cez Ghostscript), EPUB alebo text/Markdown. Vracia Dokument, pri zlyhaní null (+ výnimka).

Parameter Typ Popis
path string Absolútna cesta k súboru.
opts objekt Možnosti importu (nižšie); rozmery v aktuálnych jednotkách.

opts pre obrázky: { size: [w, h] | dpi: N, bleed: { size, rgb: [r,g,b] (0–255) | cmyk: [c,m,y,k] (0–100), backPage: true } }size/dpi určia veľkosť strany / tlačové rozlíšenie; bleed pridá spadávku z plnej farby (strana narastie o size na každej hrane, trim box = obrázok, CMYK ide do PDF ako DeviceCMYK bez konverzie) a backPage: true pridá druhú stranu vyplnenú rovnakou farbou.

opts pre text/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)

Vytvorí nový prázdny jednostranový dokument. Rozmery sú v aktuálnej jednotke. Vracia Dokument.

Parameter Typ Popis
width number|string Šírka strany (aktuálna jednotka, alebo string ako "210mm").
height number|string Výška strany.

imposio.activeDocument()

Vracia aktuálne aktívny PDF tab v GUI ako požičaný (borrowed) Dokument (zmeny ovplyvňujú živý dokument; skript ho nemaže). Vracia null pri behu headless/CLI alebo bez otvoreného dokumentu.

imposio.activePage()

Vracia 0-based index aktuálne zobrazenej strany v aktívnom tabe, alebo -1 ak žiadna.

Jednotky

imposio.setUnits(units)

Nastaví jednotku pre všetky nasledujúce dĺžkové hodnoty a gettery. Vracia true; neznáma jednotka vyhodí výnimku.

Hodnota Jednotka
"mm" milimetre (predvolené)
"cm" centimetre
"in" / "inch" palce
"pt" / "point" PostScript body

imposio.units()

Vracia aktuálnu jednotku ako string.

Jednotkové helpery

Metóda Vracia
imposio.toPt(v) v (aktuálna jednotka) → body
imposio.fromPt(pt) body → aktuálna jednotka
imposio.mmToPt(mm) milimetre → body (vždy mm)
imposio.ptToMm(pt) body → milimetre (vždy mm)
imposio.setUnits("in");
var pts = imposio.toPt(8.5);   // 612

Dátové súbory

imposio.loadData(path, opts?)

Načíta tabuľkový súbor pre merge variabilných dát. Podporuje CSV / TSV / TXT / XLSX / ODS / JSON. Vracia { columns: […], rows: [[…]], format }; pri chybe vyhodí výnimku.

Kľúč opts Popis Default
encoding napr. "windows-1250" "Auto"
firstRowHeaders Prvý riadok obsahuje názvy stĺpcov true
delimiter napr. ";" (CSV) auto

imposio.combineData(tables, opts?)

Spojí viac tabuliek (z loadData alebo poskladaných skriptom) do jednej { columns, rows }. tables je pole.

Kľúč opts Hodnoty Význam
modes ["append"\|"parallel", …] Ako sa tables[i] pripája k výsledku (modes[0] sa ignoruje): append = riadky pod seba, parallel = stĺpce vedľa seba.
mismatch "pad" (default), "cycle", "truncate" Parallel tabuľky s rôznym počtom riadkov.

Watermarky

imposio.readWatermarkImage(path, opts?)

Prečíta Imposio watermark z vyrenderovaného alebo naskenovaného obrázka a vráti { ok, text }. opts { seedX, seedY } sú pixelové súradnice kliku na vzor (pri frame watermarku kdekoľvek na obvode) — vďaka tomu je čítanie spoľahlivé aj nad pestrým pozadím. Vkladanie viď addWatermark.

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