Sobald Sie den Abschnitt Objekt haben, können Sie das sectPr Element erhalten mit:
sectPr = section._sectPr
Wenn Sie Google auf 'python-docx Abhilfe Funktion OxmlElement' Sie Beispiele finden. Alle Elemente erben von lxml _Element, so dass die lxml-Manipulation funktioniert. Es gibt auch einige andere nützliche Methoden, die von BaseOxmlElement hinzugefügt wurden. Ein grundlegender Kern wäre:
sectPr = section._sectPr
lnNumType = OxmlElement('w:lnNumType')
lnNumType.set('fooAttrib', '42')
sectPr.append(lnNumType)
In vielen Fällen müssen Sie immer alle neue untergeordneten Elemente in der richtigen Reihenfolge, wie die Sequenz fast immer vorgeschrieben ist zu besuchen.
Sie können einige praktische Analyse des w:sectPr
Element finden Sie hier: http://python-docx.readthedocs.io/en/latest/dev/analysis/features/sections.html
Aus einem schnellen Blick sieht, dass Sie in der Lage sein werden, nur eine w:lnNumType
am Ende anhängen wie die Elemente, die es folgen weniger sind verbreitet. Aber wenn man wollte strenger sein könnten Sie diese verwenden, anstatt sectPr.append()
:
sectPr.insert_element_before(lnNumType, (
'w:pgNumType', 'w:pgNumType', 'w:cols', 'w:formProt', 'w:vAlign',
'w:noEndnote', 'w:titlePg', 'w:textDirection', 'w:bidi',
'w:rtlGutter', 'w:docGrid', 'w:printerSettings', 'w:sectPrChange',
))
Sie die Implementierung für .insert_element_before()
hier sehen können: https://github.com/python-openxml/python-docx/blob/master/docx/oxml/xmlchemy.py#L718
Implementierung von Section bei https://github.com/ python-openxml/python-docx/blob/master/docx/oxml/abschnitt.py; Siehe auch https://github.com/python-openxml/python-docx/blob/master/docx/oxml/xmlchemy.py. Ich sehe keinen Accessor in der Hand. – cxw