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