Python script - insert image using mailmerge into docx file
I'm working on a python script which analyses excel file and based on than filling in docx files with multiple variables using mailmerge library. For string values all is working fine but I have a problems with inserting image into a file. As I have to choose from 7 images for now as a workaround I just created 7 templates and I'm choosing the correct template based on some conditions but in the near future I will have more combination of images inside docx file and then creating like 50 templates is not a good option.
On google i found out that images can be inserted into docx file with below structure:
{ INCLUDEPICTURE "{ MERGEFIELD 1.png * MERGEFORMAT }" * MERGEFORMAT }
but I cannot make it work for me. Is it possible to insert path of a image into it and then Word would use it to insert an image? something like that:
{ 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)
Thanks!
python image email merge mailmerge
add a comment |
I'm working on a python script which analyses excel file and based on than filling in docx files with multiple variables using mailmerge library. For string values all is working fine but I have a problems with inserting image into a file. As I have to choose from 7 images for now as a workaround I just created 7 templates and I'm choosing the correct template based on some conditions but in the near future I will have more combination of images inside docx file and then creating like 50 templates is not a good option.
On google i found out that images can be inserted into docx file with below structure:
{ INCLUDEPICTURE "{ MERGEFIELD 1.png * MERGEFORMAT }" * MERGEFORMAT }
but I cannot make it work for me. Is it possible to insert path of a image into it and then Word would use it to insert an image? something like that:
{ 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)
Thanks!
python image email merge mailmerge
Do you absolutely need to usemailmerge
? I found this other package which seems to support adding pictures to documents: python-docx.readthedocs.io/en/latest
– Pasa
Jan 18 at 22:43
Thank you for your reply. Mailmerge is not a requirement so I was looking into Python-docx package but altough insertng images works fine it looks like that I cannot insert it in very specific position in an existing document. For python-docx I can add image at the bottom, in the New table etc but not in a template that already has many information inside - client mass communication in my scenario - at least I couldnt find how to use it that Way.
– bgr88
Jan 19 at 3:17
add a comment |
I'm working on a python script which analyses excel file and based on than filling in docx files with multiple variables using mailmerge library. For string values all is working fine but I have a problems with inserting image into a file. As I have to choose from 7 images for now as a workaround I just created 7 templates and I'm choosing the correct template based on some conditions but in the near future I will have more combination of images inside docx file and then creating like 50 templates is not a good option.
On google i found out that images can be inserted into docx file with below structure:
{ INCLUDEPICTURE "{ MERGEFIELD 1.png * MERGEFORMAT }" * MERGEFORMAT }
but I cannot make it work for me. Is it possible to insert path of a image into it and then Word would use it to insert an image? something like that:
{ 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)
Thanks!
python image email merge mailmerge
I'm working on a python script which analyses excel file and based on than filling in docx files with multiple variables using mailmerge library. For string values all is working fine but I have a problems with inserting image into a file. As I have to choose from 7 images for now as a workaround I just created 7 templates and I'm choosing the correct template based on some conditions but in the near future I will have more combination of images inside docx file and then creating like 50 templates is not a good option.
On google i found out that images can be inserted into docx file with below structure:
{ INCLUDEPICTURE "{ MERGEFIELD 1.png * MERGEFORMAT }" * MERGEFORMAT }
but I cannot make it work for me. Is it possible to insert path of a image into it and then Word would use it to insert an image? something like that:
{ 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)
Thanks!
python image email merge mailmerge
python image email merge mailmerge
asked Jan 18 at 19:57
bgr88bgr88
12
12
Do you absolutely need to usemailmerge
? I found this other package which seems to support adding pictures to documents: python-docx.readthedocs.io/en/latest
– Pasa
Jan 18 at 22:43
Thank you for your reply. Mailmerge is not a requirement so I was looking into Python-docx package but altough insertng images works fine it looks like that I cannot insert it in very specific position in an existing document. For python-docx I can add image at the bottom, in the New table etc but not in a template that already has many information inside - client mass communication in my scenario - at least I couldnt find how to use it that Way.
– bgr88
Jan 19 at 3:17
add a comment |
Do you absolutely need to usemailmerge
? I found this other package which seems to support adding pictures to documents: python-docx.readthedocs.io/en/latest
– Pasa
Jan 18 at 22:43
Thank you for your reply. Mailmerge is not a requirement so I was looking into Python-docx package but altough insertng images works fine it looks like that I cannot insert it in very specific position in an existing document. For python-docx I can add image at the bottom, in the New table etc but not in a template that already has many information inside - client mass communication in my scenario - at least I couldnt find how to use it that Way.
– bgr88
Jan 19 at 3:17
Do you absolutely need to use
mailmerge
? I found this other package which seems to support adding pictures to documents: python-docx.readthedocs.io/en/latest– Pasa
Jan 18 at 22:43
Do you absolutely need to use
mailmerge
? I found this other package which seems to support adding pictures to documents: python-docx.readthedocs.io/en/latest– Pasa
Jan 18 at 22:43
Thank you for your reply. Mailmerge is not a requirement so I was looking into Python-docx package but altough insertng images works fine it looks like that I cannot insert it in very specific position in an existing document. For python-docx I can add image at the bottom, in the New table etc but not in a template that already has many information inside - client mass communication in my scenario - at least I couldnt find how to use it that Way.
– bgr88
Jan 19 at 3:17
Thank you for your reply. Mailmerge is not a requirement so I was looking into Python-docx package but altough insertng images works fine it looks like that I cannot insert it in very specific position in an existing document. For python-docx I can add image at the bottom, in the New table etc but not in a template that already has many information inside - client mass communication in my scenario - at least I couldnt find how to use it that Way.
– bgr88
Jan 19 at 3:17
add a comment |
0
active
oldest
votes
Your Answer
StackExchange.ifUsing("editor", function () {
StackExchange.using("externalEditor", function () {
StackExchange.using("snippets", function () {
StackExchange.snippets.init();
});
});
}, "code-snippets");
StackExchange.ready(function() {
var channelOptions = {
tags: "".split(" "),
id: "1"
};
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function() {
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled) {
StackExchange.using("snippets", function() {
createEditor();
});
}
else {
createEditor();
}
});
function createEditor() {
StackExchange.prepareEditor({
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader: {
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
},
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
});
}
});
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f54260657%2fpython-script-insert-image-using-mailmerge-into-docx-file%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
0
active
oldest
votes
0
active
oldest
votes
active
oldest
votes
active
oldest
votes
Thanks for contributing an answer to Stack Overflow!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f54260657%2fpython-script-insert-image-using-mailmerge-into-docx-file%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Do you absolutely need to use
mailmerge
? I found this other package which seems to support adding pictures to documents: python-docx.readthedocs.io/en/latest– Pasa
Jan 18 at 22:43
Thank you for your reply. Mailmerge is not a requirement so I was looking into Python-docx package but altough insertng images works fine it looks like that I cannot insert it in very specific position in an existing document. For python-docx I can add image at the bottom, in the New table etc but not in a template that already has many information inside - client mass communication in my scenario - at least I couldnt find how to use it that Way.
– bgr88
Jan 19 at 3:17