1.插入节

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

from docx import Document
from docx.enum.section import WD_SECTION_STARTdoc = 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    奇数页分节符,枚举值4for 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 Cmdoc = 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

【python-docx】插入节、自定义纸张大小、纸张方向、页边距、装订线、页眉页脚、首页相同和奇偶页不同相关推荐

  1. wps纸张大小设置成A4_WPS双面打印时怎么设置奇偶页不同的装订线?方法超简单...

    平时我们在阅读大量工作文件,或者是看小说.学习一门专门的专业知识时,很多人都会喜欢看电子版的文档.但是,长时间对着电脑或者是手机看文档,不仅眼睛会容易感到疲劳,可能还是导致头疼,所以此时,将需要看的大 ...

  2. 垂直距页边距5厘米_Word页面设置,含纸张大小与方向、页边距和文字方向

    在 Word 中,页面设置包括纸张大小.页边距.纸张方向.文字方向.分栏.分隔符等内容,本篇将介绍前面四项的设置方法.其中,纸张大小和页边距都分享了两种设置方法,即选用内置样式和自定义,此外,还分享了 ...

  3. C# PrintDocument 自定义打印纸张大小和方向

    PrintDocument.DefaultPageSettings.Landscape = true;  //(True为横向,False为竖向) PrintDocument.DefaultPageS ...

  4. wps纸张大小设置成A4_word2010页面设置:手把手教你添加页眉、页脚、页码、边框和底纹...

    word 2010是目前office应用里最常用的了,那么基础的入门知识你都会了吗? 今天就来手把手教大家进行简单的页面设置. 1.添加页眉.页脚 页眉位于页面的顶端,页脚位于页面的底端,它们不占用正 ...

  5. 代码 操作 excel 打印且适应纸张大小

    打印前 先 修改 excel 单元格  适应 a4纸 行高,列换 根据 换行符  设置行高 for I := 1 to ExcelApp.ActiveSheet.UsedRange.rows.Coun ...

  6. java word 纸张大小_Java 设置 Word 页边距, 页面大小, 页面方向, 页面边框

    Java 设置 Word 页边距, 页面大小, 页面方向, 页面边框 本文将通过 Java 示例介绍如何设置 Word 页边距 (包括上, 下, 左, 右), 页面大小 (可设置 Letter/A3/ ...

  7. Autocad经验 CAD2018怎么设置打印的纸张尺寸和方向?

    我们在进行图纸设计的时候,不仅要专业知识够硬,还要学会运用很多的小技巧,比如怎么修改图纸特性.选择打印纸张,调整打印边距离,还有,居中打印 勾选.修改图形方向.使CAD打印界面的设置纸张.图形方向一致 ...

  8. Java设置Excel打印一页宽_Java Excel页面设置:页边距、页面大小/方向/背景、缩放比例、打印范围...

    关于内容概述 本文介绍如何通过Java 程序进行Excel页面设置,如设置页边距.页面大小.页面方向.页面背景.页面缩放比例.打印范围等等.可参考如下方法进行相关代码操作: 关于工具使用 工具使用免费 ...

  9. java 页边距_Java Excel页面设置:页边距、页面大小/方向/背景、缩放比例、打印范围...

    关于内容概述 本文介绍如何通过Java 程序进行Excel页面设置,如设置页边距.页面大小.页面方向.页面背景.页面缩放比例.打印范围等等.可参考如下方法进行相关代码操作: 关于工具使用 工具使用免费 ...

最新文章

  1. linux uvc 支持的设备,摄像头是否支持uvc
  2. epic登陆按钮一直在转_双剑合璧!GOG GALAXY 2.0官方支持Epic商店集成
  3. Ubuntu 16.04 UUID 开机自动挂载硬盘
  4. 什么是微服务 Martin Fowler的microservices
  5. 上午的工作多以学习为主
  6. Linux嵌入式时区修改
  7. 谷歌浏览器整个网页截图方法
  8. VSTO 实现word的多级列表功能
  9. 【FTP工具】8UFTP工具是我自己比较经常用的,推荐。
  10. web移动端:流式布局
  11. linux玩安卓游戏下载,在Deepin 20.2系统下可用Xdroid on Linux来玩王者荣耀游戏
  12. 61家第三方收单机构、247家商业银行、70家农商银行及119家村镇银行收单机构号
  13. Assets, Objects and serialization Assets, Objects与序列化 最佳实践系列3
  14. js关系图库:aworkflow
  15. vue仿淘宝京东商品多条件筛选(vue实现)
  16. android 应用图标替换后手机安装还显示旧的图标或者显示android小人人
  17. 营销之父科特勒万字演讲实录:营销的未来(含PPT和视频回放)
  18. 使用Aspose在Java中将Excel文件转换为HTML
  19. Android application 和 activity 标签详解
  20. 链霉亲和素修饰的载玻片Streptavidin coated glass slides(齐岳生物)

热门文章

  1. 金山词霸2007在adobe acrobat reader 中无法取词,居然是和公司的安装文档系统有冲突。
  2. Html之pre、xmp标签_感觉没什么用_实例
  3. 秋读|10本热门图书(人工智能、编程开发、架构、区块链等)免费送!
  4. qtp xml联合xsl输出html报表,用QTP实现数据的整理(将test1.xsl中的数据整理成result.xls)...
  5. ALV常用参数的详细描述
  6. [风格迁移系列五: WaveCT-AIN] 医学图像的风格迁移和跨域自适应(泛化性)
  7. Gephi可视化西游记人物关系图
  8. 森林生态旅游与康养类毕业论文文献都有哪些?
  9. S32K系列之PDB框图详解及PDB触发ADC
  10. java中pack()