背景:网上有很多在线可以拆分合并pdf,但是对于一些保密性的文档还是不太好在线去操作,因为会上传到服务器,如果被不法分子获取传播,会很麻烦,基于此考虑开发的本地pdf拆分与合并工具,分享出来。
文档最后获取源码链接;
PDF工具集
一个简单易用的PDF文件处理工具集,包含PDF拆分、合并和压缩功能。
-
**拆分功能**:将PDF文件按单页拆分为多个独立的PDF文件
-
**合并功能**:将多个PDF文件合并为一个PDF文件
-
**压缩功能**:压缩PDF文件大小,支持不同压缩级别
功能特点
拆分功能
-
✅ 将PDF文件按单页拆分
-
✅ 自动创建输出目录,避免文件混乱
-
✅ 支持命令行界面,操作简单
合并功能
-
✅ 合并多个PDF文件为一个文件
-
✅ 支持自定义输出文件名
-
✅ 按顺序合并,保持原始页面顺序
压缩功能
-
✅ 压缩PDF文件大小
-
✅ 支持多种压缩级别(低、中、高)
-
✅ 支持自定义图像分辨率和质量
-
✅ 显示压缩率和文件大小变化
通用特点
-
✅ 提供详细的操作反馈
-
✅ 错误处理完善
-
✅ 支持文件路径验证
安装步骤
1. 确保已安装Python
请确保您的系统已安装Python 3.6或更高版本。您可以在命令行中运行以下命令检查Python版本:
```bash
python --version
```
2. 安装依赖库
本工具使用以下库来处理PDF文件:
```bash
pip install PyPDF2 pymupdf
```
-
**PyPDF2**:用于PDF拆分和合并功能
-
**PyMuPDF**:用于PDF压缩功能
使用方法
PDF拆分工具使用方法
基本使用
在命令行中运行以下命令来拆分PDF文件:
```bash
python pdf_splitter.py <input_pdf_path>
```
其中 `<input_pdf_path>` 是您要拆分的PDF文件的路径。
示例
拆分当前目录下的 `example.pdf` 文件:
```bash
python pdf_splitter.py example.pdf
```
输出结果
拆分完成后,工具会在当前目录下创建一个新的文件夹,命名为 `原文件名_pages`,例如 `example_pages`。
在这个文件夹中,您将找到拆分后的单页PDF文件,命名格式为:
```
原文件名_page_页码.pdf
```
例如:
```
example_page_1.pdf
example_page_2.pdf
example_page_3.pdf
```
PDF合并工具使用方法
基本使用
在命令行中运行以下命令来合并PDF文件:
```bash
python pdf_merger.py <input_pdf_1> <input_pdf_2> ... <input_pdf_n> [--output OUTPUT]
```
其中:
-
`<input_pdf_1> <input_pdf_2> ... <input_pdf_n>` 是您要合并的PDF文件路径列表
-
`--output OUTPUT` 或 `-o OUTPUT` 是可选参数,用于指定合并后PDF文件的输出路径(默认:merged.pdf)
示例
- 合并当前目录下的多个PDF文件:
```bash
python pdf_merger.py file1.pdf file2.pdf file3.pdf
```
- 指定合并后的输出文件名:
```bash
python pdf_merger.py file1.pdf file2.pdf -o combined.pdf
```
- 使用通配符合并所有PDF文件(按字母顺序):
```bash
python pdf_merger.py *.pdf -o all_merged.pdf
```
注意事项
-
请确保您有足够的磁盘空间来存储拆分后的PDF文件。
-
对于大文件(超过100MB),拆分过程可能需要一些时间,请耐心等待。
-
本工具只支持标准的PDF文件格式。
-
如果PDF文件有密码保护,请先解除保护再使用本工具。
常见问题
Q: 为什么拆分后的PDF文件无法打开?
A: 可能是原始PDF文件损坏或格式不标准。请检查原始PDF文件是否可以正常打开。
Q: 为什么工具提示找不到文件?
A: 请检查您提供的文件路径是否正确,包括文件名和扩展名。
Q: 为什么工具提示不是PDF文件?
A: 请确保您的文件扩展名是 `.pdf`,并且确实是PDF格式的文件。
PDF压缩工具使用方法
基本使用
在命令行中运行以下命令来压缩PDF文件:
```bash
python pdf_compressor.py <input_pdf_path> [--output OUTPUT] [--level LEVEL] [--quality QUALITY] [--image-quality IMAGE_QUALITY]
```
其中:
-
`<input_pdf_path>` 是您要压缩的PDF文件路径
-
`--output OUTPUT` 或 `-o OUTPUT`:可选参数,用于指定压缩后PDF文件的输出路径(默认:原文件名_compressed.pdf)
-
`--level LEVEL` 或 `-l LEVEL`:可选参数,压缩级别,可选值为 low、medium、high(默认:medium)
-
`--quality QUALITY`:可选参数,自定义图像分辨率(10-300 DPI)
-
`--image-quality IMAGE_QUALITY`:可选参数,自定义图像质量(0-100%)
示例
- 使用默认参数压缩PDF文件:
```bash
python pdf_compressor.py document.pdf
```
- 指定输出文件名:
```bash
python pdf_compressor.py document.pdf -o compressed.pdf
```
- 使用高压缩级别:
```bash
python pdf_compressor.py document.pdf -l high
```
- 自定义图像分辨率和质量:
```bash
python pdf_compressor.py document.pdf --quality 120 --image-quality 80
```
代码结构
```
.
├── pdf_splitter.py # PDF拆分工具
├── pdf_merger.py # PDF合并工具
├── pdf_compressor.py # PDF压缩工具
├── venv/ # Python虚拟环境(可选)
└── README.md # 说明文档
```
许可证
本工具采用MIT许可证,您可以自由使用和修改。
贡献
如果您发现任何问题或有改进建议,欢迎提交Issue或Pull Request。
**使用愉快!** 🎉