用DeepSeek生成批量删除处理 PDF第一页工具

安装依赖库

在运行程序之前,请确保安装所需的库:

python 复制代码
pip install pymupdf python-docx

Python 程序代码

python 复制代码
import os
import fitz  # PyMuPDF
from docx import Document

def delete_pdf_first_page(input_path, output_path):
    """
    删除 PDF 文件的第一页并保存
    :param input_path: 输入的 PDF 文件路径
    :param output_path: 输出的 PDF 文件路径
    """
    # 打开 PDF 文件
    pdf_document = fitz.open(input_path)
    
    # 删除第一页
    pdf_document.delete_page(0)
    
    # 保存修改后的 PDF
    pdf_document.save(output_path)
    pdf_document.close()
    print(f"已处理并保存: {output_path}")

def delete_word_first_page(input_path, output_path):
    """
    删除 Word 文件的第一页内容并保存
    :param input_path: 输入的 Word 文件路径
    :param output_path: 输出的 Word 文件路径
    """
    # 打开 Word 文件
    doc = Document(input_path)
    
    # 获取第一页的内容范围
    # 假设第一页的内容在前 500 个字符内(可以根据实际情况调整)
    first_page_content = doc.paragraphs[:10]  # 取前 10 段作为第一页内容
    
    # 删除第一页的内容
    for paragraph in first_page_content:
        p = paragraph._element
        p.getparent().remove(p)
    
    # 保存修改后的 Word 文件
    doc.save(output_path)
    print(f"已处理并保存: {output_path}")

def batch_process_files(folder_path, output_folder):
    """
    批量处理文件夹中的 PDF 和 Word 文件
    :param folder_path: 输入文件夹路径
    :param output_folder: 输出文件夹路径
    """
    # 确保输出文件夹存在
    if not os.path.exists(output_folder):
        os.makedirs(output_folder)
    
    # 遍历文件夹中的文件
    for filename in os.listdir(folder_path):
        file_path = os.path.join(folder_path, filename)
        output_path = os.path.join(output_folder, filename)
        
        try:
            # 处理 PDF 文件
            if filename.lower().endswith('.pdf'):
                print(f"正在处理 PDF 文件: {filename}")
                delete_pdf_first_page(file_path, output_path)
            
            # 处理 Word 文件
            elif filename.lower().endswith('.docx'):
                print(f"正在处理 Word 文件: {filename}")
                delete_word_first_page(file_path, output_path)
            
            else:
                print(f"跳过不支持的文件: {filename}")
        except Exception as e:
            print(f"处理文件 {filename} 时出错: {e}")

if __name__ == "__main__":
    # 输入文件夹路径(包含 PDF 和 Word 文件)
    input_folder = "F:\\python\\pdf"  # 替换为你的输入文件夹路径
    
    # 输出文件夹路径
    output_folder = "F:\\python\\firstpage"  # 替换为你的输出文件夹路径
    
    # 批量处理文件
    batch_process_files(input_folder, output_folder)

程序说明

  1. PDF 文件处理

    • 使用 PyMuPDF 打开 PDF 文件,删除第一页并保存。

    • 注意:PyMuPDFdelete_page 方法直接删除指定页面。

  2. Word 文件处理

    • 使用 python-docx 打开 Word 文件,删除第一段内容(模拟删除第一页)。

    • 注意:python-docx 不支持直接删除页面,因此通过删除第一段内容来实现。

  3. 批量处理

    • 程序会遍历指定文件夹中的所有文件,自动识别 PDF 和 Word 文件并处理。

清华大学DeepSeek整套学习资料(持续更新)链接:https://pan.quark.cn/s/24136c2b13e8

相关推荐
MATLAB代码顾问5 小时前
5大智能算法优化标准测试函数对比(Python实现)
开发语言·python
工程师0076 小时前
C# 装箱、拆箱 底层原理
c#·装箱和拆箱
万粉变现经纪人6 小时前
如何解决 pip install llama-cpp-python 报错 未安装 CMake/Ninja 或 CPU 不支持 AVX 问题
开发语言·python·开源·aigc·pip·ai写作·llama
清风明月一壶酒6 小时前
OpenClaw自动处理Word文档全流程
开发语言·c#·word
其实防守也摸鱼6 小时前
CTF密码学综合教学指南--第五章
开发语言·网络·笔记·python·安全·网络安全·密码学
小郑加油7 小时前
python学习Day12:pandas安装与实际运用
开发语言·python·学习
AC赳赳老秦7 小时前
投标合规提效:用 OpenClaw 实现标书 / 合同自动审核、关键词校验、格式优化,降低废标风险
开发语言·前端·python·eclipse·emacs·deepseek·openclaw
KuaCpp8 小时前
C++面向对象(速过复习版)
开发语言·c++
wbs_scy8 小时前
Linux线程同步与互斥(三):线程同步深度解析之POSIX 信号量与环形队列生产者消费者模型,从原理到源码彻底吃透
java·开发语言
2zcode8 小时前
基于MATLAB元胞自动机(CA)的AZ80A镁合金动态再结晶(DRX)过程模拟
开发语言·matlab·动态再结晶