Saltar a contenido

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