How can I create an open office .odt file from Python?
I\'m looking at this http://wiki.openoffice.org/wiki/Python, but am confused. I\'ve already got Python 2.7 so whe
UNO Python bindings allows to run python scripts inside OpenOffice/LibreOffice, like Basic macroses.
They allows to do almost everything that OpenOffice can do by itself, including creating ODT documents of course, but they required to be run in specific environment and depends on OpenOffice.
Here is basic tutorial for Python-UNO in OpenOffice: http://www.openoffice.org/udk/python/python-bridge.html
To edit ODT documents from Python I found this library: https://joinup.ec.europa.eu/software/odfpy/home but I never tried it actually.
For my task (small modification of existing document) I ended with manual editing of XML files in .odt zip file using zipfile
Python module and lxml
library for parsing and editing XML.
Another posibility is the odfpy module, you can see a short introduction here.
Python API and tools to manipulate OpenDocument files
Odfpy is a library to read and write OpenDocument v. 1.2 files. The main focus has been to prevent the programmer from creating invalid documents. It has checks that raise an exception if the programmer adds an invalid element, adds an attribute unknown to the grammar, forgets to add a required attribute or adds text to an element that doesn’t allow it.
It's on pipy, so you can install it with
pip install odfpy
I use relatorio to be able to produce odt. You can have a look at the doc here