+++ title = "Métodos" weight = 2 +++ ### new Crear nuevo documento, la aplicación predeterminada es Calc. ```python doc = app.docs.new() app.debug(doc.type) ``` Para un nuevo documento `writer`. ```python doc = app.docs.new('writer') app.debug(doc.type) ``` Otros documentos. ```python doc = app.docs.new('draw') app.debug(doc.type) doc = app.docs.new('impress') app.debug(doc.type) doc = app.docs.new('math') app.debug(doc.type) ``` Crear con argumentos. ```python propiedades = {'Hidden': True} doc = app.docs.new('writer', propiedades) mensaje = f'{doc.type} - {doc.title}' app.msgbox(mensaje) doc.visible = True ``` {{% notice tip %}} No es necesario que el documento este visible para manipularse. {{% /notice %}} ### open Abrir archivos. ```python ruta = '/home/mau/Mi_archivo.ods' doc = app.docs.open(ruta) ``` {{% notice tip %}} No es necesario pasar las rutas en formato URL. {{% /notice %}} Puede abrir cualquier archivo que sea soportado por LibreOffice. ```python ruta = '/home/mau/ejemplo.xlsx' doc = app.docs.open(ruta) ``` Abrir con argumentos. ```python ruta = '/home/mau/ejemplo.ods' argumentos = {'Password': 'siscaloburropanzon'} doc = app.docs.open(ruta, argumentos) ``` ### save Guardar un nuevo documento. ```python path = '/home/mau/nuevo_documento.ods' doc = app.docs.new() doc.save(path) ``` Cualquier archivo, previamente guardado, que sea modificado puede ser guardado con: ```python doc.save() ``` Abrir un archivo existente y guardarlo con otro nombre. ```python ruta = '/home/mau/ejemplo.ods' doc = app.docs.open(ruta) nueva_ruta = '/home/mau/otro_nombre.ods' doc.save(nueva_ruta) ``` ### close Cerrar un archivo. ```python doc = app.docs.new() app.msgbox(doc.title) doc.close() ``` ### to_pdf Exportar a PDF. ```python doc = app.active ruta = '/home/mau/ejemplo.pdf' doc.to_pdf(ruta) ``` Si no se establece una ruta, se devuelve el PDF en memoria. ```python doc = app.active pdf = doc.to_pdf() app.debug(pdf) ``` Mire las [opciones del filtro de exportación a PDF][1], puede pasarlas como un diccionario como segundo argumento de este método. ### export Exportar a otros formatos. ```python doc = app.docs.new() ruta = '/home/mau/miarchivo.xlsx' filtro = 'xlsx' doc.export(ruta, filtro) ruta = '/home/mau/miarchivo.xls' filtro = 'xls' doc.export(ruta, filtro) doc = app.docs.new('writer') ruta = '/home/mau/miarchivo.docx' filtro = 'docx' doc.export(ruta, filtro) ruta = '/home/mau/miarchivo.doc' filtro = 'doc' doc.export(ruta, filtro) ruta = '/home/mau/miarchivo.rtf' filtro = 'rtf' doc.export(ruta, filtro) ``` Exportar en memoria. ```python doc = app.docs.new() filtro = 'xlsx' excel_doc = doc.export(filter_name=filtro) ``` ### set_focus Enviar el foco al documento. ```python for doc in app.docs: app.debug(doc.title) doc.set_focus() app.sleep(1) ``` ### copy Copiar la selección activa al portapapeles. ```python doc = app.active doc.copy() ``` ### paste Copiar el contenido del portapapeles, en la selección actual. ```python doc = app.active doc.paste() ``` ### paste_special Mostrar el cuadro de diálogo `Pegado Especial`. {{% notice tip %}} Solo se mostrará si existe contenido en el portapapeles. {{% /notice %}} ```python doc = app.active doc.paste_special() ``` ### paste_values Pegar solo los valores. ```python doc = app.active doc.paste_values() ``` Si el destino no esta vacío, el usuario verá el cuadro de mensaje de confirmación. ### clear_undo La mayoría de las acciones realizadas por código, quedan en el historial de acciones, por lo que el usuario puede deshacerlas. Para eviar esto se puede limpiar este historial. ```python doc = app.active doc.clear_undo() ``` [1]: https://wiki.documentfoundation.org/Macros/Python_Guide/PDF_export_filter_data