使用Python在Word文档中插入页眉和页脚

 更新时间:2026年01月12日 09:22:51   作者:大丸子  
在企业日常工作中,专业的文档排版对于报告、计划书或汇报材料至关重要,页眉页脚不仅承载标题、公司名称、日期信息,还能插入公司 Logo,本文将展示如何创建带页眉、页脚和图片的 Word 文档,结合实际业务场景,构建标准化报告模板,需要的朋友可以参考下

引言

在企业日常工作中,专业的文档排版对于报告、计划书或汇报材料至关重要。页眉页脚不仅承载标题、公司名称、日期信息,还能插入公司 Logo,使文档更具规范性和识别度。手动操作容易出错且效率低,而 Python 提供了自动化生成 Word 文档的能力。本文将展示如何创建带页眉、页脚和图片的 Word 文档,结合实际业务场景,构建标准化报告模板。

本文所用示例基于 Free Spire.Doc for Python。

1. 环境准备与安装

在使用之前,需要安装 Spire.Doc for Python:

pip install spire.doc.free

安装完成后即可在 Python 中导入库,创建 Word 文档并进行内容和排版操作。

2. 创建文档与分页

首先创建 Word 文档对象并添加节与分页:

from spire.doc import Document, BreakType

# 创建文档
document = Document()
section = document.AddSection()

# 添加分页
section.AddParagraph().AppendBreak(BreakType.PageBreak)

技术说明与关键方法

  • Document 表示整个 Word 文档对象。
  • AddSection() 创建新节,用于分节或分页管理。
  • AppendBreak(BreakType.PageBreak) 添加分页符,便于后续排版。

3. 插入页眉文本

页眉通常包含报告标题、公司名称或日期信息,可采用多段落实现不同内容布局:

from spire.doc import HorizontalAlignment

header = section.HeadersFooters.Header

# 左侧文本:报告标题
header_para1 = header.AddParagraph()
header_para1.AppendText("月度销售报告").CharacterFormat.FontSize = 12
header_para1.Format.HorizontalAlignment = HorizontalAlignment.Left

# 右侧文本:公司名称
header_para2 = header.AddParagraph()
header_para2.AppendText("公司名称").CharacterFormat.FontSize = 12
header_para2.Format.HorizontalAlignment = HorizontalAlignment.Right

技术说明与关键方法

  • HeadersFooters.Header 获取页眉对象。
  • AddParagraph() 添加段落。
  • AppendText(text) 向段落中添加文本。
  • Format.HorizontalAlignment 设置段落水平对齐方式。
  • CharacterFormat.FontSize 设置文字大小。

4. 在页眉中插入图片

企业 Logo 或标识常放在页眉,可通过以下方式插入:

from spire.doc import ShapeHorizontalAlignment, TextWrappingStyle

image = header_para1.AppendPicture("Image.jpg")  # 图片路径
image.Width = 40
image.Height = 40
image.TextWrappingStyle = TextWrappingStyle.InFrontOfText
image.HorizontalAlignment = ShapeHorizontalAlignment.Center

技术说明与关键方法

  • AppendPicture(path) 方法可插入本地图片。
  • 可结合 DocPicture.HorizontalAlignment 设置图片在段落中的位置。
  • 支持多段落组合文本与图片,实现灵活排版。

5. 插入页脚及页码

页脚可包含页码和总页数,增强文档规范性:

from spire.doc import FieldType

footer = section.HeadersFooters.Footer
footer_para = footer.AddParagraph()
footer_para.Format.HorizontalAlignment = HorizontalAlignment.Center

footer_para.AppendText("第 ").CharacterFormat.FontSize = 12
footer_para.AppendField("PageNum", FieldType.FieldPage).CharacterFormat.FontSize = 12
footer_para.AppendText(" 页,共 ").CharacterFormat.FontSize = 12
footer_para.AppendField("NumPages", FieldType.FieldNumPages).CharacterFormat.FontSize = 12
footer_para.AppendText(" 页").CharacterFormat.FontSize = 12

技术说明与关键方法

  • HeadersFooters.Footer 获取页脚对象。
  • AppendField(fieldName, FieldType) 可插入 Word 域,如页码 FieldPage 和总页数 FieldNumPages
  • 页脚段落可使用 Format.HorizontalAlignment 设置居中或其他对齐方式。

6. 保存文档并释放资源

完成页眉、页脚及图片设置后,将文档保存并释放资源:

from spire.doc import FileFormat

document.SaveToFile("Monthly_Report.docx", FileFormat.Docx)
document.Dispose()
print("文档创建完成:Monthly_Report.docx")

技术说明与关键方法

  • SaveToFile(filename, FileFormat) 保存 Word 文档。
  • Dispose() 释放文档对象占用资源,确保文件不被锁定。

结果文档预览

以下是使用上述代码完成创建的 Word 文档预览:

7. 总结

本文介绍了如何使用 Python 在 Word 文档中自动插入页眉、页脚和图片,实现报告模板的自动化生成。通过编程可以灵活添加多段落文本、企业 Logo 以及动态页码,使文档排版更加规范和专业。掌握 DocumentAddSection()HeadersFootersAddParagraph()AppendText()AppendPicture()AppendField() 等核心方法,就能够高效创建符合业务需求的 Word 文档,显著提升文档制作效率和一致性。

以上就是使用Python在Word文档中插入页眉和页脚的详细内容,更多关于Python Word插入页眉和页脚的资料请关注脚本之家其它相关文章!

相关文章

  • Python实现的堆排序算法原理与用法实例分析

    Python实现的堆排序算法原理与用法实例分析

    这篇文章主要介绍了Python实现的堆排序算法,简单描述了堆排序的原理,并结合实例形式分析了Python实现堆排序的相关操作技巧,代码中备有较为详细的注释便于理解,需要的朋友可以参考下
    2017-11-11
  • python中__slots__用法实例

    python中__slots__用法实例

    这篇文章主要介绍了python中__slots__用法,实例分析了__slots__的功能与相关使用技巧,需要的朋友可以参考下
    2015-06-06
  • Python YAML文件的读写操作详解

    Python YAML文件的读写操作详解

    这篇文章主要介绍了Python读写yaml文件,yaml 是专门用来写配置文件的语言,非常简洁和强大,之前用ini也能写配置文件,有点类似于json格式,下面关于Python读写yaml文件的详细资料,需要的小伙伴可以参考一下
    2022-08-08
  • 对Python捕获控制台输出流的方法详解

    对Python捕获控制台输出流的方法详解

    今天小编就为大家分享一篇对Python捕获控制台输出流的方法详解,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-01-01
  • Django Python 获取请求头信息Content-Range的方法

    Django Python 获取请求头信息Content-Range的方法

    今天小编就为大家分享一篇Django Python 获取请求头信息Content-Range的方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-08-08
  • numpy取反操作符和Boolean类型与0-1表示方式

    numpy取反操作符和Boolean类型与0-1表示方式

    这篇文章主要介绍了numpy取反操作符和Boolean类型与0-1表示方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-03-03
  • 简单介绍Python中的round()方法

    简单介绍Python中的round()方法

    这篇文章主要介绍了简单介绍Python中的round()方法,是Python入门的基础知识,需要的朋友可以参考下
    2015-05-05
  • Python+Matplotlib绘制带有对角线的散点图的示例代码

    Python+Matplotlib绘制带有对角线的散点图的示例代码

    Matplotlib 是一个用于绘制二维图形的 Python 库,这篇文章主要介绍了Python如何利用Matplotlib绘制带有对角线的散点图,需要的小伙伴可以参考一下
    2023-06-06
  • 基于Python编写一个B站全自动抽奖的小程序

    基于Python编写一个B站全自动抽奖的小程序

    本文将利用Python编写一个B站全自动抽奖的小程序,可以实时监控自己关注的UP主,如果关注的UP主中有人发布了抽奖的动态,就自动参与这个抽奖。这样就能不错过任何一个可以暴富的机会了。需要的可以参考一下
    2022-03-03
  • Django学习之路之请求与响应

    Django学习之路之请求与响应

    这篇文章主要为大家详细介绍了Django的请求与响应,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下,希望能够给你带来帮助
    2022-02-02

最新评论