Лишний пустой абзац в начале ODT (из шаблона) #42
Reference in New Issue
Block a user
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Симптом
При открытии сгенерированного ODT-файла в LibreOffice перед заголовком появляется пустая строка.
Причина
Шаблон
redmine_reporter/templates/template.odtв своёмcontent.xmlсодержит пустой абзац как первый элемент после структурных. Это артефакт редактирования шаблона в LibreOffice — когда-то первой строкой документа была пустая.При загрузке шаблона в
odt.py:Весь контент добавляется после элементов шаблона:
Вот что в итоге в
content.xml:Варианты исправления
Вариант A: почистить шаблон
Открыть
template.odtв LibreOffice, удалить пустую первую строку, пересохранить. Минус: проблема может вернуться при любом редактировании шаблона.Вариант B: чистить
doc.textв коде (рекомендуется)После
load(f)удалить всеtext:pизdoc.text, оставив только структурные элементы (forms,sequence-decls). Тогда содержимое шаблона не будет влиять на вывод.Примерный подход:
Этот вариант предпочтительнее, потому что делает код устойчивым к случайным артефактам шаблона в будущем.
Связанные задачи
Не зависит от других задач. Можно чинить независимо.
Критерии приёмки
template.odtв части текстовых параграфов.text:pв выводе — это заголовок, а не пустая строка.Лишняя строчка в ODTto Лишний пустой абзац в начале ODT (из шаблона)