# PDF压缩 **Repository Path**: yjsfss/pdf_compress_gui ## Basic Information - **Project Name**: PDF压缩 - **Description**: 一个简单易用的 PDF 文件压缩工具,通过压缩 PDF 中的图片来减小文件大小。提供图形界面使用方式,支持单文件和批量处理。 - **Primary Language**: Python - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-01-27 - **Last Updated**: 2026-01-27 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # PDF 压缩工具 一个简单易用的 PDF 文件压缩工具,通过压缩 PDF 中的图片来减小文件大小。提供图形界面使用方式,支持单文件和批量处理。 ### 已打包版本下载 Windows 版本已打包完成,可直接下载使用: - **文件**:PDF压缩工具-windows.exe - **链接**:[百度网盘](https://pan.baidu.com/s/15LKvv0p8L9abG9EI-09D0w?pwd=ck9p) - **提取码**:ck9p ### 使用说明 1. 下载并运行 `PDF压缩工具-windows.exe` 2. 无需安装,直接双击即可使用 3. 支持 Windows 7 及以上版本 ## 功能特点 - **单文件和批量处理模式**:支持单个PDF文件压缩和多文件批量压缩 - **自定义压缩质量**:可调整图片压缩质量(1-100),平衡文件大小和图片质量 - **多种压缩方法**:默认使用图片压缩方法,当默认方法失败时自动启用Ghostscript备用方案 - **文件拖拽支持**:可直接拖拽PDF文件到界面进行操作(需要tkinterdnd2库) - **实时压缩进度**:显示压缩过程和详细日志信息 - **压缩结果分析**:展示压缩前后的文件大小和压缩率 - **精美图形界面**:采用现代UI设计,操作简单直观 - **后台线程处理**:压缩过程在后台运行,不阻塞界面操作 ## 依赖安装 ```bash pip install -r requirements.txt ``` ## 使用方法 ### 图形界面方式(推荐) 直接运行 GUI 版本: ```bash python pdf_compress_gui.py ``` 界面操作说明: 1. 点击"选择文件"按钮选择要压缩的 PDF 文件 2. 输出文件会自动生成,也可以点击"选择位置"自定义 3. 拖动滑块调整压缩质量(1-100) - **1-30**: 高压缩率,图片质量较低,适合屏幕阅读 - **31-60**: 中等压缩率,平衡质量和文件大小 - **61-100**: 低压缩率,保持较高图片质量 4. 点击"开始压缩"按钮开始压缩 5. 查看压缩日志和结果 ### 批量构建方式 使用提供的批处理文件快速构建可执行文件: ```bash build.bat ``` ## 压缩方法 工具使用两种压缩方法: 1. **图片压缩方法**(默认) - 提取 PDF 中的所有图片 - 使用 JPEG 格式重新压缩图片 - 直接替换 PDF 中的图片数据 2. **Ghostscript 方法**(备用) - 当默认方法失败时自动启用 - 需要安装 Ghostscript 并添加到 PATH - 提供更全面的 PDF 优化选项 ## Ghostscript 安装(可选) 如果需要使用 Ghostscript 备用方案,请安装: - **Windows**: 下载并安装 [Ghostscript for Windows](https://www.ghostscript.com/releases/gsdnld.html) - **macOS**: `brew install ghostscript` - **Linux**: `sudo apt-get install ghostscript` ## 打包成可执行文件 ### 方法一:使用 .spec 文件打包(推荐) 项目已为不同平台提供了优化的 .spec 配置文件,可直接使用: #### Windows 平台 ```bash pyinstaller windows.spec ``` #### Linux 平台 ```bash pyinstaller linux.spec ``` #### macOS 平台 ```bash pyinstaller macos.spec ``` 打包完成后,可执行文件位于 `dist` 目录下。 打包完成后,可执行文件位于 `dist` 目录下。 ## 示例 ### GUI 使用示例 1. 运行 `python pdf_compress_gui.py` 2. 选择一个 10MB 的 PDF 文件 3. 设置压缩质量为 50 4. 点击"开始压缩" 5. 等待压缩完成,查看压缩结果 ## 注意事项 - 压缩是破坏性操作,建议保留原始文件 - 压缩效果取决于 PDF 中图片的数量和大小 - 某些 PDF 可能无法有效压缩(如纯文本 PDF) - 使用 GUI 版本时,压缩过程在后台线程运行,不会阻塞界面 - 打包成 EXE 后,文件大小约为 30-50MB ## 项目结构 ``` pdf_compress_gui/ ├── pdf_compress_gui.py # 图形界面版本 ├── requirements.txt # 依赖文件 ├── README.md # 项目说明 ├── .gitignore # Git 忽略配置 ├── build.bat # 构建脚本 ├── alipay.jpg # 支付宝收款码 ├── weixin.png # 微信收款码 └── .github/ # GitHub 配置目录 └── workflows/ └── ci.yml # CI/CD 配置文件 ``` ## 支持我们 风雪中,无人是孤岛。你的支持,是我们继续免费的灯塔。 如果这个工具对你有帮助,欢迎通过以下方式支持我们: ### 支付宝 ![支付宝收款码](alipay.jpg) ### 微信 ![微信收款码](weixin.png) ## CI/CD 配置 本项目已配置 Gitee CI/CD,实现自动构建和测试。 ### 配置说明 1. **CI/CD 配置文件**:项目根目录下的 `.github/workflows/ci.yml` 文件(兼容 Gitee CI) 2. **触发条件**: - 推送代码到 `master` 分支 - 提交 Pull Request 到 `master` 分支 ### 自动构建流程 1. **安装依赖**:使用 `pip install -r requirements.txt` 安装项目依赖 2. **代码检查**:检查代码语法和格式 3. **构建测试**:测试构建过程是否正常 ### 在 Gitee 上启用 CI/CD 1. 登录 Gitee 账号并进入项目仓库 2. 点击「服务」→「Gitee CI/CD」 3. 开启 CI/CD 服务 4. 配置相关参数(如有需要) 5. 推送代码触发构建 ## 作者 **yjsfss**