本文主要介绍扩展库python-docx中关于Word文件中文本格式控制的接口和用法,可以使用命令pip install python-docx安装,然后通过名字docx来使用其中提供的功能。
1、设置段落格式
段落是Word中的一个块级对象,在其所在容器的左右边界内显示文本,当文本超过右边界时自动换行。段落的边界通常是页边界,也可以是分栏排版时的栏边界,或者表格单元格中的边界。
段落格式用于控制段落在其容器(例如页、栏、单元格)中的布局,例如对齐方式、左缩进、右缩进、首行缩进、行距、段前距离、段后距离、换页方式、Tab键字符格式等。
1.1 水平对齐方式
可以通过段落的paragraph_format属性来访问和设置段落格式,paragraph_format属性的aligenment用来访问和设置对齐方式,可用的对齐方式由WD_ALIGN_PARAGRAPH类提供,常用的主要'CENTER'(居中)、'JUSTIFY'(两端对齐)、'LEFT'(左对齐)、'RIGHT'(右对齐)。可以通过下面的方式导入WD_ALIGN_PARAGRAPH:
from docx.enum.text import WD_ALIGN_PARAGRAPH
1.2 缩进
缩进是指段落与其所在容器的左边界的水平距离,段落与左、右边界的距离可以分别进行设置而互不影响,每个段落的首行可以具有与本段其他行不同的缩进。如果首行比其他行缩进的多,称作首行缩进。如果首行比其他行缩进的少,称作悬挂缩进。
缩进量通过段落的属性paragraph_format的left_indent、right_indent、first_line_indent来指定,可以指定为Inches、Pt或Cm这样的长度值,可以指定为负值,也可以指定为None,此时表示与前面的段落相同。
from docx.shared import Inches, Pt, Cm
1.3 Tab stops
用来设置段落文本中Tab键字符的渲染方式,可以指定Tab键字符后面的文本从哪里开始(设置为长度值)、如何对齐到那个位置以及使用什么字符填充Tab键字符跨越的水平空间。
1.4 段落间距
段落的paragraph_format属性的space_before和space_after属性分别用来控制一个段落的段前和段后距离,可设置为Inches、Pt或Cm值,两段之间的实际距离由前一个段的space_after和后一个段的space_before中的最大值决定。
1.5 行距
行距指一个段落中相邻行基线的距离,可以指定为绝对值或行高的相对值,默认为单倍行高。行距可以通过段落paragraph_format属性的line_spacing或line_spacing_rule属性来指定,当line_spacing设置为长度值时表示绝对距离,设置为浮点数时表示行高的倍数,设置为None表示根据继承层次决定。
1.6 换页方式
换页方式决定一个段落在一个页面结束附近如何表现,常用属性有如下,每个属性的取值可以为True、False、None:
- keep_together设置为True时使得整个段落出现在同一页中,如果一个段落在换页时可能会被打断就在段前换页;
- keep_with_next设置为True时使得本段与下一段出现在同一页中;
- page_break_before设置为True时使得本段出现在新的一页的顶端,例如新的一章标题必须从新的一页开始;
- window_control设置为True时表示可以在必要的时候进行分页,避免本段的第一行或最后一行单独出现在一页中。
2、设置字符格式
Run属于行内元素的一种,是一个块级元素的组成部分,可以看做是一段连续的具有相同格式(字体、字号、颜色、加粗、斜体、下画线、阴影等)的文本。一般来说,一个段落会包含一个或多个Run,使得同一个段落中可以包含不同格式的文本。
可以通过一个Run对象的font属性来获取和设置该Run的字符格式,例如字体名称font.name、字体大小font.size、是否加粗font.bold、是否斜体font.italic、下画线格式font.underline(True表示单下画线,False表示没有下画线,或者使用WD_UNDERLINE中的成员设置更多下画线格式)、字体颜色font.color.rgb(设置为docx.shared.RGBColor对象)。
3、综合演示
4、运行效果
公众号“Python小屋”
标签:段落,缩进,Word,Python,文本格式,设置,对齐,格式,font From: https://blog.51cto.com/u_9653244/6454728