Потеря изображений в шаблоне docx при рендерингеPython

Программы на Python
Anonymous
Потеря изображений в шаблоне docx при рендеринге

Сообщение Anonymous »


Я использую docxtpl (python-docx-template) для визуализации шаблона перед тем, как непосредственно визуализировать содержимое из словаря. Хотя все работает, мои изображения продолжают пропадать.

Я собираю несколько других docx-файлов для своего шаблона, получаю к ним доступ, визуализирую контент из словаря и сохраняю их в байтовом потоке. но когда компоненты загружаются и помещаются в основной файл, изображения отсутствуют. Есть идеи, почему?

из io import BytesIO из документа импорта docx из docxtpl импортировать DocxTemplate из docxcompose.composer импортировать Composer templates_folder = os.path.join(os.path.dirname(__file__), 'шаблоны') выходная_папка = os.path.join(os.path.dirname(__file__), 'выход') test_data = { 'MODUL_header': { 'что-то': 'бла' }, Защиту генерировать_заголовок (путь_шаблона): документ = DocxTemplate(путь_шаблона) документ.render(test_data) file_stream = БайтыIO() document.save(file_stream) file_stream.seek(0) вернуть файл_поток тест защиты (путь_шаблона): с open(template_path, 'rb') как f: source_stream = BytesIO(f.read()) # Объявляем объект-шаблон документ = DocxTemplate(source_stream) если «MODUL_header» в test_data: _path = os.path.join(папка_шаблонов, 'header.docx') заголовок = document.new_subdoc(generate_kopfzeile(_path)) test_data['MODUL_header'] = заголовок документ.render(test_data) путь_файла = os.path.join(выходная_папка, 'test.docx') document.save(путь_файла) если __name__ == '__main__': путь_шаблона = os.path.join(папка_шаблонов, 'main_template.docx') тест (путь_шаблона) конечно, в моем docx-файле есть переменная с именем MODUL_header :)

Вернуться в «Python»