使用 python-docx 在 MS word 中写入特定字体颜色的文本

Write text in particular font color in MS word using python-docx

我正在尝试使用 python 库 python-docx 在 MS Word 文件中写入文本。 我已经阅读了 python-docx 的字体颜色 on this link 的文档,并在我的代码中应用了相同的颜色,但到目前为止我没有成功。

这是我的代码:

from docx import Document
from docx.shared import RGBColor
document = Document()
run = document.add_paragraph('some text').add_run()
font = run.font
font.color.rgb = RGBColor(0x42, 0x24, 0xE9)
p=document.add_paragraph('aaa')
document.save('demo1.docx')

word文件'demo.docx'中的文本只是黑色。

我无法解决这个问题,将不胜感激。

我自己使用 python-docx 文档找到了答案,

正确代码如下:

from docx import Document
from docx.shared import RGBColor
document = Document()
run = document.add_paragraph().add_run('some text')
font = run.font
font.color.rgb = RGBColor(0x42, 0x24, 0xE9)
p=document.add_paragraph('aaa')
document.save('demo1.docx')

'some text' 是 add_run() 函数的参数,而不是 add_paragraph() 函数的参数。

以上代码给出了所需的颜色。

font.color.rgb = RGBColor.from_string('FF0000')

这将有助于构建 RGBColor。

RGBColor

from docx import Document
from docx.shared import RGBColor

document = Document()
paragraph = document.add_paragraph()
run = paragraph.add_run('Red ')
run.font.color.rgb = RGBColor(255, 0, 0)
run = paragraph.add_run('Green ')
run.font.color.rgb = RGBColor(0x00, 0xFF, 0x00)
run = paragraph.add_run('Blue')
run.font.color.rgb = RGBColor.from_string('0000FF')
document.save('test.docx')