本文同步发表于小弟自架网站(非钓鱼也无广告,纯分享):
微确幸资讯站
在实做本篇前,如果你的word档案是旧版doc附档名,
要先参考前一篇,将所有word旧版doc档转换成docx档:
Python学习笔记: 批次将word旧版 doc 档转换成 docx 档
在Python批次处理Word档案的过程,可以使用docx这个模组,
例如收了20几个word档案,想要将word个别档案的页首和页码等资料去除后,
再来批次转成pdf档案编页码。
但这个模组只能处理Word的docx副档名。
以下为示範档案的下载连结:
https://drive.google.com/file/d/189VuhPyHImQV88592M9uwjSMcJgm6Bwu/view?usp=share_link
先看一下资料夹中有5个示範档案,有些有页首,有些有页码,也有些二者皆有:
打开「附件2-1_示範档案3_有页首_有页码.docx」档案,
看一下页首是一张相片,页码是P.1,P.2。
接下来用程式处理这些示範档案:
import osfrom docx import Document# 设定目标资料夹file_path = "d:\\temp\\test" # 找出所有doc档做成listfiles = [x for x in os.listdir(file_path) if x.endswith(".docx")]for file in files: docx_file = os.path.join(file_path, file) edited_docx_file = os.path.join(file_path, os.path.splitext(file)[0] + "_edited" + ".docx") document = Document(docx_file) for section in document.sections: section.different_first_page_header_footer = False section.header.is_linked_to_previous = True # 如果设定为False,则保留页首 section.footer.is_linked_to_previous = True # 如果设定为False,则保留页尾 print(f'正在处理{docx_file}') print('----------------------') document.save(edited_docx_file) print('所有word档移除页首、页尾:已完成')
程式处理档案后,会将原档名再加_edited后存档:
打开「附件2-1_示範档案3_有页首_有页码_edited.docx」档案,
原先的相片页首和P.1,P.2的页尾已被移除:
其他的档案就留给大家自行查看结果。