Editovacia vrstva (tvary)¶
Kreslenie a manipulácia vektorových tvarov, textu a obrázkov na editovacej vrstve strany.
Súradnice sú v aktuálnej jednotke, PDF súradnice (počiatok vľavo dole, Y nahor). Farby sú
"#rrggbb" alebo "none".
Metódy add* vracajú celočíselné ID tvaru, ktoré používajú operácie podľa ID nižšie.
Spoločné možnosti tvarov¶
Väčšina add* metód berie voliteľný objekt opts:
| Kľúč | Typ | Poznámky |
|---|---|---|
stroke |
string | "#rrggbb" alebo "none" |
fill |
string | "#rrggbb" alebo "none" |
widthPt |
number | Hrúbka ťahu v bodoch |
opacity |
number | 0–1 |
rotation |
number | Stupne |
Pridávanie tvarov¶
| Metóda | Parametre | Vracia |
|---|---|---|
addLine(page, x1, y1, x2, y2, opts?) |
koncové body čiary | id |
addRect(page, x, y, w, h, opts?) |
ľavý dolný roh + veľkosť | id |
addCircle(page, x, y, w, h, opts?) |
bounding box | id |
addCheckbox(page, x, y, w, h, opts?) |
zaškrtávacie políčko (rámik + fajka) | id |
addPolygon(page, points, opts?) |
points = [x1,y1, x2,y2, …] |
id |
addText(page, x, y, w, h, text, opts?) |
text v rámci boxu | id |
addImage(page, x, y, w, h, source, opts?) |
obrázok v rámci boxu | id |
addWatermark(page, x, y, w, h, text, opts?) |
dvojfarebný čitateľný kód | id |
addCheckbox extra opts: checked (bool, default true).
addText extra opts: fontFamily, fontSizePt, bold, italic,
align ("left"/"center"/"right").
addImage source: cesta k súboru (PNG/JPEG/…) alebo base64 string (voliteľne s
prefixom data:image/…;base64,).
addWatermark vloží text ako dvojfarebný vzor s korekciou chýb, ktorý prežije
tlač aj sken. opts:
| Kľúč | Význam |
|---|---|
shape |
"block" (súvislá mozaika) alebo "frame" (farebný čiarový kód po obvode, s finder štvorcami v rohoch) |
ec |
korekcia chýb "L"/"M"/"Q"/"H" |
colorA |
farba pozadia |
colorB |
farba paličiek |
barWidth |
veľkosť paličky/modulu v mm (napr. 0.8) |
wallMm |
hrúbka obvodového pásu, len frame |
colorA/colorB sú fill/stroke tvaru, takže ich vieš zmeniť aj cez setShapeFill /
setShapeStroke. Watermark prečítaš cez readWatermark(page) (logicky) alebo
imposio.readWatermarkImage(path, opts) (z vyrenderovaného/naskenovaného obrázka).
| Metóda | Popis |
|---|---|
clearLayer(page) |
Odstráni všetky tvary na strane. |
shapeCount(page) |
Počet tvarov na strane. |
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" });
Inšpekcia tvarov¶
| Metóda | Vracia |
|---|---|
shapeIds(page) |
Pole ID tvarov v poradí kreslenia. |
shapeProps(page, id) |
{ id, type, x, y, w, h, rotation, skew, opacity, stroke, fill, widthPt, filled, locked, hidden, flipX, flipY, text } (x,y = ľavý dolný roh bboxu; farby "#aarrggbb" alebo "none"). |
shapeVisualBBox(page, id) |
Tesný bbox zohľadňujúci rotáciu/skew { x, y, w, h }. |
Úprava tvarov (podľa ID)¶
Všetky vracajú false, ak tvar neexistuje.
| Metóda | Popis |
|---|---|
setShapeRotation(page, id, deg) |
Nastaví absolútnu rotáciu. |
rotateShape(page, id, deltaDeg) |
Pripočíta k rotácii. |
moveShape(page, id, dx, dy) |
Posunie o offset. |
setShapePos(page, id, x, y) |
Nastaví pozíciu ľavého dolného rohu. |
setShapeSize(page, id, w, h) |
Nastaví veľkosť. |
setShapeStroke(page, id, color, widthPt?) |
Nastaví farbu ťahu (a voliteľne hrúbku). |
setShapeFill(page, id, color) |
Nastaví farbu výplne. |
setShapeOpacity(page, id, opacity) |
0–1. |
setShapeChecked(page, id, checked) |
Zaškrtne/odškrtne (len checkbox tvary). |
flipShape(page, id, axis) |
"h" alebo "v". |
setShapeLocked(page, id, locked) |
Zamkne/odomkne. |
setShapeHidden(page, id, hidden) |
Zobrazí/skryje. |
removeShape(page, id) |
Zmaže tvar. |
Skupinové operácie¶
Pracujú s viacerými tvarmi naraz. ids je JS pole (alebo jedno číslo).
| Metóda | Popis |
|---|---|
rotateShapes(page, ids, deltaDeg) |
Otočí skupinu okolo spoločného stredu. |
alignShapes(page, ids, mode, opts?) |
mode: left, hcenter, right, top, middle, bottom. opts.toPage zarovná voči strane (predvolené: voči spoločnému bboxu, vyžaduje ≥2 tvary). |
distributeShapes(page, ids, axis) |
axis "h"/"v" (vyžaduje ≥3 tvary). |
flipShapes(page, ids, axis) |
"h"/"v". |
Uloženie a načítanie vrstiev¶
| Metóda | Popis |
|---|---|
saveLayer(page, path) |
Uloží editovaciu vrstvu strany do .imv súboru (rovnaký JSON ako GUI). |
loadLayer(page, path, opts?) |
Načíta .imv do strany. opts.mode: "replace" (predvolené) alebo "append". |