Search code examples
pythonpython-docx

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


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.


Solution

  • 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.