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

troy_achilies picture troy_achilies · Feb 1, 2017 · Viewed 10.4k times · Source

I am trying to write text in an MS Word file using python library python-docx. I have gone through the documentation of python-docx's font color on this link and applied the same in my code, but am unsuccessful so far.

Here is my code:

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')

The text in word file 'demo.docx' is simply in black color.

I am not able to figure this out, help would be appreciated.

Answer

troy_achilies picture troy_achilies · Feb 1, 2017

I have found the answer myself using python-docx docs,

Here is the correct code:

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' is a parameter of add_run() function rather than add_paragraph() function.

The above code gives desired color.