pythondocx:Setting';首选宽度';从docx要一张桌子

pythondocx:Setting';首选宽度';从docx要一张桌子,python,python-docx,Python,Python Docx,我有一个应用程序,它使用docx将图片放入表中。除了表格从左边距到右边距外,一切正常 如果我在Word中手动创建一个表,我可以右键单击该表以进入“表属性”。然后在“表格”选项卡下的“尺寸”中,我可以单击“首选宽度”复选框,并将宽度设置为您想要的任何尺寸。由于段落设置为居中,因此表格在页边距之间居中,但不延伸到页边距 我似乎在docx中找不到类似的机制。有吗?或者有其他方法可以完成同样的任务吗?尝试将每个单元格设置为其所在列的所需宽度 “表宽”和“列宽”等值的解释因客户端而异(例如Microsof

我有一个应用程序,它使用docx将图片放入表中。除了表格从左边距到右边距外,一切正常

如果我在Word中手动创建一个表,我可以右键单击该表以进入“表属性”。然后在“表格”选项卡下的“尺寸”中,我可以单击“首选宽度”复选框,并将宽度设置为您想要的任何尺寸。由于段落设置为居中,因此表格在页边距之间居中,但不延伸到页边距


我似乎在docx中找不到类似的机制。有吗?或者有其他方法可以完成同样的任务吗?

尝试将每个单元格设置为其所在列的所需宽度

“表宽”和“列宽”等值的解释因客户端而异(例如Microsoft Word、Open Office、Google Docs),设置单元格宽度似乎是最低的公分母。你只需要在表格中循环并设置它们。另一个答案给出了一些示例代码:

在居中,我不确定你在那里做什么(用手)在Word中起作用。您提到“…段落…”,但每个单元格可以有一个或多个段落,因此我不确定您要居中的是哪一个段落(此外,表格不能嵌入段落)。我怀疑你实际上是在将桌子居中,它可能使用了相同的工具栏按钮

我想这就是您在python docx中想要的:

from docx.enum.table import WD_TABLE_ALIGNMENT
table.alignment = WD_TABLE_ALIGNMENT.CENTER