2017-01-25 4 views
2

Используя python-docx, есть ли способ вставить картинку в существующий файл? Мне нужно что-то вроде «insert_before_paragraph» для вставки изображений. БлагодаряВставить изображение с помощью python-docx

+0

Для этого нет поддержки API. Вам нужно будет копать внутренности, если вы хотите, чтобы это было достаточно плохо. Вероятно, лучше всего начать с понимания кода для '.add_picture()', так как вы сможете многократно использовать то, что есть и что ниже. – scanny

ответ

0

В зависимости от того, что вы хотите сделать, то может быть смелым обходным путь: сделать DOCX, чтобы DOCX преобразования с pandoc и положить свой собственный фильтр в середине, написанном с panflute.

pandoc sample.docx -o sample2.docx --filter=my_filter.py 

Pandoc - это инструмент, который преобразует несколько форматов документов в стандартизованное абстрактное синтаксическое дерево (AST). Фильтры работают на АСТ. Так получилось, что фильтры pandoc могут вставить готовые изображения (здесь examples of what filters can do).

Это означает, что вы можете конвертировать документ docx в html, а также обратно на docx ... и у вас есть дополнительное преимущество, которое вы можете получить (в случае, если хотите) свой вывод во многих форматах.

В этом процессе вы : потерять тонкости вашего форматирования (заголовки, жирный шрифт и курсив должен быть сохранен), но это не проблема для вас, это было бы хорошо.

Это не совсем простой способ, но, как только один получает его, фильтры pandoc неплохие, и они являются мощным инструментом.

Смежные вопросы