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 where do I go from here? The above link talks about Open Office shipping with Python. Have I already got it?? And do I even need OpenOffice? Isn't there just some template, some way that a document needs to look like so it will will recognized as odt? Would I need the actual editor?
I'd like something like https://github.com/mikemaccana/python-docx, but for Open Office.
Sorry for this open ended question, but I really have looked around and feel that I am missing some vital link/understanding about what is required.
I use relatorio to be able to produce odt. You can have a look at the doc here
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
来源:https://stackoverflow.com/questions/18439396/create-openoffice-odt-document-with-python