Přeskočit obsah

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 01
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) 01.
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".