17-Run属性
15.3.5 Run属性
通过 text
属性,Run可以进一步设置样式。每个属性都可以被设置为3个值之一: True
(该属性总是启用,不论其他样式是否应用于该Run)、 False
(该属性总是禁用)或 None
(默认使用该 Run
被设置的任何属性)。
表15-1列出了可以在 Run
对象上设置的 text
属性。
| 属性 | 描述 |
| :----- | :----- | :----- | :----- |
| bold
| 文本以粗体出现 |
| italic
| 文本以斜体出现 |
| underline
| 文本带下划线 |
| strike
| 文本带删除线 |
| double_strike
| 文本带双删除线 |
| all_caps
| 文本以大写字母出现 |
| small_caps
| 文本以大写字母出现,但大小和小写字母一样 |
| shadow
| 文本带阴影 |
| outline
| 文本以轮廓线出现,而不是以实心出现 |
| rtl
| 文本从右至左书写 |
| imprint
| 文本以刻入页面的方式出现 |
| emboss
| 文本以凸出页面的方式出现 |
例如,为了改变demo.docx的样式,在交互式环境中输入以下代码:
>>> import docx
>>> doc = docx.Document('demo.docx')
>>> doc.paragraphs[0].text
'Document Title'
>>> doc.paragraphs[0].style # The exact id may be different:
_ParagraphStyle('Title') id: 3095631007984
>>> doc.paragraphs[0].style = 'Normal'
>>> doc.paragraphs[1].text
'A plain paragraph with some bold and some italic'
>>> (doc.paragraphs[1].runs[0].text, doc.paragraphs[1].runs[1].text, doc.
paragraphs[1].runs[2].text, doc.paragraphs[1].runs[3].text)
('A plain paragraph with some ', 'bold', ' and some ', 'italic')
>>> doc.paragraphs[1].runs[0].style = 'QuoteChar'
>>> doc.paragraphs[1].runs[1].underline = True
>>> doc.paragraphs[1].runs[3].underline = True
>>> doc.save('restyled.docx')
这里,我们使用了 text
和 style
属性,以便容易地看到文档的段落中有什么。我们可以看到,很容易将段落划分成 Run
,并单独访问每个 Run
。所以我们取得了第二段中的第一、第二和第四个 Run
,设置每个 Run
的样式,并将结果保存到一个新文档。
文件顶部的单词Document Title将具有Normal样式,而不是Title样式。针对文本A plain paragraph的 Run
对象将具有QuoteChar样式。针对单词bold和italic的两个 Run
对象,它们的 underline
属性设置为 True
。图15-7所示为文件中段落和 Run
的样式的展现形式。