使用Python-docx写入数据时,如何实现文本与图片在同一行?
解决Python-docx中文本与图片同行的问题
你当前的代码中,add_paragraph()和add_picture()都是直接添加块级元素,各自占据独立段落,所以会分行显示。要实现文本与图片同行,需要将图片作为段落的内联元素插入到同一个段落中。
修改后的代码
from docx import Document from docx.shared import Inches from docx.enum.text import WD_ALIGN_VERTICAL document = Document() # 创建一个空段落 para = document.add_paragraph() # 先添加文本内容 text_run = para.add_run('111111111111') # 可选:设置文本与图片的垂直对齐(比如居中) text_run.font.vertical_align = WD_ALIGN_VERTICAL.CENTER # 在同一个段落中添加图片 img_run = para.add_run() img_run.add_picture(r'G:\141-220F411194A92.png', width=Inches(1.25)) # 同样可以给图片设置垂直对齐 img_run.font.vertical_align = WD_ALIGN_VERTICAL.CENTER document.save(r'G:\1.docx')
关键说明
- 段落(
Paragraph)可以包含多个运行对象(Run),每个Run是一段格式统一的内容,文本和图片都可以作为Run的内容存在于同一个段落内,从而实现同行显示。 - 通过
WD_ALIGN_VERTICAL可以调整文本与图片的垂直对齐方式,避免出现上下错位的情况。
内容的提问来源于stack exchange,提问作者mincla
相关产品推荐
相关产品推荐

