# LibreOffice

### fonts

Devolver todas las fuentes visibles en LibreOffice. Mire FontDescriptor

    fonts = app.fonts()
    for f in fonts:
        app.debug(f'Nombre: {f.Name} - Estilo: {f.StyleName}')

### filters

Devolver todos los filtros soportados en LibreOffice. Mire la ayuda y en API FilterFactory para más detalles.

    filtros = app.filters()
    for f in filtros:
        info = f"Nombre UI: {f['UIName']} - Nombre: {f['Name']} - Tipo: {f['Type']}"
        app.debug(info)

### dispatch

Ejecutar cualquier comando `UNO` de LibreOffice, mire la lista de comandos y API dispatch.

Este método automáticamente agrega el prefijo necesario: `.uno:`

    doc = app.active
    comando = 'Gallery'
    app.dispatch(doc, comando)

Use este método solamente si no hay un método equivalente en `easymacro` o directamente en el API de LibreOffice.

### clipboard

Envíar contenido al portapapeles.

    app.clipboard.set('Los 7 samuráis')

Recuperar contenido del portapapeles.

    content = app.clipboard.get()
    app.debug(content)

### disable

Deshabilitar un comando. Para una lista de comandos mire DispatchCommands.

    comando = 'OpenFromCalc'
    resultado = app.cmd.disable(comando)
    app.debug(resultado)

`OpenFromCalc` es la opción para abrir documentos en Calc, deshabilita o habilita la entrada del menú y el icono en la barra de herramientas.

### enabled

Habilitar un comando.

    comando = 'OpenFromCalc'
    resultado = app.cmd.enabled(comando)
    app.debug(resultado)

### get_config

Obtener valores de la configuración de LibreOffice.

    nombre_node = '/org.openoffice.Office.Common/Help'
    clave = 'System'
    valor = app.get_config(nombre_node, clave)
    app.debug(valor)

    nombre_node = '/org.openoffice.Office.Common/Misc/'
    clave = 'FirstRun'
    valor = app.get_config(nombre_node, clave)
    app.debug(valor)

    clave = 'UseSystemFileDialog'
    valor = app.get_config(nombre_node, clave)
    app.debug(valor)

    17/08/2022 14:14:12 - DEBUG - UNIX
    17/08/2022 14:14:12 - DEBUG - False
    17/08/2022 14:14:12 - DEBUG - True

### set_config

Establece un nuevo valor en la configuración de LibreOffice.

    nombre_nodo = '/org.openoffice.Office.UI/ColorScheme'
    clave = 'CurrentColorScheme'
    nuevo_valor = 'LibreOffice Dark'
    resultado = app.set_config(nombre_nodo, clave, nuevo_valor)
    app.debug(resultado)

Algunos nodos y claves interesantes:

- `/org.openoffice.Office.Common/Save/Document`
  - AutoSave
  - AutoSaveTimeIntervall

No todos los valores de los nodos se pueden cambiar, algunos valores son de solo lectura.