用python批量清理删除doc和docx的页头页脚,不区分内容,只要包含页头页脚直接清理掉。

import os
from docx import Document
from win32com import client as win32

def clear_paragraphs(paragraphs):
    for paragraph in paragraphs:
        for run in paragraph.runs:
            run.clear()

def remove_header_footer_docx(doc):
    for section in doc.sections:
        clear_paragraphs(section.header.paragraphs)
        clear_paragraphs(section.footer.paragraphs)

def remove_header_footer_doc(filename):
    word_app = win32.Dispatch('Word.Application')
    doc = word_app.Documents.Open(filename)

    for section in doc.Sections:
        section.Headers(1).Range.Delete()
        section.Footers(1).Range.Delete()

    doc.Close(True)

def batch_remove_headers_footers(input_folder, output_folder):
    if not os.path.exists(output_folder):
        os.makedirs(output_folder)

    for filename in os.listdir(input_folder):
        input_path = os.path.join(input_folder, filename)
        output_path = os.path.join(output_folder, filename)

        if filename.endswith(".docx"):
            doc = Document(input_path)
            remove_header_footer_docx(doc)
            doc.save(output_path)
        elif filename.endswith(".doc"):
            remove_header_footer_doc(input_path)
            os.rename(input_path, output_path)

if __name__ == "__main__":
    input_folder = "输入文件夹的路径"
    output_folder = "输出文件夹的路径"

    batch_remove_headers_footers(input_folder, output_folder)