Скрипт Python - вставьте изображение с помощью mailmerge в файл docx - PullRequest
0 голосов
/ 18 января 2019

Я работаю над скриптом Python, который анализирует файл Excel и на основе чего заполняет файлы docx несколькими переменными, используя библиотеку mailmerge.Для строковых значений все работает нормально, но у меня проблемы с вставкой изображения в файл.Поскольку мне нужно выбрать из 7 изображений на данный момент в качестве обходного пути, я только что создал 7 шаблонов, и я выбираю правильный шаблон на основе некоторых условий, но в ближайшем будущем у меня будет больше комбинаций изображений в файле docx, а затем будет создано около 50шаблоны не очень хороший вариант.

В Google я обнаружил, что изображения могут быть вставлены в файл docx со следующей структурой:

{INCLUDEPICTURE "{MERGEFIELD 1.png * MERGEFORMAT}" * MERGEFORMAT}

но я не могу заставить его работать на меня.Можно ли вставить путь изображения в него, и тогда Word будет использовать его для вставки изображения?что-то вроде этого:

{INCLUDEPICTURE "{path_to_image * MERGEFORMAT}" * MERGEFORMAT}

from mailmerge import MailMerge
document = MailMerge(template.docx)
document.merge(path_to_image="C:\\image.png")
document.write(document_name)

Спасибо!

1 Ответ

0 голосов
/ 22 мая 2019

1.Нет файлов PNG: Вы не можете вставлять файлы .png.Вы можете вставлять только файлы .jpg.

2.Использовать абсолютные пути к файлам: Убедитесь, что вы используете абсолютный путь к файлам с двойной косой чертой, например: C: \ temp \ sample.jpg

3.Вставка кода в MS Word: Код, который вы вставляете в Word, должен быть вставлен определенным образом:

i.В шаблоне MS Word нажмите: ALT + F9

ii.Удерживайте CTRL + + F9

iii.Введите:

{ INCLUDEPICTURE "{INSERT MERGE FIELD HERE}" \*MERGEFORMAT\d }

Выделите все символы {INSERT MERGE FIELD HERE}, затем выберите имя поля слияния на верхней панели инструментов.После выбора имя поля будет вставлено в фигурные скобки.Не просто скопируйте и вставьте файл слияния из другого раздела.Вы должны создать их все по отдельности.

iv.Нажмите: ALT + F9, чтобы вернуться в обычный режим редактирования.

v.Заполните ваш mailmerge для отдельных документов

vi.Если ваши изображения не отображаются, выберите все (CTRL + A) и нажмите F9, чтобы обновить.Может быть некоторая задержка при обновлении файла Word.Если изображение по-прежнему не отображается, нажмите на него и нажмите F9.Если изображение по-прежнему не отображается, у вас проблема с шагом 1 или 2.

...