Create openoffice .odt document with Python
Asked Answered
B

3

9

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.

Berretta answered 26/8, 2013 at 8:2 Comment(0)
G
16

I use relatorio to be able to produce odt. You can have a look at the doc here

Gamy answered 26/8, 2013 at 8:14 Comment(0)
S
5

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
Septime answered 27/7, 2016 at 19:21 Comment(0)
I
2

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.

Irreparable answered 14/5, 2014 at 17:17 Comment(0)

© 2022 - 2024 — McMap. All rights reserved.