一个Windows GUI应用程序,可以自动读取PDF文件的标题并重命名。
✨ 主要功能:
- 📁 支持拖拽单个PDF文件或整个目录
- 📄 自动提取PDF文件的标题(优先从元数据,其次从第一页文本)
- 👁️ 右键预览 - 右键点击文件选择"预览"查看PDF第一页
- 🔄 批量重命名多个PDF文件
- ✅ 自动清理标题中的换行符和非法字符
- ⚙️ 避免文件名冲突(自动添加序号)
- 📝 完整的日志记录功能
- 🗑️ 快捷键/菜单删除 - 按 Delete 或 Backspace 删除,或右键选择删除
- 📂 双击/菜单打开 - 双击文件或右键选择打开
确保你已安装 Python 3.7 或更高版本。
pip install -r requirements.txt主要依赖:
- PyQt5: 用于GUI界面
- pdfplumber: 提取PDF文本和元数据
- PyMuPDF: 渲染PDF为图像进行预览
- Pillow: 图像处理(PyMuPDF的依赖)
python main.py或直接双击运行 run.bat 文件
如果你想将程序打包成独立的exe可执行文件(无需安装Python),可以使用提供的打包脚本:
直接双击 build.bat 文件
python build_exe.py- 打包脚本会自动:
- 检查
icon.ico文件是否存在 - 检查并安装 PyInstaller(如果未安装)
- 使用 PyInstaller 打包程序为单文件exe
- 设置程序图标
- 检查
- 打包完成后,exe文件位于
dist\PDF重命名工具.exe - 打包后的程序可以在任何Windows系统上运行,无需安装Python环境
- 程序图标会同时应用到窗口和exe文件
-
启动应用程序 - 运行
python main.py -
添加PDF文件
- 将PDF文件拖入窗口中的"已添加的文件"框中
- 或者拖入包含PDF文件的整个文件夹
- 程序会自动搜索目录中的所有PDF文件
-
预览和管理文件
- 👁️ 左键单击选中文件时,自动显示预览窗口(显示PDF第一页)
- 预览窗口保持显示,直到:
- 点击其他文件(自动显示新文件的预览)
- 点击列表外的区域(关闭预览)
- 💬 右键点击任何文件,选择下列选项:
- "预览" - 手动打开预览窗口
- "打开" - 用系统默认应用打开PDF
- "删除" - 从列表中删除此文件
- 或使用快捷方式:
- 双击文件用默认应用打开
- 选中文件后按 Delete 或 Backspace 删除
-
重命名
- 点击"开始重命名"按钮
- 程序会自动:
- 读取每个PDF的标题
- 清除标题中的换行符和特殊字符
- 将标题作为新的文件名
- 完成后会显示结果统计
程序按以下优先级提取PDF标题:
- PDF元数据标题 - 如果PDF文件包含标题元数据,直接使用
- 第一页文本 - 如果没有元数据,读取第一页的第一行非空文本
- 原始文件名 - 如果上述方法都失败,保持原始文件名
- ✂️ 移除所有换行符 (
\n,\r) - 🚫 移除不允许在Windows文件名中出现的字符 (
<,>,:,",/,\,|,?,*) - 📏 合并多余的空格
如果新文件名已存在,程序会自动添加数字后缀:
- 原文件:
document.pdf - 新文件:
新标题.pdf - 如果已存在:
新标题_1.pdf,新标题_2.pdf等
A: 这可能是因为PDF文件本身没有元数据标题,或第一页不包含文本。此时程序会保留原始文件名。
A: 编辑 PDFTitleExtractor._clean_title() 方法中的清理逻辑。
A: 可以。但处理速度取决于PDF文件的大小和系统性能。
# 升级pip
python -m pip install --upgrade pip
# 重新安装依赖
pip install -r requirements.txt --no-cache-dir- 确保Windows系统已更新
- 尝试重新启动程序
- 检查文件是否被其他程序占用
- 确保有写入权限
- 查看日志消息了解具体错误
MIT License
Created by GitHub Copilot