Editační vrstva (tvary)¶
Kreslení a manipulace vektorových tvarů, textu a obrázků na editační vrstvě strany.
Souřadnice jsou v aktuální jednotce, PDF souřadnice (počátek vlevo dole, Y nahoru). Barvy
jsou "#rrggbb" nebo "none".
Metody add* vracejí celočíselné ID tvaru, které používají operace podle ID níže.
Společné možnosti tvarů¶
Většina add* metod bere volitelný objekt opts:
| Klíč | Typ | Poznámky |
|---|---|---|
stroke |
string | "#rrggbb" nebo "none" |
fill |
string | "#rrggbb" nebo "none" |
widthPt |
number | Tloušťka tahu v bodech |
opacity |
number | 0–1 |
rotation |
number | Stupně |
Přidávání tvarů¶
| Metoda | Parametry | Vrací |
|---|---|---|
addLine(page, x1, y1, x2, y2, opts?) |
koncové body čáry | id |
addRect(page, x, y, w, h, opts?) |
levý dolní roh + velikost | id |
addCircle(page, x, y, w, h, opts?) |
bounding box | id |
addCheckbox(page, x, y, w, h, opts?) |
zaškrtávací políčko (rámeček + fajfka) | 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ázek v rámci boxu | id |
addWatermark(page, x, y, w, h, text, opts?) |
dvoubarevný čitelný kód | id |
addCheckbox extra opts: checked (bool, výchozí true).
addText extra opts: fontFamily, fontSizePt, bold, italic,
align ("left"/"center"/"right").
addImage source: cesta k souboru (PNG/JPEG/…) nebo base64 string (volitelně s
prefixem data:image/…;base64,).
addWatermark vloží text jako dvoubarevný vzor s korekcí chyb, který přežije
tisk i sken. opts:
| Klíč | Význam |
|---|---|
shape |
"block" (souvislá mozaika) nebo "frame" (barevný čárový kód po obvodu, s finder čtverci v rozích) |
ec |
korekce chyb "L"/"M"/"Q"/"H" |
colorA |
barva pozadí |
colorB |
barva čárek |
barWidth |
velikost čárky/modulu v mm (např. 0.8) |
wallMm |
tloušťka obvodového pásu, jen frame |
colorA/colorB jsou fill/stroke tvaru, takže je můžeš změnit i přes setShapeFill /
setShapeStroke. Watermark přečteš přes readWatermark(page) (logicky) nebo
imposio.readWatermarkImage(path, opts) (z vyrenderovaného/naskenovaného obrázku).
| Metoda | Popis |
|---|---|
clearLayer(page) |
Odstraní všechny tvary na straně. |
shapeCount(page) |
Počet tvarů na straně. |
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" });
Inspekce tvarů¶
| Metoda | Vrací |
|---|---|
shapeIds(page) |
Pole ID tvarů v pořadí kreslení. |
shapeProps(page, id) |
{ id, type, x, y, w, h, rotation, skew, opacity, stroke, fill, widthPt, filled, locked, hidden, flipX, flipY, text } (x,y = levý dolní roh bboxu; barvy "#aarrggbb" nebo "none"). |
shapeVisualBBox(page, id) |
Těsný bbox zohledňující rotaci/skew { x, y, w, h }. |
Úprava tvarů (podle ID)¶
Všechny vracejí false, pokud tvar neexistuje.
| Metoda | Popis |
|---|---|
setShapeRotation(page, id, deg) |
Nastaví absolutní rotaci. |
rotateShape(page, id, deltaDeg) |
Přičte k rotaci. |
moveShape(page, id, dx, dy) |
Posune o offset. |
setShapePos(page, id, x, y) |
Nastaví pozici levého dolního rohu. |
setShapeSize(page, id, w, h) |
Nastaví velikost. |
setShapeStroke(page, id, color, widthPt?) |
Nastaví barvu tahu (a volitelně tloušťku). |
setShapeFill(page, id, color) |
Nastaví barvu výplně. |
setShapeOpacity(page, id, opacity) |
0–1. |
setShapeChecked(page, id, checked) |
Zaškrtne/odškrtne (jen checkbox tvary). |
flipShape(page, id, axis) |
"h" nebo "v". |
setShapeLocked(page, id, locked) |
Zamkne/odemkne. |
setShapeHidden(page, id, hidden) |
Zobrazí/skryje. |
removeShape(page, id) |
Smaže tvar. |
Skupinové operace¶
Pracují s více tvary najednou. ids je JS pole (nebo jedno číslo).
| Metoda | Popis |
|---|---|
rotateShapes(page, ids, deltaDeg) |
Otočí skupinu kolem společného středu. |
alignShapes(page, ids, mode, opts?) |
mode: left, hcenter, right, top, middle, bottom. opts.toPage zarovná vůči straně (výchozí: vůči společ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žení a načtení vrstev¶
| Metoda | Popis |
|---|---|
saveLayer(page, path) |
Uloží editační vrstvu strany do .imv souboru (stejný JSON jako GUI). |
loadLayer(page, path, opts?) |
Načte .imv do strany. opts.mode: "replace" (výchozí) nebo "append". |