我有一个docx格式的文档 里面的内容是这样的,我想用python 的docx 模块在标题三后插入一个2行2列的表格,然后在表格的4个格子里每个格子中插入一张图片
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个格子中其中有一个格子中图片没有插进去 ,代码也并没有报错
找了好久的原因 发现当把页脚里面的一条横线去掉以后 就可以插入4张图片了
有人能告诉我这是为什么吗?
在docx中插入表格在表格中插入图片,分两步完成:
1.添加图片部分,需要将第一个参数改为自己电脑上图片的位置。
#添加图片
document.add_picture('D:\pic1.jpg', width=Inches(1.25))
2.存储文档地址部分,需要将第一个参数改为你想要将文档存储在的位置。
#保存.docx文档
document.save('D:\demo.docx')