Capa de edición (formas)¶
Dibuja y manipula formas vectoriales, texto e imágenes en la capa de edición de una
página. Las coordenadas están en la unidad actual, en coordenadas PDF (origen en la
esquina inferior izquierda, Y sube). Los colores son "#rrggbb" o "none".
Los métodos add* devuelven un ID de forma entero usado por las operaciones por ID
a continuación.
Opciones comunes de forma¶
La mayoría de los métodos add* aceptan un objeto opts opcional:
| Clave | Tipo | Notas |
|---|---|---|
stroke |
string | "#rrggbb" o "none" |
fill |
string | "#rrggbb" o "none" |
widthPt |
number | Grosor de trazo en puntos |
opacity |
number | 0–1 |
rotation |
number | Grados |
Añadir formas¶
| Método | Parámetros | Devuelve |
|---|---|---|
addLine(page, x1, y1, x2, y2, opts?) |
extremos de línea | id |
addRect(page, x, y, w, h, opts?) |
esquina inferior izquierda + tamaño | id |
addCircle(page, x, y, w, h, opts?) |
bounding box | id |
addCheckbox(page, x, y, w, h, opts?) |
casilla de verificación (marco + marca) | id |
addPolygon(page, points, opts?) |
points = [x1,y1, x2,y2, …] |
id |
addText(page, x, y, w, h, text, opts?) |
texto en un marco | id |
addImage(page, x, y, w, h, source, opts?) |
imagen en un marco | id |
addWatermark(page, x, y, w, h, text, opts?) |
código legible de dos colores | id |
opts extra de addCheckbox: checked (bool, predeterminado true).
Opciones adicionales de addText: fontFamily, fontSizePt, bold, italic,
align ("left"/"center"/"right").
source de addImage: ruta de archivo (PNG/JPEG/…) o cadena base64
(opcionalmente con prefijo data:image/…;base64,).
addWatermark incrusta text como un patrón de dos colores con corrección de
errores que sobrevive a la impresión y al escaneo. opts:
| Clave | Significado |
|---|---|
shape |
"block" (mosaico sólido) o "frame" (código de barras en color a lo largo del borde, con cuadrados localizadores en las esquinas) |
ec |
corrección de errores "L"/"M"/"Q"/"H" |
colorA |
color de fondo |
colorB |
color de las barras |
barWidth |
tamaño de barra/módulo en mm (p. ej. 0.8) |
wallMm |
grosor de la banda del borde, solo frame |
colorA/colorB son el relleno/trazo de la forma, así que también se cambian con
setShapeFill / setShapeStroke. Un watermark se relee con readWatermark(page)
(lógico) o imposio.readWatermarkImage(path, opts) (desde una imagen renderizada/escaneada).
| Método | Descripción |
|---|---|
clearLayer(page) |
Elimina todas las formas de la página. |
shapeCount(page) |
Número de formas en la página. |
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" });
Inspeccionar formas¶
| Método | Devuelve |
|---|---|
shapeIds(page) |
Array de IDs de forma en orden de dibujo. |
shapeProps(page, id) |
{ id, type, x, y, w, h, rotation, skew, opacity, stroke, fill, widthPt, filled, locked, hidden, flipX, flipY, text } (x,y = esquina inferior izquierda del bbox; colores "#aarrggbb" o "none"). |
shapeVisualBBox(page, id) |
Bbox ajustado que tiene en cuenta la rotación/inclinación { x, y, w, h }. |
Modificar formas (por ID)¶
Todas devuelven false si la forma no existe.
| Método | Descripción |
|---|---|
setShapeRotation(page, id, deg) |
Establece la rotación absoluta. |
rotateShape(page, id, deltaDeg) |
Añade a la rotación. |
moveShape(page, id, dx, dy) |
Mueve con un desplazamiento. |
setShapePos(page, id, x, y) |
Establece la posición de la esquina inferior izquierda. |
setShapeSize(page, id, w, h) |
Establece el tamaño. |
setShapeStroke(page, id, color, widthPt?) |
Establece el color de trazo (y el grosor opcionalmente). |
setShapeFill(page, id, color) |
Establece el color de relleno. |
setShapeOpacity(page, id, opacity) |
0–1. |
setShapeChecked(page, id, checked) |
Marca/desmarca (solo formas casilla). |
flipShape(page, id, axis) |
"h" o "v". |
setShapeLocked(page, id, locked) |
Bloquea/desbloquea. |
setShapeHidden(page, id, hidden) |
Muestra/oculta. |
removeShape(page, id) |
Elimina la forma. |
Operaciones de grupo¶
Actúan sobre varias formas a la vez. ids es un array JS (o un único número).
| Método | Descripción |
|---|---|
rotateShapes(page, ids, deltaDeg) |
Rota el grupo alrededor de su centro común. |
alignShapes(page, ids, mode, opts?) |
mode: left, hcenter, right, top, middle, bottom. opts.toPage alinea con la página (predeterminado: con el bbox combinado, requiere ≥2 formas). |
distributeShapes(page, ids, axis) |
axis "h"/"v" (requiere ≥3 formas). |
flipShapes(page, ids, axis) |
"h"/"v". |
Guardar y cargar capas¶
| Método | Descripción |
|---|---|
saveLayer(page, path) |
Guarda la capa de edición de la página en un archivo .imv (mismo JSON que la interfaz). |
loadLayer(page, path, opts?) |
Carga un .imv en la página. opts.mode: "replace" (predeterminado) o "append". |