# AutoOffice **Repository Path**: eecms/pysoft ## Basic Information - **Project Name**: AutoOffice - **Description**: 基于python开发的工具软件 - **Primary Language**: Python - **License**: MulanPSL-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-07-22 - **Last Updated**: 2025-08-11 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # python PDF-TOOL #### 介绍 基于python开发的多功能 PDF 处理工具软件,PDF转图片,提取图片,提取文字,添加水印,压缩,加密解密,支持单个,批量模式转换,多线程处理。 #### 一、核心功能 工具支持 8 类 PDF 处理操作,覆盖日常 PDF 管理需求: 1. **PDF 转图片**:设置输出格式(PNG/JPG 等)、DPI 分辨率、文件名前缀。 2. **图片提取**:从 PDF 中提取内嵌图片,支持格式转换、最小尺寸过滤。 3. **文本提取**:导出 PDF 文本为纯文本 / JSON/Markdown/HTML,支持编码设置。 4. **合并 / 分割 PDF**: * 分割:按页数或自定义页面范围拆分 PDF。 * 合并:多 PDF 文件合并,支持保留书签 / 注释。 1. **加密 / 解密 PDF**: * 加密:设置用户 / 所有者密码,控制打印 / 复制 / 编辑权限。 * 解密:验证密码后移除 PDF 加密限制。 1. **添加水印**: * 文本水印:自定义内容、字体大小、透明度、旋转角度。 * 图片水印:选择本地图片,设置缩放比例和位置。 1. **页面旋转**:按角度(90°/180° 等)旋转页面,支持奇偶页或自定义范围。 2. **PDF 压缩**:多级别压缩,支持图片压缩、元数据 / 注释 / 隐藏图层移除。 #### 二、软件架构 1. **GUI 框架**:基于 PySide6 构建界面,采用选项卡 (TabWidget) 分类展示不同功能的配置项。 2. **多线程处理**: * `ProcessingThread`:后台执行 PDF 处理任务,避免界面卡顿,支持并行处理(批量模式下启用)。 * `UpdateChecker`:独立线程检查软件更新,异步请求远程版本信息。 1. **设计模式**: * **策略模式**:通过`process_strategies`字典分发不同处理逻辑(如转图片、提取文本等)。 * **观察者模式**:线程通过信号 (Signal) 向主界面发送进度和日志更新。 1. **第三方库**: * `PyMuPDF`(`fitz`):核心 PDF 处理引擎,负责页面渲染、图片提取、文本提取等。 * `requests`:检查版本更新时请求远程 API。 #### 三、界面与交互 1. **文件选择**:支持单文件或批量文件夹选择,批量模式下可设置并行线程数。 2. **参数配置**:每个功能选项卡对应独立配置面板(如水印位置、压缩级别等)。 3. **进度反馈**:双进度条展示整体进度和当前文件进度,日志文本框实时输出处理信息。 4. **菜单与工具栏**: * 文件操作:打开文件 / 文件夹、退出。 * 编辑:复制、全选(占位功能)。 * 帮助:关于、帮助文档、检查更新。 ![输入图片说明](demoimage.png) ![输入图片说明](demo/image.png) ![输入图片说明](demo/image_2.png) ![输入图片说明](demo/image_3.png) #### 四、打包与部署 * **打包工具**:使用 Nuitka 打包,命令示例已内置代码注释(需提前安装`nuitka`)。 * **资源处理**:打包时需包含图标文件(`img/logo.jpg`)和字体文件(`msyh.ttc`)。 * **更新机制**:通过 Gitee API 检查版本,发现新版本时弹窗提示并引导下载。 #### 五、适用场景 * **个人用户**:快速处理少量 PDF(如提取图片、转换格式)。 * **办公场景**:批量处理 PDF(如加密敏感文件、合并报告)。 * **开发测试**:作为 PDF 处理工具的二次开发模板,扩展自定义功能。 该工具通过图形界面简化了复杂的 PDF 操作,适合非技术用户快速上手,同时保留了灵活的参数配置满足专业需求。 > (注:文档部分内容可能由 AI 生成) #### 特技 1. 使用 Readme\_XXX.md 来支持不同的语言,例如 Readme\_en.md, Readme\_zh.md 2. Gitee 官方博客 [blog.gitee.com](https://blog.gitee.com) 3. 你可以 [https://gitee.com/explore](https://gitee.com/explore) 这个地址来了解 Gitee 上的优秀开源项目 4. [GVP](https://gitee.com/gvp) 全称是 Gitee 最有价值开源项目,是综合评定出的优秀开源项目 5. Gitee 官方提供的使用手册 [https://gitee.com/help](https://gitee.com/help) 6. Gitee 封面人物是一档用来展示 Gitee 会员风采的栏目 [https://gitee.com/gitee-stars/](https://gitee.com/gitee-stars/)