Livello di modifica (forme)¶
Disegna e manipola forme vettoriali, testo e immagini sul livello di modifica di una pagina.
Le coordinate sono nell'unità corrente, in coordinate PDF (origine in basso a sinistra,
Y verso l'alto). I colori sono "#rrggbb" o "none".
I metodi add* restituiscono un ID forma intero usato dalle operazioni per ID qui sotto.
Opzioni comuni delle forme¶
La maggior parte dei metodi add* accetta un oggetto opts opzionale:
| Chiave | Tipo | Note |
|---|---|---|
stroke |
string | "#rrggbb" o "none" |
fill |
string | "#rrggbb" o "none" |
widthPt |
number | Spessore del tratto in punti |
opacity |
number | 0–1 |
rotation |
number | Gradi |
Aggiungere forme¶
| Metodo | Parametri | Restituisce |
|---|---|---|
addLine(page, x1, y1, x2, y2, opts?) |
estremi della linea | id |
addRect(page, x, y, w, h, opts?) |
angolo in basso a sinistra + dimensioni | id |
addCircle(page, x, y, w, h, opts?) |
bounding box | id |
addCheckbox(page, x, y, w, h, opts?) |
casella di controllo (cornice + segno di spunta) | id |
addPolygon(page, points, opts?) |
points = [x1,y1, x2,y2, …] |
id |
addText(page, x, y, w, h, text, opts?) |
testo in una cornice | id |
addImage(page, x, y, w, h, source, opts?) |
immagine in una cornice | id |
addWatermark(page, x, y, w, h, text, opts?) |
codice leggibile bicolore | id |
opts extra di addCheckbox: checked (bool, default true).
Opzioni aggiuntive addText: fontFamily, fontSizePt, bold, italic,
align ("left"/"center"/"right").
source di addImage: un percorso file (PNG/JPEG/…) oppure una stringa base64
(eventualmente con prefisso data:image/…;base64,).
addWatermark incorpora text come motivo bicolore con correzione d'errore, che
sopravvive a stampa e scansione. opts:
| Chiave | Significato |
|---|---|
shape |
"block" (mosaico pieno) o "frame" (codice a barre a colori lungo il bordo, con quadrati di ricerca negli angoli) |
ec |
correzione d'errore "L"/"M"/"Q"/"H" |
colorA |
colore di sfondo |
colorB |
colore delle barre |
barWidth |
dimensione barra/modulo in mm (es. 0.8) |
wallMm |
spessore della banda del bordo, solo frame |
colorA/colorB sono riempimento/contorno della forma, quindi modificabili anche con
setShapeFill / setShapeStroke. Un watermark si rilegge con readWatermark(page)
(logico) o imposio.readWatermarkImage(path, opts) (da un'immagine renderizzata/scansionata).
| Metodo | Descrizione |
|---|---|
clearLayer(page) |
Rimuove tutte le forme dalla pagina. |
shapeCount(page) |
Numero di forme sulla pagina. |
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" });
Ispezionare le forme¶
| Metodo | Restituisce |
|---|---|
shapeIds(page) |
Array degli ID forma nell'ordine di disegno. |
shapeProps(page, id) |
{ id, type, x, y, w, h, rotation, skew, opacity, stroke, fill, widthPt, filled, locked, hidden, flipX, flipY, text } (x,y = angolo in basso a sinistra della bbox; colori "#aarrggbb" o "none"). |
shapeVisualBBox(page, id) |
Bbox stretta che tiene conto di rotazione/inclinazione { x, y, w, h }. |
Modificare le forme (per ID)¶
Tutte restituiscono false se la forma non esiste.
| Metodo | Descrizione |
|---|---|
setShapeRotation(page, id, deg) |
Imposta la rotazione assoluta. |
rotateShape(page, id, deltaDeg) |
Aggiunge alla rotazione. |
moveShape(page, id, dx, dy) |
Sposta di un offset. |
setShapePos(page, id, x, y) |
Imposta la posizione dell'angolo in basso a sinistra. |
setShapeSize(page, id, w, h) |
Imposta le dimensioni. |
setShapeStroke(page, id, color, widthPt?) |
Imposta il colore del tratto (e lo spessore facoltativamente). |
setShapeFill(page, id, color) |
Imposta il colore di riempimento. |
setShapeOpacity(page, id, opacity) |
0–1. |
setShapeChecked(page, id, checked) |
Spunta/toglie la spunta (solo forme casella). |
flipShape(page, id, axis) |
"h" o "v". |
setShapeLocked(page, id, locked) |
Blocca/sblocca. |
setShapeHidden(page, id, hidden) |
Mostra/nasconde. |
removeShape(page, id) |
Rimuove la forma. |
Operazioni di gruppo¶
Agiscono su più forme contemporaneamente. ids è un array JS (o un singolo numero).
| Metodo | Descrizione |
|---|---|
rotateShapes(page, ids, deltaDeg) |
Ruota il gruppo attorno al suo centro comune. |
alignShapes(page, ids, mode, opts?) |
mode: left, hcenter, right, top, middle, bottom. opts.toPage allinea alla pagina (predefinito: alla bbox combinata, richiede ≥2 forme). |
distributeShapes(page, ids, axis) |
axis "h"/"v" (richiede ≥3 forme). |
flipShapes(page, ids, axis) |
"h"/"v". |
Salvare e caricare livelli¶
| Metodo | Descrizione |
|---|---|
saveLayer(page, path) |
Salva il livello di modifica della pagina in un file .imv (stesso JSON dell'interfaccia). |
loadLayer(page, path, opts?) |
Carica un .imv nella pagina. opts.mode: "replace" (predefinito) o "append". |