Přeskočit obsah

Objekt imposio

Globální vstupní bod. Otevírá a vytváří dokumenty a řídí jednotky.

Otevírání a vytváření dokumentů

imposio.open(path, opts?)

Otevře soubor z disku. Podle přípony: PDF (přímo), obrázky (PNG/JPEG/BMP/GIF/TIFF/WebP → jedna strana), SVG, PostScript (PS/EPS, přes Ghostscript), EPUB nebo text/Markdown. Vrací Dokument, při selhání null (+ výjimka).

Parametr Typ Popis
path string Absolutní cesta k souboru.
opts objekt Možnosti importu (níže); rozměry v aktuálních jednotkách.

opts pro 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čí velikost strany / tiskové rozlišení; bleed přidá spadávku z plné barvy (strana naroste o size na každé hraně, trim box = obrázek, CMYK jde do PDF jako DeviceCMYK bez konverze) a backPage: true přidá druhou stranu vyplněnou stejnou barvou.

opts pro 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)

Vytvoří nový prázdný jednostránkový dokument. Rozměry jsou v aktuální jednotce. Vrací Dokument.

Parametr Typ Popis
width number|string Šířka strany (aktuální jednotka, nebo string jako "210mm").
height number|string Výška strany.

imposio.activeDocument()

Vrací aktuálně aktivní PDF záložku v GUI jako vypůjčený (borrowed) Dokument (změny ovlivňují živý dokument; skript ho nemaže). Vrací null při běhu headless/CLI nebo bez otevřeného dokumentu.

imposio.activePage()

Vrací 0-based index aktuálně zobrazené strany v aktivní záložce, nebo -1 pokud žádná.

Jednotky

imposio.setUnits(units)

Nastaví jednotku pro všechny následující délkové hodnoty a gettery. Vrací true; neznámá jednotka vyhodí výjimku.

Hodnota Jednotka
"mm" milimetry (výchozí)
"cm" centimetry
"in" / "inch" palce
"pt" / "point" PostScript body

imposio.units()

Vrací aktuální jednotku jako string.

Jednotkové helpery

Metoda Vrací
imposio.toPt(v) v (aktuální jednotka) → body
imposio.fromPt(pt) body → aktuální jednotka
imposio.mmToPt(mm) milimetry → body (vždy mm)
imposio.ptToMm(pt) body → milimetry (vždy mm)
imposio.setUnits("in");
var pts = imposio.toPt(8.5);   // 612

Datové soubory

imposio.loadData(path, opts?)

Načte tabulkový soubor pro merge variabilních dat. Podporuje CSV / TSV / TXT / XLSX / ODS / JSON. Vrací { columns: […], rows: [[…]], format }; při chybě vyhodí výjimku.

Klíč opts Popis Výchozí
encoding např. "windows-1250" "Auto"
firstRowHeaders První řádek obsahuje názvy sloupců true
delimiter např. ";" (CSV) auto

imposio.combineData(tables, opts?)

Spojí více tabulek (z loadData nebo poskládaných skriptem) do jedné { columns, rows }. tables je pole.

Klíč opts Hodnoty Význam
modes ["append"\|"parallel", …] Jak se tables[i] připojuje k výsledku (modes[0] se ignoruje): append = řádky pod sebe, parallel = sloupce vedle sebe.
mismatch "pad" (výchozí), "cycle", "truncate" Parallel tabulky s různým počtem řádků.

Watermarky

imposio.readWatermarkImage(path, opts?)

Přečte Imposio watermark z vyrenderovaného nebo naskenovaného obrázku a vrátí { ok, text }. opts { seedX, seedY } jsou pixelové souřadnice kliknutí na vzor (u frame watermarku kdekoli na obvodu) — díky tomu je čtení spolehlivé i nad pestrým pozadím. Vkládání viz addWatermark.

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