前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Python控制Word文件中段落格式与文本格式

Python控制Word文件中段落格式与文本格式

作者头像
Python小屋屋主
发布2019-09-24 16:36:17
8.7K5
发布2019-09-24 16:36:17
举报
文章被收录于专栏:Python小屋Python小屋

本文主要介绍扩展库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、运行效果

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2019-09-21,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Python小屋 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
容器服务
腾讯云容器服务(Tencent Kubernetes Engine, TKE)基于原生 kubernetes 提供以容器为核心的、高度可扩展的高性能容器管理服务,覆盖 Serverless、边缘计算、分布式云等多种业务部署场景,业内首创单个集群兼容多种计算节点的容器资源管理模式。同时产品作为云原生 Finops 领先布道者,主导开源项目Crane,全面助力客户实现资源优化、成本控制。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档