【python-docx】插入节、自定义纸张大小、纸张方向、页边距、装订线、页眉页脚、首页相同和奇偶页不同
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】插入节、自定义纸张大小、纸张方向、页边距、装订线、页眉页脚、首页相同和奇偶页不同相关推荐
- wps纸张大小设置成A4_WPS双面打印时怎么设置奇偶页不同的装订线?方法超简单...
平时我们在阅读大量工作文件,或者是看小说.学习一门专门的专业知识时,很多人都会喜欢看电子版的文档.但是,长时间对着电脑或者是手机看文档,不仅眼睛会容易感到疲劳,可能还是导致头疼,所以此时,将需要看的大 ...
- 垂直距页边距5厘米_Word页面设置,含纸张大小与方向、页边距和文字方向
在 Word 中,页面设置包括纸张大小.页边距.纸张方向.文字方向.分栏.分隔符等内容,本篇将介绍前面四项的设置方法.其中,纸张大小和页边距都分享了两种设置方法,即选用内置样式和自定义,此外,还分享了 ...
- C# PrintDocument 自定义打印纸张大小和方向
PrintDocument.DefaultPageSettings.Landscape = true; //(True为横向,False为竖向) PrintDocument.DefaultPageS ...
- wps纸张大小设置成A4_word2010页面设置:手把手教你添加页眉、页脚、页码、边框和底纹...
word 2010是目前office应用里最常用的了,那么基础的入门知识你都会了吗? 今天就来手把手教大家进行简单的页面设置. 1.添加页眉.页脚 页眉位于页面的顶端,页脚位于页面的底端,它们不占用正 ...
- 代码 操作 excel 打印且适应纸张大小
打印前 先 修改 excel 单元格 适应 a4纸 行高,列换 根据 换行符 设置行高 for I := 1 to ExcelApp.ActiveSheet.UsedRange.rows.Coun ...
- java word 纸张大小_Java 设置 Word 页边距, 页面大小, 页面方向, 页面边框
Java 设置 Word 页边距, 页面大小, 页面方向, 页面边框 本文将通过 Java 示例介绍如何设置 Word 页边距 (包括上, 下, 左, 右), 页面大小 (可设置 Letter/A3/ ...
- Autocad经验 CAD2018怎么设置打印的纸张尺寸和方向?
我们在进行图纸设计的时候,不仅要专业知识够硬,还要学会运用很多的小技巧,比如怎么修改图纸特性.选择打印纸张,调整打印边距离,还有,居中打印 勾选.修改图形方向.使CAD打印界面的设置纸张.图形方向一致 ...
- Java设置Excel打印一页宽_Java Excel页面设置:页边距、页面大小/方向/背景、缩放比例、打印范围...
关于内容概述 本文介绍如何通过Java 程序进行Excel页面设置,如设置页边距.页面大小.页面方向.页面背景.页面缩放比例.打印范围等等.可参考如下方法进行相关代码操作: 关于工具使用 工具使用免费 ...
- java 页边距_Java Excel页面设置:页边距、页面大小/方向/背景、缩放比例、打印范围...
关于内容概述 本文介绍如何通过Java 程序进行Excel页面设置,如设置页边距.页面大小.页面方向.页面背景.页面缩放比例.打印范围等等.可参考如下方法进行相关代码操作: 关于工具使用 工具使用免费 ...
最新文章
- linux uvc 支持的设备,摄像头是否支持uvc
- epic登陆按钮一直在转_双剑合璧!GOG GALAXY 2.0官方支持Epic商店集成
- Ubuntu 16.04 UUID 开机自动挂载硬盘
- 什么是微服务 Martin Fowler的microservices
- 上午的工作多以学习为主
- Linux嵌入式时区修改
- 谷歌浏览器整个网页截图方法
- VSTO 实现word的多级列表功能
- 【FTP工具】8UFTP工具是我自己比较经常用的,推荐。
- web移动端:流式布局
- linux玩安卓游戏下载,在Deepin 20.2系统下可用Xdroid on Linux来玩王者荣耀游戏
- 61家第三方收单机构、247家商业银行、70家农商银行及119家村镇银行收单机构号
- Assets, Objects and serialization Assets, Objects与序列化 最佳实践系列3
- js关系图库:aworkflow
- vue仿淘宝京东商品多条件筛选(vue实现)
- android 应用图标替换后手机安装还显示旧的图标或者显示android小人人
- 营销之父科特勒万字演讲实录:营销的未来(含PPT和视频回放)
- 使用Aspose在Java中将Excel文件转换为HTML
- Android application 和 activity 标签详解
- 链霉亲和素修饰的载玻片Streptavidin coated glass slides(齐岳生物)
热门文章
- 金山词霸2007在adobe acrobat reader 中无法取词,居然是和公司的安装文档系统有冲突。
- Html之pre、xmp标签_感觉没什么用_实例
- 秋读|10本热门图书(人工智能、编程开发、架构、区块链等)免费送!
- qtp xml联合xsl输出html报表,用QTP实现数据的整理(将test1.xsl中的数据整理成result.xls)...
- ALV常用参数的详细描述
- [风格迁移系列五: WaveCT-AIN] 医学图像的风格迁移和跨域自适应(泛化性)
- Gephi可视化西游记人物关系图
- 森林生态旅游与康养类毕业论文文献都有哪些?
- S32K系列之PDB框图详解及PDB触发ADC
- java中pack()