Word 中的分节符允许用户将文档划分为多个部分,每个部分都有独特的格式选项。在处理长文档时,如果想在同一文档中应用不同的布局、页眉、页脚、页边距或页面方向等,分节符是必要的元素。在本文中,您将学习如何使用 Spire.Doc for Python 在 Word 中插入或删除分节符。
安装 Spire.Doc for Python
本教程需要用到 Spire.Doc for Python 和 plum-dispatch v1.7.4。可以通过以下 pip 命令将它们轻松安装到 Windows 中。
pip install Spire.Doc
如果您不确定如何安装,请参考:如何在 Windows 中安装 Spire.Doc for Python
Python 在 Word 中插入分节符
Spire.Doc for Python 提供了 Paragraph.InsertSectionBreak(breakType: SectionBreakType) 方法,用于在段落中插入指定类型的分节符。下表概述了支持的分节符类型及其相应的枚举和说明:
分节符 | 枚举 | 描述 |
下一页 | SectionBreakType.NewPage | 在新页面上开始新节。 |
连续 | SectionBreakType.NoBreak | 在同一页面上开始新节。 |
奇数页 | SectionBreakType.OddPage | 在下一奇数页上开始新节。 |
偶数页 | SectionBreakType.EvenPage | 在下一偶数页上开始新节。 |
新建栏 | SectionBreakType.NewColumn | 在下一栏中开始新节。 |
以下是插入连续分节符的详细步骤:
- 创建 Document 类的对象。
- 使用 Document.LoadFromFile() 方法加载 Word 文档。
- 使用 Document.Sections[] 属性获取指定的章节。
- 使用 Section.Paragraphs[] 属性获取指定段落。
- 使用 Paragraph.InsertSectionBreak() 方法在段落末尾添加分段符。
- 使用 Document.SaveToFile() 方法保存结果文档。
- Python
from spire.doc import *
from spire.doc.common import *
inputFile = "测试.docx"
outputFile = "插入分节符.docx"
# 创建Document对象
document = Document()
# 加载Word文档
document.LoadFromFile(inputFile)
# 获取文档中第一节
section = document.Sections[0]
# 获取第一段
paragraph = section.Paragraphs[0]
# 插入连续分节符
paragraph.InsertSectionBreak(SectionBreakType.NoBreak)
# 保存结果文件
document.SaveToFile(outputFile, FileFormat.Docx2016)
document.Close()
Python 删除 Word 中的分节符
要删除 Word 文档中的所有分节符,我们需要访问文档中的第一个分节,然后将其他分节的内容复制到第一个分节后再删除。以下是详细步骤:
- 创建 Document 类的对象。
- 使用 Document.LoadFromFile() 方法加载 Word 文档。
- 使用 Document.Sections[] 属性获取第一节。
- 遍历文档中的其他部分。
- 获取第二节,然后遍历获取其子对象。
- 使用 Section.Body.ChildObjects.Add() 方法复制第二节的子对象并将其添加到第一节中。
- 使用 Document.Sections.Remove() 方法删除第二个部分。
- 重复上述过程,复制并删除其余分节。
- 使用 Document.SaveToFile() 方法保存结果文档。
- Python
from spire.doc import *
from spire.doc.common import *
inputFile = "实验.docx"
outputFile = "删除分节符.docx"
# 创建Document对象
document = Document()
# 加载Word文档
document.LoadFromFile(inputFile)
# 获取文档中第一节
sec = document.Sections[0]
# 遍历文档中其他节
for i in range(document.Sections.Count - 1):
# 获取第二节
section = document.Sections[1]
# 遍历第二节中所有子对象
for j in range(section.Body.ChildObjects.Count):
# 获取子对象
obj = section.Body.ChildObjects.get_Item(j)
# 将子对象复制到第一节
sec.Body.ChildObjects.Add(obj.Clone())
# 移除第二节
document.Sections.Remove(section)
# 保存结果文档
document.SaveToFile(outputFile, FileFormat.Docx2016)
document.Close()
申请临时 License
如果您希望删除结果文档中的评估消息,或者摆脱功能限制,请该Email地址已收到反垃圾邮件插件保护。要显示它您需要在浏览器中启用JavaScript。获取有效期 30 天的临时许可证。