使用python-docx在Word文档的表格单元格中插入图像后出现空行。

问题描述 投票:0回答:1

我正在使用Python的docx模块向一个新的Word文档中反复添加图片。它可以工作,但每个表格单元格中多了一行。我推测这是因为单元格中已经有了一个段落,所以添加一个新的段落会增加一个新行字符。然而,我看到的每个例子都推荐了以下方法,这似乎是造成问题的原因。

import docx

document = docx.Document()
table = document.add_table(rows=0, cols=2)

cells = table.add_row().cells
p = cells[0].add_paragraph()
r = p.add_run()
r.add_picture('test.png')
cells[1].text = 'test'

document.save()

下面是文档的样子

enter image description here

图片上方的额外空间就是问题所在。

python python-docx
1个回答
1
投票

我又看了一些文档后想明白了。单元格的创建默认有一个段落,这是我所期望的。使用现有的段落来代替。

p = cells[0].paragraphs[0]
p.style = None
r = p.add_run(style = None)

我把样式设置为 None 来删除默认格式,因为它增加了很多额外的空白。

© www.soinside.com 2019 - 2024. All rights reserved.