Python学习笔记: 批次删除word docx 档之页首及页尾(页码)

本文同步发表于小弟自架网站(非钓鱼也无广告,纯分享):

微确幸资讯站

在实做本篇前,如果你的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个示範档案,有些有页首,有些有页码,也有些二者皆有:
http://img2.58codes.com/2024/20122335ldWLWW04Cr.jpg

打开「附件2-1_示範档案3_有页首_有页码.docx」档案,
看一下页首是一张相片,页码是P.1,P.2。
http://img2.58codes.com/2024/20122335lXWWy0jCG6.jpg

接下来用程式处理这些示範档案:

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档移除页首、页尾:已完成')

http://img2.58codes.com/2024/20122335O5O5uePmVX.jpg

程式处理档案后,会将原档名再加_edited后存档:
http://img2.58codes.com/2024/20122335stodyPzagx.jpg

打开「附件2-1_示範档案3_有页首_有页码_edited.docx」档案,
原先的相片页首和P.1,P.2的页尾已被移除:
http://img2.58codes.com/2024/20122335L2Rlgvh0yv.jpg

其他的档案就留给大家自行查看结果。


关于作者: 网站小编

码农网专注IT技术教程资源分享平台,学习资源下载网站,58码农网包含计算机技术、网站程序源码下载、编程技术论坛、互联网资源下载等产品服务,提供原创、优质、完整内容的专业码农交流分享平台。

热门文章