【问题标题】:How to give color to a particular word in docx如何为docx中的特定单词赋予颜色
【发布时间】:2021-09-15 03:34:21
【问题描述】:

我见过很多这样的代码:

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

但上面的代码将颜色应用于所有句子,但我希望特定单词具有特定颜色。如何实现?

例如:

sentence = [' I want a color for a particular word in this sentence not to this whole 
            sentence']
selected_words = ['want', 'particular', 'this'] #<----- any color to this words from 
                                                #        above sentence!

我没有为我的查询找到任何代码,否则我可能会放一些我尝试过的代码。 请帮忙。

【问题讨论】:

    标签: python arrays string sorting docx


    【解决方案1】:

    您需要拆分并重新加入。我正在稍微修改您的示例:

    sentence = 'I want a color for a particular word in this sentence not to this whole sentence'
    selected_words = ['want', 'particular', 'this']
    
    from docx import Document
    from docx.shared import RGBColor
    document = Document()
    paragraph = document.add_paragraph()
    sentence_split = sentence.split()
    for x in sentence_split:
      if x in selected_words:
        run2 = paragraph.add_run(x)
        red = RGBColor(255, 0, 0)
        run2.font.color.rgb = red
      else:
        paragraph.add_run(x)
      
      paragraph.add_run(" ")
    

    【讨论】:

      猜你喜欢
      • 2020-05-17
      • 2020-07-19
      • 2013-10-04
      • 1970-01-01
      • 2015-05-18
      • 2020-10-19
      • 1970-01-01
      • 1970-01-01
      • 2019-04-16
      相关资源
      最近更新 更多