本项目是一个基于 Python 的 GUI 工具,用于自动裁剪 PDF 文件中的图表,去除周围空白区域,同时允许用户设置需要忽略的边框宽度。该工具使用 fitz (PyMuPDF) 和 PIL (Pillow) 库来处理 PDF 文件和图像操作,并通过 tkinter 构建用户界面。
- 自动裁剪: 自动检测 PDF 页面中的内容区域并进行裁剪,去除多余的空白。
- 边框忽略: 用户可自定义边框宽度,裁剪时忽略指定宽度的页面边缘。
- 批量处理: 支持选择多个 PDF 文件进行批量处理。
- 用户友好的 GUI: 基于
tkinter的图形用户界面,操作简单直观。 - DPI 感知: 在 Windows 系统上启用 DPI 感知,确保在高分辨率屏幕上正常显示。
- 输出文件夹自定义: 用户可以选择输出文件夹,或者使用默认的
output文件夹。 - 处理后自动打开输出文件夹: 在处理完成后,自动打开输出文件夹,方便用户查看处理结果。
- Python: 3.11 或更高版本
- 依赖库:
tkinterPyMuPDF(fitz)Pillow(PIL)numpy
- 确保您已安装 Python 3.11 或更高版本。
- 安装必要的 Python 库:
pip install pymupdf Pillow numpy
- 将项目代码下载或克隆到本地。
- 运行
pdf_cropper.py脚本启动 GUI 程序。 - 选择 PDF 文件:
- 点击 "选择文件" 按钮,选择要处理的 PDF 文件。支持多选。
- 选择的文件路径将显示在文件列表框中。
- 选择输出文件夹:
- 点击 “选择文件夹” 按钮,选择输出文件夹。如果未选择,将会在程序目录下生成一个名为
output的文件夹。
- 点击 “选择文件夹” 按钮,选择输出文件夹。如果未选择,将会在程序目录下生成一个名为
- 设置边框宽度:
- 在 “设置边框宽度” 输入框中输入需要忽略的边框宽度,默认为 5 像素。
- 开始处理:
- 点击 “开始裁剪” 按钮开始处理。
- 处理状态会在界面下方显示。
- 查看结果:
- 处理完成后,会弹出完成提示,并自动打开输出文件夹。
欢迎提交 issues 和 pull requests! 如果您有任何改进建议或发现了 Bug,请及时告知。
- Fork 本项目到您的 GitHub 账户。
- 创建一个新的分支进行修改:
git checkout -b your-feature-branch - 提交您的修改:
git commit -m "Add your feature or fix" - 推送您的分支:
git push origin your-feature-branch - 提交 pull request。
本项目使用 MIT 许可证,详情请查看 LICENSE 文件。
- 如果你在使用过程中遇到任何问题,欢迎提交 Issue。
.
├── pdf_cropper.py # 主程序文件
├── README.md # README 文件
├── LICENSE.md # 许可证文件
