Formas y texto
Slides usa el motor Shape compartido para formas, conectores y texto editables. FSlide.insertShape() devuelve una Facade de forma respaldada por la canalización de comandos de Slides.
Insertar una forma
const slide = univerAPI.getActivePresentation()?.getActiveSlide()if (!slide) { throw new Error('No active slide')}const shape = slide.insertShape({ shapeType: univerAPI.Enum.ShapeTypeEnum.RoundRect, transform: { left: 80, top: 64, width: 320, height: 120 }, visible: true, selectable: true, shapeData: { fill: { fillType: univerAPI.Enum.ShapeFillEnum.SolidFill, color: '#dbeafe', }, },})insertShape() puede devolver null cuando el adaptador Shape no está disponible o no puede crear la entrada. Registre las dependencias Shape de la configuración de Slides antes de insertar formas.
Añadir texto enriquecido
if (shape) { const richText = univerAPI.newRichText() .text('Quarterly ') .bold('review') shape.getText() .setRichText(richText) .setHorizontalAlign(univerAPI.Enum.HorizontalAlign.CENTER) .setVerticalAlign(univerAPI.Enum.VerticalAlign.MIDDLE)}Use slide.getShape(id) o slide.getShapes() para recuperar formas. Los métodos comunes actualizan posición, tamaño, visibilidad, nombre y descripción; slide.deleteElement(shape) elimina la forma.
Editar el texto de una forma
Utiliza la forma devuelta por insertShape() a continuación o en el ejemplo anterior. getText() devuelve un objeto FShapeText activo. Lee el texto con getPlainText(), reemplázalo por completo con setText() y configura la fuente, el color y la alineación.
if (!shape) throw new Error('Shape is not available')const shapeText = shape.getText()console.log(shapeText.getPlainText())shapeText .setText('Quarterly review') .setFontSize(18) .setColor('#2563eb') .setBold(true) .setHorizontalAlign(univerAPI.Enum.HorizontalAlign.CENTER) .setVerticalAlign(univerAPI.Enum.VerticalAlign.MIDDLE)setText() reemplaza el texto existente. Utiliza setRichText() para combinar varios estilos. Para editar texto enriquecido existente, llama a getRichText()?.copy(), modifica el constructor y pásalo a setRichText(). Los cambios del constructor no se aplican automáticamente. Consulta también los estilos de texto y los márgenes y la disposición del cuadro de texto.
const richText = univerAPI.newRichText() .text('Quarterly ') .bold('review')shapeText.setRichText(richText)Copiar formato de formas
Selecciona la forma original, activa el pincel y elige la forma de destino. Se copian relleno, contorno, efectos y formato de texto compatible, conservando identidad, geometría, contenido y vínculos de fórmulas del destino. Borrar formato restaura los valores de inserción. SmartArt queda excluido. El plugin UI correspondiente registra esta función automáticamente.
¿Cómo es esta guía?