Python办公

Python办公 知识量:2 - 22 - 78

2.6 Run对象><

认识Run- 2.6.1 -

Run 在 python-docx 库中是一个非常重要的概念。在处理 Word 文档时,Run 代表了一段连续的文本,其样式(如字体、字号、颜色等)在整个 Run 内是统一的。换句话说,Run 是一种文本的连续单元,其中每个字符都具有相同的样式属性。

通过 python-docx 读取或修改 Word 文档时,Word 文档中的每个段落可以分解为多个 Run。每个 Run 代表了段落中具有相同样式的连续文本。例如,一个段落中可能有多个 Run,每个 Run 可能包含不同的字体、字号或颜色。

为了更好地理解 Run,可以考虑以下示例:

假设有一个段落如下:

Hello, World! This is a test.

这个段落可能被分解为三个 Run:

  1. "Hello, World!" - 使用默认样式

  2. " This is a test." - 前面有一个空格,其样式可能与默认样式不同(例如,可能是制表符)

  3. "test." - 最后一个单词和句号可能与默认样式不同(例如,可能是斜体)

通过处理 Run,可以更精细地控制 Word 文档中的文本格式。例如,可以单独修改一个 Run 中的文本颜色或字体,而不会影响其他 Run 中的文本。

添加Run- 2.6.2 -

在 python-docx 中,Paragraph 对象提供了 add_run() 方法,用于向段落中添加新的 Run 对象。通过这个方法,可以自定义 Run 中的文本内容以及样式,并将它添加到段落中。

下面是一个简单的示例,演示如何使用 add_run() 方法向段落中添加新的 Run 对象:

from docx import Document  
from docx.shared import Pt  
  
# 创建一个新的Word文档对象  
document = Document()  
  
# 添加一个段落  
paragraph = document.add_paragraph()  
  
# 使用add_run()方法添加新的Run对象  
run = paragraph.add_run('这是一个Run对象。')  
  
# 可以为Run对象设置样式,例如字体、字号和颜色  
run.font.name = 'Arial'  
run.font.size = Pt(14)  
run.font.color.rgb = (0, 0, 255)  # 蓝色  
  
# 保存文档  
document.save('添加Run对象.docx')

在上面的示例中,首先创建了一个新的Word文档对象,并添加了一个段落。然后,使用 add_run() 方法向段落中添加了一个新的 Run 对象,并为其设置了字体、字号和颜色样式。最后,保存了文档。

清空Run- 2.6.3 -

Paragraph 对象有一个 clear() 方法,用于清空整个段落的文本,包括其中的所有 Run 对象。如果只想清空某个 Run 对象的文本,而不是整个段落,那么确实不适合调用 Paragraph 对象的 clear() 方法。

可以使用 Run 对象的 clear_content() 方法。这个方法会移除 Run 对象中的所有文本内容,但保留其样式。

以下是一个示例代码,演示如何清空 Run 对象的文本:

from docx import Document  
  
# 创建一个新的Word文档对象  
document = Document()  
  
# 添加一个段落  
paragraph = document.add_paragraph()  
  
# 添加一个Run对象并设置样式  
run = paragraph.add_run('这是一个Run对象。')  
run.font.name = 'Arial'  
run.font.size = Pt(14)  
run.font.color.rgb = (0, 0, 255)  # 蓝色  
  
# 清空Run对象的文本内容  
run.clear_content()  
  
# 保存文档  
document.save('清空Run对象.docx')

在上面的示例中,首先创建了一个新的Word文档对象,并添加了一个段落。然后,添加了一个 Run 对象,并为其设置了字体、字号和颜色样式。接下来,使用 clear_content() 方法清空了 Run 对象的文本内容,但保留了其样式。最后,保存了文档。

Run样式- 2.6.4 -

Run 对象的样式主要通过其 font 属性进行控制。font 属性是一个 Font 对象,它包含了与文本样式相关的各种属性,如字体名称、字号、颜色、粗体、斜体、下划线等。通过修改 Font 对象的属性,可以轻松地改变 Run 对象的样式。

以下是一些常用的 Font 属性及其用途:

  • name: 设置字体名称,例如 "Arial"、"Times New Roman" 等。

  • size: 设置字号,使用 Pt() 函数指定字号大小。

  • color: 设置字体颜色,使用 rgb() 方法指定颜色的 RGB 值。

  • bold: 设置文本是否加粗。

  • italic: 设置文本是否为斜体。

  • underline: 设置文本是否下划线。

通过修改这些属性,可以对 Run 对象中的文本进行精细的样式控制。例如,可以使用以下代码将 Run 对象的文本设置为红色、加粗和斜体:

from docx import Document  
from docx.shared import Pt, RGBColor  
  
# 创建一个新的Word文档对象  
document = Document()  
  
# 添加一个段落  
paragraph = document.add_paragraph()  
  
# 添加一个Run对象并设置样式  
run = paragraph.add_run('这是一个Run对象。')  
run.font.name = 'Arial'  
run.font.size = Pt(14)  
run.font.color.rgb = RGBColor(255, 0, 0)  # 红色  
run.font.bold = True  # 加粗  
run.font.italic = True  # 斜体  
  
# 保存文档  
document.save('设置Run样式.docx')

在上面的示例中,创建了一个新的 Word 文档对象,并向其中添加了一个段落。然后,使用 add_run() 方法添加了一个 Run 对象,并使用 font 属性设置了字体名称、字号、颜色、加粗和斜体样式。最后,保存了文档。