Vai al contenuto

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