Вроде OpenOffice весь из себя формат открытый-преоткрытый, свободный-пресвободный, но функциональной библиотеки для генерации документов я не нашел. Нужный функционал только в самом OpenOffice, к которому можно цепляться по сетевому протоколу.
Но на наше счастье внутри ODF сидит обычный xml (плюс пара файлов и все это обернуто в zip).
Поэтому результат вышел даже лучше чем планировал.
- Шаблон документа можно подготовить в самом openoffice;
- Распаковать odf-документ, извлечь content.xml;
- подстановку переменных и повторение строк можно поручить обычным таким шаблонам django;
- собрать zip-файл с content.xml, блэк-джеком, манифестом и mime можно на лету средствами стандартной библиотеки python;
Личный профит: шаблоны можно теперь не рисовать самому, а поручить кому-нибудь другому
Теперь надо обкатать технологию и попробовать как-нибудь скрестить с генерацией PDF
В копилку
валидатор, который помог в отладке.