【python 您所在的位置:网站首页 word的页边距可以通过什么来设置 【python

【python

#【python| 来源: 网络整理| 查看: 265

1.插入节

Word可以把文档分成不同的部分方便管理,即不同的节,在python-docx把节用Section对象表示,Document对象有add_section()方法添加节,可以通过sections属性获取所以节。值得注意的是,Document对象没有默认的段落,但有一个默认的节

from docx import Document from docx.enum.section import WD_SECTION_START doc = Document() print(len(doc.paragraphs)) # 0,没有默认段落 print(len(doc.sections)) # 1,有默认节 default_section = doc.sections[0] # 获取默认节 new_section = doc.add_section(start_type=WD_SECTION_START.NEW_PAGE) # 新增一个节,类型是新页的分隔符 new_section.start_type = WD_SECTION_START.EVEN_PAGE # WD_SECTION_START.CONTINUOUS 连续分节符,枚举值0 # WD_SECTION_START.NEW_COLUMN 新列分节符,枚举值1 # WD_SECTION_START.NEW_PAGE 新页分节符,枚举值2 # WD_SECTION_START.EVEN_PAGE 偶数页分节符,枚举值3 # WD_SECTION_START.ODD_PAGE 奇数页分节符,枚举值4 for section in doc.sections: print(section.start_type)

如果插入节不指定节的类型,默认是WD_SECTION_START.NEW_PAGE,即新页节,另外还有连续分节符、奇数页、偶数页等常用节的类型都有枚举值,传入对应的数字也是可以的,例如WD_SECTION_START.NEW_PAGE可以用2代替

2.自定义纸张大小 from docx import Document from docx.shared import Cm doc = Document("./test.docx") default_section = doc.sections[0] # 默认宽度和高度 print(default_section.page_width.cm) # 21.59 print(default_section.page_height.cm) # 27.94 # 可直接修改宽度和高度,即纸张大小改为自定义 default_section.page_width = Cm(30) default_section.page_height = Cm(20) doc.save("./test.docx") 3.纸张方向

Section对象的orientation控制纸张的方向,WD_ORIENTATION枚举类型有PORTRAIT和LANDSCAPE 分别表示纵向和横向,可以用数字0和1代替。默认是纵向(PORTRAIT),值得注意的是,如果要改为横向,除了修改orientation还需要手动调换一下Section的宽度和高度才行

... print(default_section.orientation) # 默认是PORTRAIT,即纵向 default_section.orientation = WD_ORIENTATION.LANDSCAPE # 改为横向 # 需要手动互换高度和宽带 default_section.page_width, default_section.page_height = default_section.page_height, default_section.page_width 4.页边距

Section对象分别用top_margin、right_margin、bottom_margin、left_margin来表示上左下右四个边距

print(default_section.top_margin.cm) # 2.54 print(default_section.right_margin.cm) # 3.175 print(default_section.bottom_margin.cm) # 2.54 print(default_section.left_margin.cm) # 3.175 # 修改页边距 default_section.top_margin = Cm(2.5) default_section.right_margin = Cm(3) default_section.bottom_margin = Cm(2.5) default_section.left_margin = Cm(3) 5.装订线

Section对象的gutter属性代表装订线的位置,可以直接修改

# 默认装订线是0 print(default_section.gutter) # 修改装订线为1厘米 default_section.gutter = Cm(1) 6.页眉页脚

Section对象的header属性和footer属性分别获取到页眉和页脚,页眉页脚的使用方式是一样的

doc = Document() default_section = doc.sections[0] section2 = doc.add_section() # 页眉 header = section2.header # 获取章节的页眉 print(header.is_linked_to_previous) # 默认是链接到上一节 header.is_linked_to_previous = False # 取消链接到上一节,即不使用上一章节的样式 header.paragraphs[0].add_run("第二章节的页眉") # 添加页眉文本 header.paragraphs[0].alignment = WD_PARAGRAPH_ALIGNMENT.CENTER # 页眉样式,居中对齐 print(section2.header_distance.cm) # 页眉到顶端的距离,默认是1.27 section2.header_distance = Cm(1.5) # 修改页眉到顶端的距离 # 页脚 footer = section2.footer # 获取章节的页脚 footer.is_linked_to_previous = True # 使用上一章节的页脚样式 footer.paragraphs[0].add_run("这是页脚文本") # 添加页脚文本 footer.paragraphs[0].alignment = WD_PARAGRAPH_ALIGNMENT.LEFT # 页脚,居左对齐 print(section2.footer_distance.cm) # 页脚到底端的距离,默认是1.27 section2.footer_distance = Cm(1.5) # 修改页脚到底端的距离 7.首页相同和奇偶页不同

首页相同和奇偶页不同设置很简单,就修改一下属性的布尔值,但要注意一下优先级,如果在不同情况都对Section设置了样式,优先级是,首页不同>奇偶页>普通页

# 首页不同,默认是False,即默认首页相同 section2.different_first_page_header_footer = True # 奇偶页不同,默认是False,即默认奇偶页相同 doc.settings.odd_and_even_pages_header_footer = True


【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有