第三方没有调整表格整体宽度的方法,找了好久没有找到答案。只能自己写个函数和大家交流一下
from docx import Document
from docx.shared import Cm
def TableWidth(NewTable, NewWidth):
Counter=0
OldWidth = 0
for col in NewTable.columns:
OldWidth += col.width
Counter+=1
AverageD_Width = (int(NewWidth) - int(OldWidth)) / Counter
for col in NewTable.columns:
col.width += int(AverageD_Width)
File = Document(r".\1.docx")
# table1 = File.tables[12]
# TableWidth(table1, Cm(17))
for table in File.tables:
TableWidth(table,Cm(17))
File.save(r".\2.docx")
思路就是把每个表格原宽度和新宽度差值平均分配到每一列