python 生成word,插入图片如何居中显示

具体生成word的代码就不粘贴了,下面只介绍图片居中的方法,因为docx库add_picture()方法不支持对图片位置的设置。所以有两种思路:

1、新建一个1行3列的表格,在中间的一列中插入图片

2、改变段落的位置(直接将最近的一个段落更改)

 第一个方法:

 def add_center_picture(self, image_path_or_stream, width=None, height=None):
        # run = self.doc.add_paragraph().add_run()
        tab = self.doc.add_table(rows=1, cols=3)  # 添加一个1行3列的空表
        cell = tab.cell(0, 1)  # 获取某单元格对象(从0开始索引)
        ph =cell.paragraphs[0]
        run = ph.add_run()
        # run.add_break()
        run.add_picture(image_path_or_stream, width=width, height=height)
    

第二个方法: 

    def align_center(self):
        last_paragraph = self.doc.paragraphs[-1]
        last_paragraph.alignment = docx.enum.text.WD_ALIGN_PARAGRAPH.CENTER

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