当前位置: 首页 > news >正文

python-docx 节操作

在 Word 文档中,节(Section) 是控制页面布局的最小单元,允许文档中存在不同的页边距、纸张大小或方向。

一、节的本质与作用

节是文档中具有统一页面设置的连续区域。一个文档可以包含多个节,每个节可独立设置:

  • 页边距(上/下/左/右)
  • 纸张大小与方向(横向/纵向)
  • 页眉页脚样式
  • 页码格式与起始位置

默认情况下,新建文档仅包含 1 个节,所有内容共享相同的页面设置。当需要在文档中插入不同布局(如部分页面横向排版)时,需添加新节。

二、节的基本操作

1. 访问文档中的节

通过 Document.sections 属性获取文档中所有节(返回列表,按顺序排列):

from docx import Documentdoc = Document()
sections = doc.sections  # 节列表
# 访问第一个节(默认节)
first_section = sections[0]

2. 添加新节

使用 add_section() 方法在文档末尾添加新节,新节默认继承前一节的页面设置:

# 在文档末尾添加新节
new_section = doc.add_section()

注意:新节的内容从添加位置开始,后续新增的内容(段落、表格等)会自动属于当前最后一个节。

三、页面设置

每个节的页面设置通过节对象的属性控制,以下是常用配置:

1. 页边距设置

控制内容与纸张边缘的距离,支持英寸(Inches)或厘米(Cm)单位:

from docx.shared import Inches, Cm
section = doc.sections[0]# 上/下/左/右页边距
section.top_margin = Inches(1.0)    # 上页边距 1 英寸
section.bottom_margin = Cm(2.5)    # 下页边距 2.5 厘米
section.left_margin = Inches(1.25)  # 左页边距 1.25 英寸
section.right_margin = Inches(1.25) # 右页边距 1.25 英寸# 页眉/页脚与页边距的距离
section.header_distance = Pt(12)   # 页眉距上页边距 12 磅
section.footer_distance = Pt(12)   # 页脚距下页边距 12 磅

2. 纸张大小与方向

from docx.shared import Cm
from docx.enum.section import WD_ORIENTATIONsection = doc.sections[0]# 设置纸张大小(A4:21cm 宽 × 29.7cm 高)
section.page_width = Cm(21.0)   # 纸张宽度
section.page_height = Cm(29.7)  # 纸张高度# 设置页面方向(纵向/横向)
section.orientation = WD_ORIENTATION.LANDSCAPE  # 横向
# section.orientation = WD_ORIENTATION.PORTRAIT  # 纵向(默认)

提示:设置横向时,page_widthpage_height 会自动交换(无需手动调整)。

3. 页码与节的关联

节可以独立设置页码格式和起始值,适合多章节文档:

from docx.enum.header_footer import WD_HEADER_FOOTER# 取消与前一节的页眉页脚关联(独立设置)
section = doc.sections[1]
section.different_first_page_header_footer = True  # 首页不同
section.header.is_linked_to_previous = False       # 页眉不继承前节
section.footer.is_linked_to_previous = False       # 页脚不继承前节# 设置页码起始值(从 1 开始)
section.start_page_numbering_at = 1

五、注意事项

  1. 节的顺序与内容归属:新增内容默认属于最后一个节,若需在中间节添加内容,需先定位到对应位置(通过段落索引插入)。
  2. 继承关系:新节默认继承前一节的设置,修改时需先取消关联(is_linked_to_previous = False)。
  3. 兼容性:复杂的节设置可能在不同版本 Word 中显示有差异,建议最终用目标版本验证。
http://www.dtcms.com/a/536946.html

相关文章:

  • [nanoGPT] 文本生成 | 自回归采样 | `generate`方法
  • 【Linux专栏】shell脚本变量的取值|转换
  • [Dify 实战] 插件调试技巧(进阶篇):本地测试与部署全流程问题排查指南(Dify本地部署环境下)
  • 一、初识 LangChain:架构、应用与开发环境部署
  • 中山公司网站建设阿里云域名交易平台
  • 做flash音乐网站的开题报告做网站建设的合同范本
  • Trait与泛型高级用法
  • 解锁效率:一份关于大语言模型量化的综合技术指南
  • 网站后天添加文章不显示上海搜索优化推广哪家强
  • 前端基础之《React(3)—webpack简介-集成JSX语法支持》
  • 虚拟机之间配置免密登录(Centos)
  • 嵌入式测试的工作内容非常具体和专业化,它横跨了软件和硬件两个领域。
  • 保定网站建设团队网站备案密码 多少位
  • ZW3D二次开发_整图缩放
  • 滁州网站建设费用开发公司网签价格
  • 福州建网站公司最好的营销型网站建设公司
  • 新手入门:一篇看懂计算机基础核心知识
  • 每日算法刷题Day80:10.27:leetcode 回溯11道题,用时3h
  • 建设一个网站的规划广州seo公司如何
  • [强化学习] 第1篇:奖励信号是智能的灵魂
  • 从“看得见“到“看得懂“:监控安全管理的智能进化
  • YOLOv5 核心模块解析与可视化
  • 昆山外贸型网站制作建站科技公司
  • 快速建站框架网站如何做360优化
  • 网站公司做网站网络推广公司介绍
  • 百度网站验证方法室内设计效果图多少钱一张
  • 网站服务器查找wordpress cms主题制作
  • 《Chart.js 柱形图:全面解析与实战指南》
  • 物联网设备运维中的上下文感知自动化响应与策略动态调整
  • JAVA面试汇总(五)数据库(二)