前段时间在写自动化工作脚本,需要把图片插入到docx的指定位置。
网上的资料比较杂,所以写一下进行整理
然后把这3个文件放在同个目录下
完整代码如下:
#!/usr/bin/env python3
# -*-coding:utf-8-*-
import docxtpl
from docx.shared import Mm
import sys
# 要编辑的docx文档模板路径
docx_path = sys.path[0] + r"\test.docx"
# 要插入的图片1路径
image1_path = sys.path[0] + r"\1.jpg"
# 要插入的图片2路径
image2_path = sys.path[0] + r"\2.jpg"
# 创建docx对象
daily_docx = docxtpl.DocxTemplate(docx_path)
# 创建2张图片对象
insert_image1 = docxtpl.InlineImage(daily_docx, image1_path, width=Mm(140))
insert_image2 = docxtpl.InlineImage(daily_docx, image2_path, width=Mm(140))
# 渲染内容
context = {
"img1":insert_image1,
"img2":insert_image2,
}
# 渲染docx
daily_docx.render(context)
# 保存docx
daily_docx.save("new_docx.docx")