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)