首页 > 编程语言 >Python控制Word文件中段落格式与文本格式

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

时间:2023-06-10 16:04:34浏览次数:47  
标签:段落 缩进 Word Python 文本格式 设置 对齐 格式 font


本文主要介绍扩展库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键字符跨越的水平空间。

Python控制Word文件中段落格式与文本格式_大数据

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对象)。

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

3、综合演示

Python控制Word文件中段落格式与文本格式_编程语言_03

4、运行效果

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

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

公众号“Python小屋”

标签:段落,缩进,Word,Python,文本格式,设置,对齐,格式,font
From: https://blog.51cto.com/u_9653244/6454728

相关文章

  • Python借助百度搜索引擎爬取Python小屋密切相关文章
    封面图片:《Python程序设计实验指导书》(ISBN:9787302525790),董付国,清华大学出版社=============第一步,查看本机Chrome浏览器版本。第二步,下载正确版本的Chrome浏览器驱动然后放到Python安装目录中,同时确保Python安装目录在系统环境变量Path中,下载地址为http://chromedriver.storage.go......
  • Python+pandas你可能不知道的排序技巧
    除了支持使用sort_index()方法按索引或列名进行排序,pandas的DataFrame结构还支持sort_values()方法根据值进行排序,本文重点介绍sort_values()方法,其完整语法如下:sort_values(by,axis=0,ascending=True,inplace=False,kind='quicksort',na_position='last')其中常用的参数有:1)参......
  • Python+sklearn决策树算法使用入门
    在学习决策树算法之前,首先介绍几个相关的基本概念。决策树算法原理与sklearn实现简单地说,决策树算法相等于一个多级嵌套的选择结构,通过回答一系列问题来不停地选择树上的路径,最终到达一个表示某个结论或类别的叶子节点,例如有无贷款意向、能够承担的理财风险等级、根据高考时各科成......
  • Python编写人机对战小游戏(抓狐狸)(2)
    很久很久以前,在公众号里推送过一个抓狐狸游戏,详见Python编写人机对战小游戏(抓小狐狸),还有免费视频可以看微课|中学生可以这样学Python(例4.6):抓小狐狸游戏,今天再给出另一个版本的实现。在下面的代码中,直接使用整型变量表示狐狸当前位置,如果打开的洞口与狐狸当前位置相同就抓住了,否则就......
  • 使用Python预处理机器学习需要的手写体数字图像文件数据集
    封面图片:《Python程序设计实验指导书》,董付国,清华大学出版社=============问题描述:为演示机器学习算法对手写体数字识别与分类,需要准备大量数据,如果自己写的话需要很长时间,于是找很多同学帮忙,每位同学提供30张图片,每个图片包含一个数字的手写体,分别命名为0_1.png、0_2.png、0_3.png......
  • 常用Python标准库对象速查表(1)
    封面图片:《Python程序设计基础(第2版)》,董付国,清华大学出版社===============常用Python标准库对象速查表(1)标准库对象简要说明mathsin(x)、cos(x)、tan(x)正弦函数、余弦函数、正切函数,参数单位为弧度asin(x)、acos、atan(x)反正弦函数、反余弦函数、反正切函数ceil(x)、floor(x)向上......
  • Python批量导入Excel文件中的不重复数据到SQLite数据库
    自从2015年开始,为了上课方便,我编写了一个课堂管理系统并陆续增加了很多功能,已连续使用7个学期,在使用过程中也经常修补和完善其中一些细节。这个软件也是《Python可以这样学》最后一章的完整案例,涉及tkinter、数据库、多线程、Word文件操作、Excel文件操作、进程管理、二进制序列化......
  • Python+matplotlib绘制多门课程学生成绩分布饼状图
    封面图片:《Python程序设计实验指导书》,董付国,清华大学出版社=================饼状图比较适合展示一个总体中各个类别所占的比例,例如商场年度营业额中各类商品、不同员工的占比,家庭年度开销中不同类别的占比等。扩展库matplotlib.pyplot中的pie()函数可以用来绘制饼状图,语法如下:pie......
  • Python+pandas分离Excel数据到同一个Excel文件中多个Worksheets
    封面图片:《Python程序设计(第2版)》,董付国,清华大学出版社===============问题描述:已知文件“超市营业额2.xlsx”中结构与部分数据如图所示:现在要求把每个员工的交易数据写入文件“各员工数据.xlsx”,每个员工的数据占一个worksheet,结构和“超市营业额2.xlsx”一样,并以员工姓名作为work......
  • 1000道Python题库系列分享23(61个填空题)
    封面图片:《玩转Python轻松过二级》,董付国,清华大学出版社=================本期题目,参考答案在文末:公众号“Python小屋”参考答案:......