easymacro/docs/es/docs/dp/shapes.md

2.6 KiB

Propiedades

Todas las unidades en milésimas de centímetro.


anchor

Anclaje de la forma, por default se agrega a la página.

Anclaje a una celda

    celda = hoja['A1']
    forma.anchor = celda

height

Alto de la forma.

    forma.height = 2000

name

Devuelve o establece el nombre de la forma.

    app.debug(forma.name)
    forma.name = 'otro_rectangulo'
    app.debug(forma.name)

obj

Solo lectura. Devuelve el objeto original pyUNO.

    objeto = forma.obj

possize

Devuelve o establece la posición y el tamaño de la forma.

    posicion_y_tamaño = dict(
        Width = 5000,
        Height = 2000,
        X = 3000,
        Y = 1000,
    )
    forma.possize = posicion_y_tamaño

properties

Devuelve un diccionario con todas las propiedades de la forma.

    for p, v in forma.properties.items():
        app.debug(f'{p} = {v}')

Al establecer solo aplica las que se pasen en un diccionario.

    propiedades = dict(
        LineColor = app.color('red'),
        LineWidth = 100,
    )
    forma.properties = propiedades

!!! tip "Atención"

Aquí hay que usar los nombres "originales" de las propiedades de la forma en el API de LibreOffice.

resize_with_cell

Si el tamaño de la forma cambia con la celda, solo cuando el anclaje es a una celda.

    forma.resize_with_cell = True

shape_type

Solo lectura. Devuelve el tipo de forma.

    app.debug(forma.shape_type)
24/04/2023 13:55:32 - DEBUG - com.sun.star.drawing.RectangleShape

width

Ancho de la forma.

    forma.width = 6000

x

Posición en el eje X.

    forma.x = 5000

y

Posición en el eje Y.

    forma.y = 1000

Métodos


clone

Clona la imagen en la misma hoja.

    imagen.clone()

Clona la imagen en otra hoja.

    imagen.clone(doc['Hoja5'].draw_page)

remove

Eliminar la forma.

    forma.remove()

save

Guarda la imagen en disco. Si no se pasa ningún argumento, toma la ruta del documento y el nombre de la imagen.

!!! tip inline end "Atención"

El documento ya debe estar guardado
    imagen.save()

Podemos pasar una ruta diferente, seguira tomando el nombre de la imagen.

    ruta = '/home/elmau/imagenes'
    imagen.save(ruta)

Podemos cambiar el nombre.

    ruta = '/home/elmau/imagenes'
    name = f'{hoja.name}_nuevo_nombre'
    imagen.save(path, name)