Zum Inhalt

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