+++ title = "LibreOffice" weight = 4 +++ ### fonts Devolver todas las fuentes visibles en LibreOffice. Mire [FontDescriptor][1] ```python 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][2] y en [API FilterFactory][3] para más detalles. ```python 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][4] y [API dispatch][5]. Este método automáticamente agrega el prefijo necesario: `.uno:` ```python doc = app.active comando = 'Gallery' app.dispatch(doc, comando) ``` {{% notice tip %}} Use este método solamente si no hay un método equivalente en `easymacro` o directamente en el API de LibreOffice. {{% /notice %}} ### clipboard Envíar contenido al portapapeles. ```python app.clipboard.set('Los 7 samuráis') ``` Recuperar contenido del portapapeles. ```python content = app.clipboard.get() app.debug(content) ``` ### disable Deshabilitar un comando. Para una lista de comandos mire [DispatchCommands][4]. ```python 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. ```python comando = 'OpenFromCalc' resultado = app.cmd.enabled(comando) app.debug(resultado) ``` ### get_config Obtener valores de la configuración de LibreOffice. ```python 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. ```python 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 {{% notice warning %}} No todos los valores de los nodos se pueden cambiar, algunos valores son de solo lectura. {{% /notice %}} [1]: https://api.libreoffice.org/docs/idl/ref/structcom_1_1sun_1_1star_1_1awt_1_1FontDescriptor.html [2]: https://help.libreoffice.org/latest/en-US/text/shared/guide/convertfilters.html [3]: https://api.libreoffice.org/docs/idl/ref/servicecom_1_1sun_1_1star_1_1document_1_1FilterFactory.html [4]: https://wiki.documentfoundation.org/Development/DispatchCommands [5]: https://api.libreoffice.org/docs/idl/ref/interfacecom_1_1sun_1_1star_1_1frame_1_1XDispatch.html#a42beb1ea2ddae35c076b6e65867025ea