如何让 python docx 以斜体字书写 just

How to ask python docx to write in italic type just

如何让 python docx 以斜体形式书写而不是整个句子,只是一些单词?

我有这个代码:

names = ["names1"]
dates = ["dates1"]
client = ["client1"]

from docx import Document

document = Document('filename.docx')

paragraphs = document.paragraphs




paragraphs[0].insert_paragraph_before("       To    "+names+"         Date  "+dates)
paragraphs[0].insert_paragraph_before("                                             ")
paragraphs[0].insert_paragraph_before("      From   "+names+"             Ref   "+client)
paragraphs[0].insert_paragraph_before("                                                ")

我知道如何将整个句子指定为斜体,但不知道如何告诉 python 仅将一个单词转换为斜体。

在这里,我想转换 ToDateFromRef,但只转换这四个词,而不是其余的。

你知道怎么做吗?

字符格式,例如粗体和斜体,应用于 运行。一个段落由零个或多个运行组成。

当您将段落文本指定为 .add_paragraph() 调用(或 .insert_paragraph_before() 调用)的参数时,生成的段落包含单个 运行,其中包含所有指定文本并具有默认格式。

要完成您想要的操作,您需要通过 运行 构建段落文本 运行,如下所示:

paragraph = paragraphs[0].insert_paragraph_before()

paragraph.add_run("       ")
run = paragraph.add_run("To")
run.italic = True
paragraph.add_run("    " + names + "         ")
run = paragraph.add_run("Date")
run.italic = True
paragraph.add_run("  " + dates)

你可以这样做:

p = document.add_paragraph()
p.add_run('To').italic = True
p.add_run(" "+names+" ")
p.add_run('Date').italic = True

等等。