PyQt6 PDF阅读器与语音助手是一个集成了PDF阅读、OCR文字识别和TTS语音朗读功能的多功能应用程序,基于 PyQt6 和 PyMuPDF 构建。它不仅提供了简洁直观的用户界面,还通过 OCR 和 TTS 技术为用户带来了更智能的文档处理体验。
核心功能
- 打开PDF文件
用户可以通过点击“打开”按钮选择并加载本地PDF文件。 - 页面浏览
- 使用“上一页”和“下一页”按钮或键盘快捷键(左箭头/右箭头、Page Up/Page Down)轻松翻页。
- 缩放功能
- 通过“放大”和“缩小”按钮或键盘快捷键(Ctrl++ / Ctrl+-)调整PDF页面的显示比例。
- OCR文字识别
- 基于 PaddleOCR 的文字识别功能,能够从PDF页面中提取文本内容。
- 首次运行时会自动下载中文识别模型,确保高效准确的识别效果。
- TTS语音朗读
- 使用 pyttsx3 实现文本转语音功能,支持将识别出的文本内容实时朗读。
- 点击“停止朗读”按钮可随时中断语音播放。
- 自动保存会话
- 应用程序会自动保存上次打开的PDF文件路径和当前页码,下次启动时自动恢复到上次的状态。
- 简洁的用户界面
- 设计简约,操作直观,适合各类用户使用。
- 完善的键盘快捷键支持
- 提供丰富的快捷键,提升用户的操作效率。
安装依赖
在使用此应用程序之前,请确保已安装所有必要的依赖项。运行以下命令安装:
pip install -r requirements.txt
主要依赖库
- PyQt6: 用于构建图形用户界面 (GUI)。
- PyMuPDF (fitz): 处理PDF文件,包括打开、渲染和页面操作。
- PaddleOCR: 提供高效的OCR文字识别功能。
- pyttsx3: 实现文本转语音 (TTS) 功能。
- OpenCV (cv2): 图像处理,辅助OCR识别。
- Pillow (PIL): 图像处理,用于渲染和显示PDF页面。
使用方法
1、 运行主程序:
python main.py
2、操作说明:
- 点击“打开”按钮选择PDF文件。
- 使用“上一页”和“下一页”按钮浏览PDF页面。
- 使用“放大”和“缩小”按钮调整视图大小。
- 点击“识别并朗读”按钮,对当前页面进行OCR识别并朗读内容。
- 点击“停止朗读”按钮,随时中断语音播放。
键盘快捷键
功能 | 快捷键 |
---|---|
打开文件 | Ctrl+O |
下一页 | 右箭头, Page Down |
上一页 | 左箭头, Page Up |
放大 | Ctrl++ |
缩小 | Ctrl+- |
识别并朗读 | Ctrl+R |
停止朗读 | Ctrl+T |
系统要求
- Python 3.7+
- 操作系统: Windows、macOS 或 Linux
- 硬件要求: 至少 2GB 内存(推荐 4GB 或更高)
特别说明
- 首次运行:PaddleOCR 会在首次运行时自动下载中文识别模型,确保高精度的文字识别能力。
- 会话恢复:应用程序会自动保存上次打开的文件路径和当前页码,方便用户快速恢复阅读进度。
- 后台线程处理:OCR 识别和 TTS 朗读均在后台线程中运行,避免阻塞主界面,确保流畅的操作体验。
应用场景
- 学习与研究:学生和研究人员可以利用 OCR 功能提取 PDF 中的关键信息,并通过语音朗读功能加深理解。
- 无障碍阅读:视力障碍用户可以通过语音朗读功能轻松获取 PDF 内容。
- 文档管理:商务人士可以快速浏览和处理 PDF 文件,提升工作效率。
未来改进方向
- 多语言支持:扩展 OCR 和 TTS 的语言支持范围,满足国际用户需求。
- 批量处理:支持批量 OCR 识别和导出功能,便于处理多页文档。
- 高级搜索:在 PDF 文件中实现全文搜索功能,方便快速定位关键内容。
- 云同步:增加云存储支持,允许用户跨设备同步阅读进度和标注。
评论