当前位置: 技术文章>> python操作word之处理文档中的间距和缩进

文章标题:python操作word之处理文档中的间距和缩进
  • 文章分类: 后端
  • 10156 阅读

段落与段落之间可以设置距离,比如说段前16磅,段后20磅,这里就需要用到长度单位了,我们以后再学习python-docx的长度单位,现在先提前用一下“磅”这个单位,用Pt这个类表示,实例化对象的时候传入磅数即可,比如说Pt(20)就表示20磅。

有了长度单位之后我们就可以设置段落的距离了。首先要知道Paragraph对象用ParagraphFormat这个类来管理样式,前面我们学习对齐的时候设置的alignment属性其实就是ParagraphFormat对象的,这次我们来修改一下ParagraphFormat对象的space_before和space_after属性,这两个属性分别表示段前和段后的距离,看一下我的代码:

from docx
import Documentfrom docx.shared
import Ptdoc = Document() paragraph = doc.add_paragraph( "某一天Of fice遇到了Python")
paragraph.paragraph_format.space_before = Pt(16)# 段前16磅paragraph.paragraph_format.space_after = Pt(20)# 段后20磅doc.save("./word_ files/test.docx")

当然ParagraphFormat对象肯定没那么简单,它还有其他的属性,比如说f i rst_line_indent表示首行缩进,line_spacing表示行间距,代码如下:

...paragraph = doc.add_paragraph("某一天Of fice遇到了Python")paragraph.paragraph_format.line_spacing = Pt(20)  # 行间距,固定值20磅paragraph.paragraph_format.first_line_indent = Pt(10)  # 首行缩进10磅

说到行间距,如果直接指定line_spacing的值,那就是固定行间距,如果指定一个数字就表示多倍行距,比如说1.5倍行距、2倍行距、3倍行距等,代码如下:

...paragraph.paragraph_format.line_spacing = 1.5  # 1.5倍行距paragraph.paragraph_format.line_spacing = 2  # 2倍行距


推荐文章