本文主要介绍扩展库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控制Word文件中段落格式与文本格式相关推荐

  1. python复制文本文件_Python如何复制文件中的内容

    Python复制文件中内容的方法: 1.使用shutil.copyfile(file1,file2)方法复制 file1为需要复制的源文件的文件路径,file2为目标文件的文件路径+文件名. 如下:将 ...

  2. python保存运行结果下次使用_将python运行结果保存至本地文件中的示例讲解

    一.建立文件,保存数据 1.使用python中内置的open函数 打开txt文件 #mode 模式 #w 只能操作写入 r 只能读取 a 向文件追加 #w+ 可读可写 r+可读可写 a+可读可追加 # ...

  3. Python编程--使用PyPDF解析PDF文件中的元数据

    Python编程–使用PyPDF解析PDF文件中的元数据 元数据 作为一种文件里非常明显可见的对象,元数据可以存在于文档.电子表格.图片.音频和视频文件中.创建这些文件的应用程序可能会把文档的作者.创 ...

  4. Cocos2d-x 3.8.1+Cocos Studio 2.3.2捉虫记之控制场景文件中的骨骼动画

    Cocos2d-x 3.8.1+Cocos Studio 2.3.2捉虫记之控制场景文件中的骨骼动画 引子 这段时间一直努力在把早期版本的拇指接龙游戏(Cocos2d-x 2.2.3+CocoStud ...

  5. 如何用python和pip安装在txt文件中配置好版本的库包

    如何用python和pip安装在txt文件中配置好版本的库包 文章目录: 一.建立库包版本的txt配置文件 二.安装txt配置文件中的库包 有时候你自己用python实现一个项目,然后想把它在gith ...

  6. 使用Python批量替换指定目录所有文件中的指定文本

    使用Python批量替换指定目录所有文件中的指定文本 # -*- coding: utf-8 -*- import os from = "aaa" #替换为什么内容,可以是多行 t ...

  7. Python如何引用另一个py文件中的变量

    Python如何引用另一个py文件中的变量 1.新建一个aa.py文件 2.新建一个bb.py文件 将变量和函数功能分开保存,这样可以简化自己的代码,看起来更简洁也便于维护,今天需要用到录入很多多维l ...

  8. 导出excel此单元格中的数字为文本格式,或者其前面有撇号

    前言: 无论大家使用的是java,js,.net等技术导出excel,都会出现下面的问题. 这篇文章只提供解决思路,以及用easyexcel导出 的处理方式,其他技术大家可以举一反三. 1.导出exc ...

  9. EXCEL中如何将日期格式转换为文本格式

    日期格式的单元格内容应当如何转换为文本格式呢? 本文将针对日期格式和文本格式的转换进行简要讲解. 工具/原料 EXCEL 方法/步骤 如本例,A列中列示的内容为日期格式,要求将A列中的日期格式转换为文 ...

最新文章

  1. FD.io/VPP — ACL
  2. 中间人攻击框架以及工具,中国寒龙出品欢迎下载!~
  3. MongoDB 聚合操作
  4. Shell脚本攻略03-使用shell进行数学运算
  5. (chap6 Http首部) 通用首部字段 Connection
  6. redhat6、redhat7、centos6、7安装nginx
  7. 用JoyToKey使游戏手柄变键盘或鼠标
  8. html之文档的头部和元数据定义(下,未写完)
  9. java环境变量自动设置_自动设置Java环境变量
  10. 用泛型的sort与binarySearch方法
  11. python线程监控_Python监控php-fpm进程
  12. 二叉树前序遍历、中序遍历、后序遍历 递归和非递归方式实现
  13. 《轩辕剑四》:一场关于青铜朋客古代黑科技的浪漫幻想
  14. equal和==的区别
  15. 多行文本垂直居中的三种方法
  16. ModelState.IsValid忽略型别的检查错误
  17. 数控计算机实习小结,数控机床实习心得体会
  18. 任正非揭秘华为鸿蒙,任正非揭秘!华为鸿蒙系统,比安卓、苹果系统快,为物联网而生...
  19. mac浏览器打不开html,Mac电脑能联网但是浏览器打不开网页怎么解决
  20. Xcode10 报错 target xxx(project 'xxx')has copy command from ‘xxx/xxx’ to ''xxx/xxx.app/COPYING'解决方案

热门文章

  1. 电子管晶体管示波器电路图
  2. 服务监控可以监控哪些
  3. 浅谈ASP脚本的解释
  4. 贴片陶瓷电容器尺寸规格总结
  5. SLAM学习笔记《Past, Present, and Future of Simultaneous Localization and Mapping: Toward the Robust-Per》
  6. java之extends关键字
  7. php前台限制输入text字符,限制字符输入数功能(jquery版和原生JS版)
  8. CSS布局与定位,flow流,float
  9. 恢复W ndows10系统方法步骤,教你windows10的映像文件还原系统
  10. LP32,ILP32,LP64,LLP64,ILP64数据模型