4.2 KiB
Métodos comúnes a todos los documentos.
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 evitar esto se puede limpiar este historial.
doc = app.active
doc.clear_undo()
close
Cerrar un archivo.
doc = app.docs.new()
app.msgbox(doc.title)
doc.close()
copy
Copiar la selección activa al portapapeles.
doc = app.active
doc.copy()
export
Exportar a otros formatos.
doc = app.docs.new()
ruta = '/home/elmau/miarchivo.xlsx'
filtro = 'xlsx'
doc.export(ruta, filtro)
ruta = '/home/elmau/miarchivo.xls'
filtro = 'xls'
doc.export(ruta, filtro)
doc = app.docs.new('writer')
ruta = '/home/elmau/miarchivo.docx'
filtro = 'docx'
doc.export(ruta, filtro)
ruta = '/home/elmau/miarchivo.doc'
filtro = 'doc'
doc.export(ruta, filtro)
ruta = '/home/elmau/miarchivo.rtf'
filtro = 'rtf'
doc.export(ruta, filtro)
Exportar en memoria.
doc = app.docs.new()
filtro = 'xlsx'
excel_doc = doc.export(filter_name=filtro)
new
Crear nuevo documento, la aplicación predeterminada es Calc.
doc = app.docs.new()
app.debug(doc.type)
Para un nuevo documento writer
.
doc = app.docs.new('writer')
app.debug(doc.type)
Otros documentos.
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.
propiedades = {'Hidden': True}
doc = app.docs.new('writer', propiedades)
mensaje = f'{doc.type} - {doc.title}'
app.msgbox(mensaje)
doc.visible = True
!!! tip
No es necesario que un documento este visible para manipularse.
open
Abrir archivos.
ruta = '/home/elmau/mi_archivo.ods'
doc = app.docs.open(ruta)
!!! tip "Consejo"
No es necesario pasar las rutas en formato URL.
Puede abrir cualquier archivo que sea soportado por LibreOffice.
ruta = '/home/elmau/ejemplo.xlsx'
doc = app.docs.open(ruta)
Abrir con argumentos.
ruta = '/home/elmau/ejemplo.ods'
argumentos = {'Password': 'siscaloburropanzon'}
doc = app.docs.open(ruta, argumentos)
paste
Copiar el contenido del portapapeles, en la selección actual.
doc = app.active
doc.paste()
paste_special
Mostrar el cuadro de diálogo Pegado Especial
.
!!! tip "Consejo"
Solo se mostrará si existe contenido en el portapapeles.
doc = app.active
doc.paste_special()
paste_values
Pegar solo los valores.
doc = app.active
doc.paste_values()
Si el destino no esta vacío, el usuario verá el cuadro de mensaje de confirmación.
save
Guardar un nuevo documento.
path = '/home/elmau/nuevo_documento.ods'
doc = app.docs.new()
doc.save(path)
Cualquier archivo, previamente guardado, que sea modificado puede ser guardado con:
doc.save()
Abrir un archivo existente y guardarlo con otro nombre.
ruta = '/home/mau/ejemplo.ods'
doc = app.docs.open(ruta)
nueva_ruta = '/home/mau/otro_nombre.ods'
doc.save(nueva_ruta)
set_focus
Enviar el foco al documento.
for doc in app.docs:
app.debug(doc.title)
doc.set_focus()
app.sleep(1)
to_pdf
Exportar a PDF.
doc = app.active
ruta = '/home/elmau/ejemplo.pdf'
doc.to_pdf(ruta)
Si no se establece una ruta, se devuelve el PDF en memoria.
doc = app.active
pdf = doc.to_pdf()
app.debug(pdf)
Mire las opciones del filtro de exportación a PDF, puede pasarlas como un diccionario como segundo argumento de este método.
Por ejemplo, exportar solo las páginas 2 a 4:
doc = app.active
ruta = '/home/elmau/ejemplo.pdf'
opciones = {'PageRange': '2-4'}
doc.to_pdf(ruta, opciones)