Вставка изображений в файл .docx в PythonPython

Программы на Python
Ответить
Anonymous
 Вставка изображений в файл .docx в Python

Сообщение Anonymous »

Есть задача формирования отчетов в docx из PDF, не могу победить вставку изображения. Изображение необходимо вставить с определенными параметрами. Проблемы возникли с положением и текстовым обтекателем. В наиболее удачных попытках обтекатель не менялся, а изображение вставлялось в конец или в новый абзац.
Мне нужна верхняя граница изображения на уровне определенного линии, сама картинка находилась у левого края документа, а текст обтекал изображение по рамке.
Я пробовал

Код: Выделить всё

par = doc.paragraphs[2]
par.alignment = WD_PARAGRAPH_ALIGNMENT.LEFT
run = paragraph.add_run()
run.add_picture(img_path, width=Cm(5))
А этот

Код: Выделить всё

par = doc.paragraphs[2]
run = par.add_run()
run.add_picture(img_path)
run_element = run._r

anchor = OxmlElement('wp:anchor')
anchor.set('wrapText', 'bothSides')
anchor.set('distT', '0')
anchor.set('distB', '0')
anchor.set('distL', '0')
anchor.set('distR', '0')

extent = OxmlElement('wp:extent')
extent.set('cx', '3000000')
extent.set('cy', '2000000')
anchor.append(extent)

run_element.append(anchor)
Текст попадает в документ следующим образом, и я не хочу менять библиотеку docx-python, которая преобразует его в нужную форму.

Код: Выделить всё

search_text = 'text'
index = find_paragraph_index(doc, search_text)
doc.paragraphs[3]._element.addnext(doc.add_paragraph()._element)
doc.paragraphs[4].add_run(doc.paragraphs[index+1].text+":"+" "+doc.paragraphs[index + 2].text)
doc.paragraphs[index + 1].clear()
Окончательный результат должен быть примерно таким. Может кто-то сталкивался с подобным или знает решение. Заранее спасибо.
[Пример]
Изображение


Подробнее здесь: https://stackoverflow.com/questions/792 ... -in-python
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

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