Python3 docxtpl 创建docx并在指定位置插入图片

前段时间在写自动化工作脚本,需要把图片插入到docx的指定位置。
网上的资料比较杂,所以写一下进行整理

1.jpg:
Python3 docxtpl 创建docx并在指定位置插入图片_第1张图片

2.jpg:
Python3 docxtpl 创建docx并在指定位置插入图片_第2张图片

test.docx:
Python3 docxtpl 创建docx并在指定位置插入图片_第3张图片

然后把这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")

运行脚本后就会生成new_docx.docx文件
Python3 docxtpl 创建docx并在指定位置插入图片_第4张图片

你可能感兴趣的:(Python,python)