python自动化系列:一键批量更新Word文档页眉页脚

作品名称:一键批量更新Word文档页眉页脚
用到的库:docx、os

实现过程
一、代码设计
-
导入必要的库:
import os
:导入 os库,用于处理文件和目录路径。from docx import Document
:从 docx库中导入Document类,用于操作Word文档。-
定义
update_header_footer函数: -
这个函数接收一个 doc对象(Word文档),以及新的页眉文本new_header_text和新的页脚文本new_footer_text。 -
遍历文档中的所有节(section),因为一个文档可以包含多个节,每个节可以有自己的页眉和页脚。 -
对于每个节的页眉和页脚,清空原有的内容,并设置为新的文本。 -
定义
process_directory函数: -
这个函数接收一个目录路径 directory_path,以及新的页眉和页脚文本。 -
遍历指定目录下的所有文件。 -
对于每个以 .docx结尾的文件,打开文档,调用update_header_footer函数更新页眉和页脚,然后保存文档。 -
如果在处理文件时发生异常,打印错误信息。 -
设置文件夹路径和新的页眉页脚文本:
directory_to_update
变量设置为要更新的文件夹路径。 new_header
和 new_footer变量分别设置为新的页眉和页脚文本。-
调用
process_directory函数: -
使用指定的文件夹路径和新的页眉页脚文本,执行批量更新操作。
"""一键批量更新Word文档页眉页脚"""import osfrom docx import Documentdef update_header_footer(doc, new_header_text, new_footer_text):# 遍历所有section,因为一个文档可以有多个section,每个section有自己的header/footerfor section in doc.sections:header = section.headerfooter = section.footer# 清空旧的页眉内容并添加新的页眉文本for paragraph in header.paragraphs:paragraph.text = new_header_text# 清空旧的页脚内容并添加新的页脚文本for paragraph in footer.paragraphs:paragraph.text = new_footer_textdef process_directory(directory_path, new_header, new_footer):# 遍历指定目录下的所有文件for filename in os.listdir(directory_path):file_path = os.path.join(directory_path, filename)# 检查是否为文件且扩展名为.docxif os.path.isfile(file_path) and filename.lower().endswith('.docx'):print(f'正在更新: {filename}')try:# 打开文档doc = Document(file_path)# 更新页眉和页脚update_header_footer(doc, new_header, new_footer)# 保存文档doc.save(file_path)print(f'成功更新: {filename}')except Exception as e:print(f'更新失败: {filename}, 错误信息: {e}')# 指定文件夹路径directory_to_update = 'words'new_header = "新的页眉"new_footer = "新的页脚"# 批量更新process_directory(directory_to_update, new_header, new_footer)
二、结语
以上就是本次分享的全部内容,如果你有任何疑问或想要分享你的自动化办公经验,我们的评论区永远为你敞开。你的每一个点赞和转发,都是对我们最大的支持和鼓励!
想要深入学习并获取文中的完整代码吗?很简单,关注我们的公众号,并回复文章标题,即可立即获取。
再次感谢你的阅读,期待在下一次分享中与你相见!
精选阅读
python自动化系列:将Excel表格中的学生信息自动填充到一个word文档
python自动化系列:将Excel表格中的学生多条信息自动填充到一个Word文档
夜雨聆风
