Aller au contenu

Calque d'édition (formes)

Dessinez et manipulez formes vectorielles, texte et images sur le calque d'édition d'une page. Les coordonnées sont dans l'unité courante, en coordonnées PDF (origine en bas à gauche, Y vers le haut). Les couleurs sont "#rrggbb" ou "none".

Les méthodes add* renvoient un ID de forme entier utilisé par les opérations par ID ci-dessous.

Options de forme communes

La plupart des méthodes add* prennent un objet opts optionnel :

Clé Type Notes
stroke string "#rrggbb" ou "none"
fill string "#rrggbb" ou "none"
widthPt number Épaisseur de trait en points
opacity number 01
rotation number Degrés

Ajouter des formes

Méthode Paramètres Renvoie
addLine(page, x1, y1, x2, y2, opts?) extrémités de ligne id
addRect(page, x, y, w, h, opts?) coin bas-gauche + taille id
addCircle(page, x, y, w, h, opts?) boîte englobante id
addCheckbox(page, x, y, w, h, opts?) case à cocher (cadre + coche) id
addPolygon(page, points, opts?) points = [x1,y1, x2,y2, …] id
addText(page, x, y, w, h, text, opts?) texte dans une boîte id
addImage(page, x, y, w, h, source, opts?) image dans une boîte id
addWatermark(page, x, y, w, h, text, opts?) code bicolore lisible id

opts supplémentaires d'addCheckbox : checked (bool, défaut true).

addText opts supplémentaires : fontFamily, fontSizePt, bold, italic, align ("left"/"center"/"right").

addImage source : un chemin de fichier (PNG/JPEG/…) ou une chaîne base64 (éventuellement avec un préfixe data:image/…;base64,).

addWatermark intègre text sous forme de motif bicolore avec correction d'erreurs, qui survit à l'impression et au scan. opts :

Clé Signification
shape "block" (mosaïque pleine) ou "frame" (code-barres en couleur le long du bord, avec carrés de repérage dans les coins)
ec correction d'erreurs "L"/"M"/"Q"/"H"
colorA couleur de fond
colorB couleur des barres
barWidth taille de barre/module en mm (p. ex. 0.8)
wallMm épaisseur de la bande de bordure, frame uniquement

colorA/colorB sont le remplissage/contour de la forme, donc modifiables aussi via setShapeFill / setShapeStroke. On relit un watermark avec readWatermark(page) (logique) ou imposio.readWatermarkImage(path, opts) (depuis une image rendue/scannée).

Méthode Description
clearLayer(page) Supprime toutes les formes de la page.
shapeCount(page) Nombre de formes sur la page.
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" });

Inspecter les formes

Méthode Renvoie
shapeIds(page) Tableau des ID de formes dans l'ordre de tracé.
shapeProps(page, id) { id, type, x, y, w, h, rotation, skew, opacity, stroke, fill, widthPt, filled, locked, hidden, flipX, flipY, text } (x,y = coin bas-gauche de la bbox ; couleurs "#aarrggbb" ou "none").
shapeVisualBBox(page, id) Bbox serrée tenant compte de la rotation/cisaillement { x, y, w, h }.

Modifier les formes (par ID)

Toutes renvoient false si la forme n'existe pas.

Méthode Description
setShapeRotation(page, id, deg) Définit la rotation absolue.
rotateShape(page, id, deltaDeg) Ajoute à la rotation.
moveShape(page, id, dx, dy) Déplace d'un décalage.
setShapePos(page, id, x, y) Définit la position du coin bas-gauche.
setShapeSize(page, id, w, h) Définit la taille.
setShapeStroke(page, id, color, widthPt?) Définit la couleur de trait (et l'épaisseur en option).
setShapeFill(page, id, color) Définit la couleur de remplissage.
setShapeOpacity(page, id, opacity) 01.
setShapeChecked(page, id, checked) Coche/décoche (formes case à cocher seulement).
flipShape(page, id, axis) "h" ou "v".
setShapeLocked(page, id, locked) Verrouille/déverrouille.
setShapeHidden(page, id, hidden) Affiche/masque.
removeShape(page, id) Supprime la forme.

Opérations de groupe

Agissent sur plusieurs formes à la fois. ids est un tableau JS (ou un seul nombre).

Méthode Description
rotateShapes(page, ids, deltaDeg) Tourne le groupe autour de son centre commun.
alignShapes(page, ids, mode, opts?) mode : left, hcenter, right, top, middle, bottom. opts.toPage aligne sur la page (défaut : sur la bbox combinée, requiert ≥2 formes).
distributeShapes(page, ids, axis) axis "h"/"v" (requiert ≥3 formes).
flipShapes(page, ids, axis) "h"/"v".

Enregistrer et charger des calques

Méthode Description
saveLayer(page, path) Enregistre le calque d'édition de la page dans un fichier .imv (même JSON que l'interface).
loadLayer(page, path, opts?) Charge un .imv dans la page. opts.mode : "replace" (défaut) ou "append".