修改python-docx中paragraph.style._element.xml中的XML [英] Modify the XML in paragraph.style._element.xml in python-docx
本文介绍了修改python-docx中paragraph.style._element.xml中的XML的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我想修改边框的颜色,通过调用style._element.xml
得到它的XML:
I want to modify the color of the border, and I get its XML by calling style._element.xml
:
>>> document = Document()
>>> run = document.add_heading(u'', 0).add_run('hello world')
>>> paragraphs = document.paragraphs
>>> print(paragraphs[0].style._element.xml)
<w:style xmlns:w="http://schemas.openxmlformats.org/wordprocessingml/2006/main" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" xmlns:r="http://schemas.openxmlformats.org/officeDocument/2006/relationships" xmlns:w14="http://schemas.microsoft.com/office/word/2010/wordml" w:type="paragraph" w:styleId="Title">
<w:name w:val="Title"/>
<w:basedOn w:val="Normal"/>
<w:next w:val="Normal"/>
<w:link w:val="TitleChar"/>
<w:uiPriority w:val="10"/>
<w:qFormat/>
<w:rsid w:val="00FC693F"/>
<w:pPr>
<w:pBdr>
<w:bottom w:val="single" w:sz="8" w:space="4" w:color="4F81BD" w:themeColor="accent1"/>
</w:pBdr>
<w:spacing w:after="300" w:line="240" w:lineRule="auto"/>
<w:contextualSpacing/>
</w:pPr>
<w:rPr>
<w:rFonts w:asciiTheme="majorHAnsi" w:eastAsiaTheme="majorEastAsia" w:hAnsiTheme="majorHAnsi" w:cstheme="majorBidi"/>
<w:color w:val="17365D" w:themeColor="text2" w:themeShade="BF"/>
<w:spacing w:val="5"/>
<w:kern w:val="28"/>
<w:sz w:val="52"/>
<w:szCs w:val="52"/>
</w:rPr>
</w:style>
现在我想更改属性边框的颜色代码,我该怎么做?
Now I want to change a color code in attribute border, how can I do it?
推荐答案
paragraph.style._element
是一个 lxml.etree._Element
对象,所以这样的事情应该做伎俩:
paragraph.style._element
is an lxml.etree._Element
object, so something like this should do the trick:
from docx.oxml.ns import qn
bottom = paragraph.style._element.xpath("./w:pPr/w:pBdr/w:bottom")[0]
bottom.set(qn("w:color"), "FF00FF")
这篇关于修改python-docx中paragraph.style._element.xml中的XML的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文