FSBC icon

FAIRSCAN_SURPORT_BY_CYY

FSBC — 扫描 + 图传 + 文档处理一体化

基于 FairScan 增强,
新增局域网实时图传、PDF 上传、MinerU / OCRmyPDF 云端处理、手机端任务管理面板。

FSBC 架构图

--- ## 新增功能(CYY 增强版) ### 实时网络图传 - 手机通过 WebSocket 将 JPEG 帧发送到 PC - PC 浏览器实时显示画面(`http://:2026`) - 支持帧率控制(无限制 / 15fps / 10fps / 5fps) - 三档压缩质量可选(低 / 均衡 / 高) ### PDF 上传 + 云端处理 - 导出页一键上传 PDF 到 PC 服务器 - 三种模式:仅传输 / 上传并处理 OCR PDF / 上传并处理 Markdown - 上传进度实时显示 ### MinerU → Markdown 数字化 - 真实接入 MinerU pipeline 后端(v3.0.9) - 将扫描 PDF 转为结构化 Markdown + 图片 - 自动打包 `{name}_result.zip`(.md + images/) - GPU 加速:RTX 4060 8GB,约 3~8 秒/页 ### OCRmyPDF → 可搜索双层 PDF - 接入 OCRmyPDF v15.4.4,生成真正可搜索的双层 PDF - Tesseract 5.5.2 OCR 引擎,支持中文/英语/日语/韩语 - Ctrl+F 搜索、屏幕阅读器无障碍 ### 手机端任务管理面板 - 导出页底部显示所有上传处理任务 - 四种状态:排队中 / 处理中(进度条) / 已完成 / 失败 - 2 秒轮询自动更新状态,完成后可下载到指定目录 - SAF 目录选择器,下载进度实时显示 ### PC 管理面板 - 浏览器访问 `http://:2026/dashboard` - 文件列表 + 任务列表 + 统计卡片 - 支持下载原始文件和处理产物 - 自动刷新 --- ## 原版功能(FairScan) - **清晰无干扰的界面**,一键扫描 - **自动文档检测**:基于自定义分割模型 (LiteRT) - **自动透视校正** + **图像增强** (OpenCV) - **快速 PDF 生成**,无需手动调整 - **完全离线** — 原版无网络权限 - **最小权限**,无跟踪,无广告 - **开源** GPLv3 --- ## PC 服务器部署 **详细部署指南**:[pc-server/README.md](pc-server/README.md) ### 快速启动(环境已配好) ```bash conda activate MinerU cd pc-server python main.py ``` 服务启动在 `http://0.0.0.0:2026`。 ### 环境一览 | 组件 | 版本 | 用途 | |------|------|------| | Python | 3.10 | conda 环境 `MinerU` | | PyTorch | 2.6 + CUDA 12.4 | GPU 推理 | | MinerU | git clone + pip install -e | markdown 处理 | | OCRmyPDF | v15.4.4 | 可搜索双层 PDF | | Tesseract | 5.5.2 + chi_sim/eng | OCR 引擎 | | Ghostscript | 10.07.1 | PDF 后处理 | ### API 端点 | 端点 | 方法 | 功能 | |------|------|------| | `/health` | GET | 健康检查 | | `/stream` | WS | 接收图传帧 | | `/` | GET | 图传预览页面 | | `/dashboard` | GET | 管理面板 | | `/api/dashboard` | GET | 管理面板 JSON | | `/upload/pdf` | POST | 上传 PDF | | `/tasks/process` | POST | 创建处理任务 | | `/tasks/{taskId}` | GET | 查询任务状态 | | `/tasks/{taskId}/artifacts` | GET | 查询产物列表 | | `/artifacts/{id}/download` | GET | 下载产物 | | `/files/{fileId}/download` | GET | 下载原始文件 | --- ## 手机端配置 1. 进入设置 → 网络协作 2. 填写 PC 主机 IP 和端口(默认 2026) 3. 点击"测试连接"验证 4. 扫描文档后在导出页选择上传/处理 --- ## 技术栈 | 层 | 技术 | |----|------| | Android UI | Jetpack Compose | | 相机 | CameraX | | 文档检测 | LiteRT + 自定义分割模型 | | 图像处理 | OpenCV | | PDF 生成 | PDFBox-Android | | 网络 | OkHttp 4.12 + WebSocket | | PC 服务 | Python FastAPI + Uvicorn | | Markdown 处理 | MinerU (pipeline backend) | | OCR PDF | OCRmyPDF + Tesseract + Ghostscript | --- ## 构建 ```bash # Android APK ./gradlew clean check assembleRelease # Android App Bundle ./gradlew clean check :app:bundleRelease ``` ## 许可 本项目基于 FairScan (GPLv3) 修改。详见 [LICENSE](LICENSE)。 ## 致谢 - 原项目 [FairScan](https://github.com/pynicolas/FairScan) - [MinerU](https://github.com/opendatalab/MinerU) - [OCRmyPDF](https://github.com/ocrmypdf/OCRmyPDF)