使用python在docx 文档表格中插入图片

我有一个docx格式的文档 里面的内容是这样的,我想用python 的docx 模块在标题三后插入一个2行2列的表格,然后在表格的4个格子里每个格子中插入一张图片

img

from docx import Document
from docx.shared import Cm

report_dir=('D:/pp/test11.docx')
doc=Document(report_dir)
def create_table():
    paragraphs = doc.paragraphs
    for par in paragraphs:
        if par.text=='标题三':
            table=doc.add_table(2,2,style='Table Grid')
            table.rows[0].height=Cm(7)
            table.rows[0].width=Cm(7.5)
            table.rows[1].height = Cm(7)
            table.rows[1].width = Cm(7.5)
            par._element.addnext(table._tbl)
            doc.save(report_dir)
def insert_picture():
    doc.tables[0].cell(0, 0).paragraphs[0].add_run().add_picture("D:/pp/1.jpg",width=Cm(4), height=Cm(5))
    doc.tables[0].cell(0, 1).paragraphs[0].add_run().add_picture("D:/pp/2.jpg",width=Cm(4), height=Cm(5))
    doc.tables[0].cell(1, 0).paragraphs[0].add_run().add_picture("D:/pp/3.jpg",width=Cm(4), height=Cm(5))
    doc.tables[0].cell(1, 1).paragraphs[0].add_run().add_picture("D:/pp/4.jpg",width=Cm(4), height=Cm(5))
    doc.save(report_dir)

create_table()
insert_picture()

然而代码运行完毕后 4个格子中其中有一个格子中图片没有插进去 ,代码也并没有报错

img

找了好久的原因 发现当把页脚里面的一条横线去掉以后 就可以插入4张图片了

img

img

有人能告诉我这是为什么吗?

  在docx中插入表格在表格中插入图片,分两步完成:




不知道你这个问题是否已经解决, 如果还没有解决的话:

如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^