Das imposio-Objekt¶
Der globale Einstiegspunkt. Öffnet und erstellt Dokumente und steuert die Einheiten.
Dokumente öffnen & erstellen¶
imposio.open(path, opts?)¶
Öffnet eine Datei von der Festplatte. Je nach Endung: PDF (direkt), Bilder
(PNG/JPEG/BMP/GIF/TIFF/WebP → eine Seite), SVG, PostScript (PS/EPS, via Ghostscript), EPUB
oder Text/Markdown. Gibt ein Dokument zurück, bei Fehler null (+ Exception).
| Parameter | Typ | Beschreibung |
|---|---|---|
path |
string | Absoluter Pfad zur Datei. |
opts |
Objekt | Importoptionen (unten); Längen in der aktuellen Einheit. |
Bild-opts: { size: [w, h] | dpi: N, bleed: { size, rgb: [r,g,b] (0–255) | cmyk:
[c,m,y,k] (0–100), backPage: true } } — size/dpi setzen Seitengröße / Druckauflösung;
bleed fügt einen vollfarbigen Anschnittrahmen hinzu (die Seite wächst um size an jeder
Kante, Trim-Box = das Bild, CMYK geht unkonvertiert als DeviceCMYK ins PDF) und
backPage: true hängt eine zweite, mit derselben Farbe gefüllte Seite an.
Text/EPUB-opts: { 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)¶
Erstellt ein neues, leeres einseitiges Dokument. Maße in der aktuellen Einheit. Gibt ein Dokument zurück.
| Parameter | Typ | Beschreibung |
|---|---|---|
width |
number|string | Seitenbreite (aktuelle Einheit oder String wie "210mm"). |
height |
number|string | Seitenhöhe. |
imposio.activeDocument()¶
Gibt den aktuell aktiven PDF-Tab der Oberfläche als geliehenes (borrowed) Dokument zurück
(Änderungen wirken auf das Live-Dokument; es wird vom Skript nicht gelöscht). Gibt null
zurück im Headless-/CLI-Betrieb oder wenn kein Dokument offen ist.
imposio.activePage()¶
Gibt den 0-basierten Index der aktuell angezeigten Seite im aktiven Tab zurück, oder -1.
Einheiten¶
imposio.setUnits(units)¶
Setzt die Einheit für alle folgenden Längenwerte und Getter. Gibt true zurück; eine
unbekannte Einheit wirft eine Exception.
| Wert | Einheit |
|---|---|
"mm" |
Millimeter (Standard) |
"cm" |
Zentimeter |
"in" / "inch" |
Zoll |
"pt" / "point" |
PostScript-Punkte |
imposio.units()¶
Gibt die aktuelle Einheit als String zurück.
Einheiten-Helfer¶
| Methode | Ergebnis |
|---|---|
imposio.toPt(v) |
v (aktuelle Einheit) → Punkte |
imposio.fromPt(pt) |
Punkte → aktuelle Einheit |
imposio.mmToPt(mm) |
Millimeter → Punkte (immer mm) |
imposio.ptToMm(pt) |
Punkte → Millimeter (immer mm) |
imposio.setUnits("in");
var pts = imposio.toPt(8.5); // 612
Datendateien¶
imposio.loadData(path, opts?)¶
Lädt eine Tabellendatei für das Zusammenführen variabler Daten.
Unterstützt CSV / TSV / TXT / XLSX / ODS / JSON. Gibt { columns: […], rows: [[…]], format }
zurück; wirft bei Fehler.
opts-Schlüssel |
Beschreibung | Standard |
|---|---|---|
encoding |
z. B. "windows-1250" |
"Auto" |
firstRowHeaders |
Erste Zeile enthält die Spaltennamen | true |
delimiter |
z. B. ";" (CSV) |
auto |
imposio.combineData(tables, opts?)¶
Kombiniert mehrere Tabellen (aus loadData oder im Skript gebaut) zu einer
{ columns, rows }. tables ist ein Array.
opts-Schlüssel |
Werte | Bedeutung |
|---|---|---|
modes |
["append"\|"parallel", …] |
Wie tables[i] ans Ergebnis anschließt (modes[0] wird ignoriert): append = Zeilen darunter, parallel = Spalten daneben. |
mismatch |
"pad" (Standard), "cycle", "truncate" |
Parallel-Tabellen mit unterschiedlicher Zeilenzahl. |
Watermarks¶
imposio.readWatermarkImage(path, opts?)¶
Liest ein Imposio-Watermark aus einem gerenderten oder gescannten Bild und gibt
{ ok, text } zurück. opts { seedX, seedY } sind die Pixelkoordinaten eines Klicks
auf das Muster (bei einem frame-Watermark irgendwo auf dem Rand) — das macht das
Lesen auch über unruhigem Hintergrund zuverlässig. Einbetten siehe
addWatermark.
var r = imposio.readWatermarkImage("scan.png", { seedX: 620, seedY: 18 });
if (r.ok) console.log("watermark:", r.text);