要设置段落的“如果定义了文档网格,则对齐到网格”的属性,需要用到两个额外的函数nsdecls和parse_xml
设置 ““如果定义了文档网格,则对齐到网格” 代码如下:“para”为paragraph
from docx.oxml.ns import nsdecls
from docx.oxml import parse_xml
#取消设置 ”如果定义了文档网格,则对齐到网格”
para._p.get_or_add_pPr().insert(0,parse_xml('<w:snapToGrid {} w:val="0"/>'.format(nsdecls('w'))))
#设置 “如果定义了文档网格,则对齐到网格”
para._p.get_or_add_pPr().insert(0,parse_xml('<w:snapToGrid {} w:val="1"/>'.format(nsdecls('w'))))
#恢复到默认
for i in para._p.pPr:
if "snapToGrid" in str(i):
para._p.pPr.remove(i)
原理是修改底层xml代码