Bearbeitungsebene (Formen)¶
Vektorformen, Text und Bilder auf der Bearbeitungsebene einer Seite zeichnen und
manipulieren. Koordinaten sind in der aktuellen Einheit, PDF-Koordinaten (Ursprung links
unten, Y nach oben). Farben sind "#rrggbb" oder "none".
Die add*-Methoden geben eine ganzzahlige Form-ID zurück, die die ID-Operationen unten
verwenden.
Gemeinsame Form-Optionen¶
Die meisten add*-Methoden nehmen ein optionales opts-Objekt:
| Schlüssel | Typ | Hinweise |
|---|---|---|
stroke |
string | "#rrggbb" oder "none" |
fill |
string | "#rrggbb" oder "none" |
widthPt |
number | Strichstärke in Punkten |
opacity |
number | 0–1 |
rotation |
number | Grad |
Formen hinzufügen¶
| Methode | Parameter | Ergebnis |
|---|---|---|
addLine(page, x1, y1, x2, y2, opts?) |
Linien-Endpunkte | id |
addRect(page, x, y, w, h, opts?) |
links unten + Größe | id |
addCircle(page, x, y, w, h, opts?) |
Bounding-Box | id |
addCheckbox(page, x, y, w, h, opts?) |
Ankreuzkästchen (Rahmen + Häkchen) | id |
addPolygon(page, points, opts?) |
points = [x1,y1, x2,y2, …] |
id |
addText(page, x, y, w, h, text, opts?) |
Text in einer Box | id |
addImage(page, x, y, w, h, source, opts?) |
Bild in einer Box | id |
addWatermark(page, x, y, w, h, text, opts?) |
zweifarbiger lesbarer Code | id |
addCheckbox extra opts: checked (bool, Standard true).
addText extra opts: fontFamily, fontSizePt, bold, italic,
align ("left"/"center"/"right").
addImage source: ein Dateipfad (PNG/JPEG/…) oder ein Base64-String (optional mit
data:image/…;base64,-Präfix).
addWatermark bettet text als zweifarbiges, fehlerkorrigiertes Muster ein, das
Druck und Scan übersteht. opts:
| Schlüssel | Bedeutung |
|---|---|
shape |
"block" (durchgehendes Mosaik) oder "frame" (Farb-Barcode am Rand, mit Finder-Quadraten in den Ecken) |
ec |
Fehlerkorrektur "L"/"M"/"Q"/"H" |
colorA |
Hintergrundfarbe |
colorB |
Strichfarbe |
barWidth |
Strich-/Modulgröße in mm (z. B. 0.8) |
wallMm |
Randbanddicke, nur frame |
colorA/colorB sind Füllung/Kontur der Form, also auch über setShapeFill /
setShapeStroke änderbar. Ein Watermark liest man mit readWatermark(page) (logisch)
oder imposio.readWatermarkImage(path, opts) (aus einem gerenderten/gescannten Bild).
| Methode | Beschreibung |
|---|---|
clearLayer(page) |
Entfernt alle Formen der Seite. |
shapeCount(page) |
Anzahl Formen auf der Seite. |
var id = doc.addRect(0, 20, 20, 50, 30, { stroke: "#0066ff", fill: "none", widthPt: 1 });
doc.addText(0, 20, 60, 80, 10, "Imposio", { fontSizePt: 12, align: "center" });
Formen inspizieren¶
| Methode | Ergebnis |
|---|---|
shapeIds(page) |
Array der Form-IDs in Zeichenreihenfolge. |
shapeProps(page, id) |
{ id, type, x, y, w, h, rotation, skew, opacity, stroke, fill, widthPt, filled, locked, hidden, flipX, flipY, text } (x,y = linke untere Ecke der BBox; Farben "#aarrggbb" oder "none"). |
shapeVisualBBox(page, id) |
Rotations-/Skew-bewusste enge BBox { x, y, w, h }. |
Formen ändern (per ID)¶
Alle geben false zurück, wenn die Form nicht existiert.
| Methode | Beschreibung |
|---|---|
setShapeRotation(page, id, deg) |
Absolute Rotation setzen. |
rotateShape(page, id, deltaDeg) |
Zur Rotation addieren. |
moveShape(page, id, dx, dy) |
Um einen Versatz verschieben. |
setShapePos(page, id, x, y) |
Position der linken unteren Ecke setzen. |
setShapeSize(page, id, w, h) |
Größe setzen. |
setShapeStroke(page, id, color, widthPt?) |
Strichfarbe (und optional Stärke) setzen. |
setShapeFill(page, id, color) |
Füllfarbe setzen. |
setShapeOpacity(page, id, opacity) |
0–1. |
setShapeChecked(page, id, checked) |
Ankreuzen/abwählen (nur Checkbox-Formen). |
flipShape(page, id, axis) |
"h" oder "v". |
setShapeLocked(page, id, locked) |
Sperren/entsperren. |
setShapeHidden(page, id, hidden) |
Zeigen/verstecken. |
removeShape(page, id) |
Form löschen. |
Gruppenoperationen¶
Arbeiten mit mehreren Formen gleichzeitig. ids ist ein JS-Array (oder eine einzelne Zahl).
| Methode | Beschreibung |
|---|---|
rotateShapes(page, ids, deltaDeg) |
Dreht die Gruppe um ihren gemeinsamen Mittelpunkt. |
alignShapes(page, ids, mode, opts?) |
mode: left, hcenter, right, top, middle, bottom. opts.toPage richtet an der Seite aus (Standard: an der gemeinsamen BBox, braucht ≥2 Formen). |
distributeShapes(page, ids, axis) |
axis "h"/"v" (braucht ≥3 Formen). |
flipShapes(page, ids, axis) |
"h"/"v". |
Ebenen speichern & laden¶
| Methode | Beschreibung |
|---|---|
saveLayer(page, path) |
Speichert die Bearbeitungsebene der Seite in eine .imv-Datei (gleiches JSON wie die Oberfläche). |
loadLayer(page, path, opts?) |
Lädt eine .imv in die Seite. opts.mode: "replace" (Standard) oder "append". |