☰
扫描进度不再丢:FairScan断点续扫功能使用方法全解
2026/10/23 2:47:00 网站建设 项目流程

【免费下载链接】FairScan

An Android app to scan your documents — simple and respectful

项目地址:https://gitcode.com/gh_mirrors/fa/FairScan
点击查看免费下载

FairScan 是一款专为 Android 打造的轻量文档扫描应用,它的断点续扫功能可以把已扫描的每一页自动保存到本地,中途退出或关闭 App 后再打开,仍能一键继续上次未完成的扫描。本文带你快速掌握这个功能的完整用法:什么时候会触发续扫界面、如何继续扫描、如何丢弃重来,以及它背后的自动保存机制,几分钟即可上手。

什么是断点续扫?它帮你解决什么问题

📄 想象这样一个场景:你正在扫描一份 50 页的合同,扫到第 30 页时来电打断了工作,只好退出 App。如果每次都要从零开始,岂不是要重新拍 30 张?

FairScan 的断点续扫(Resume Scan)功能正是为此而生:

  • 自动保存:每拍一页,App 会立刻把处理后的页面和原始照片写入应用私有目录,无需手动"保存"
  • 启动检测:再次打开 App 时,如果发现上次还有未导出的页面,会先进入"继续扫描"选择页
  • 两种选择:继续上次的扫描,或丢弃当前进度、开始一份全新扫描

相关能力在版本更新日志中也有明确记录:

On startup, you can now explicitly choose to resume the current scan or start a new one —— 见 90.txt

自动保存机制:FairScan 如何记住你的每一页

你不需要做任何额外操作,续扫能力来自 App 的持久化设计:

  1. 页面落盘:每张照片被处理(裁剪、透视校正、增强)后,文件会写入scanned_pages目录,原始照片存入sources目录,见 ImageRepository.kt
  2. 元数据记录:页面顺序、旋转角度、颜色模式等信息记录在document.json中,重启后按原顺序恢复
  3. 启动判断:App 启动时读取已保存页面,只要页面数不为空,就自动跳转到续扫选择页,核心逻辑位于 MainViewModel.kt

💡 整个过程全部在本机完成,文档不会上传到任何服务器,这也符合 FairScan "simple and respectful" 的隐私设计理念。

三种常见场景与操作步骤

场景一:中途退出,下次继续扫

这是最典型的断点续扫场景,步骤如下:

步骤操作结果
1扫描若干页后,直接按 Home 键或退出 App页面已自动保存
2重新打开 FairScan进入"继续扫描"选择页
3点击Resume scan按钮回到相机界面,可继续拍摄新页面
4扫完后在文档页导出 PDF一份完整的文档生成

场景二:不再扫这份文档,丢弃当前进度重新开始

如果上次的扫描已经不需要了(比如拍错了文档),在同一个选择页点击New scan按钮即可:

  • App 会清空已保存的页面文件与元数据(清空逻辑见 ImageRepository.kt)
  • 随后直接进入相机界面,从零开始新扫描

⚠️ 注意:丢弃操作不可撤销,清空前请确认旧进度确实不需要了。

场景三:扫描完成后正常导出,进度自动归零

导出流程结束后点击关闭扫描,App 同样会调用startNewDocument()清理会话目录,下次启动就不会再弹续扫页,直接进入相机界面。也就是说:

  • ✅ 有未导出的页面 → 启动时显示续扫页
  • ✅ 已导出或已丢弃 → 启动时直接进入相机

这个行为由 SessionViewModel.kt 中按启动模式区分会话目录的设计保证,普通启动(NORMAL 模式)的会话目录在导出清理后即恢复空状态。

续扫选择页界面详解

打开 App 后看到的续扫选择页由 ResumeScanScreen.kt 实现,界面分为上下两区(横屏时为左右两区):

上半区——继续当前扫描

  • 展示第一页的缩略图,帮你确认这是不是上次扫的那份文档
  • 显示"Current scan + 当前页数",例如当前已扫 5 页
  • 蓝色的Resume scan大按钮:点击后进入相机界面,继续拍摄

下半区——丢弃并开始新扫描

  • 提示文案"Discard the current scan"
  • New scan大按钮:点击后清空当前文档并进入相机界面

界面在竖屏与横屏下都会自适应布局,按钮区域足够大,单手可轻松点按,适合边拿文档边操作的场景。

常见问题 FAQ

Q1:为什么这次打开 FairScan 没有显示续扫页?说明上次扫描的所有页面都已导出或已丢弃,会话目录是空的。只要有未导出的页面,App 启动时就一定会先进入续扫选择页,逻辑见 MainViewModel.kt。

Q2:续扫后新拍的页和旧的页顺序对吗?对。页面顺序由document.json元数据统一维护,新页追加到末尾;你还可以在文档页面中手动拖动调整页面顺序、旋转或删除单页。

Q3:从其他 App 调用 FairScan 生成 PDF 时,会弹续扫页吗?不会。通过SCAN_TO_PDF等外部动作唤起时,App 以EXTERNAL_SCAN_TO_PDF模式运行,使用独立临时会话目录,结束后自动清理,与日常扫描进度互不干扰,模式定义见 LaunchMode.kt。

Q4:扫描的照片占用空间大吗?会被删掉吗?每页会保留处理后的图片和原始照片,体积与拍摄分辨率相关。导出后若开始新扫描,旧文件会随之清理;只要不点 New scan,进度就一直保留。

快速上手清单

  • 拍完一页不必手动保存,FairScan 自动落盘
  • 中途退出后重新打开 App,出现续扫页即有未完成文档
  • 看第一页缩略图确认文档,点Resume scan继续
  • 不要这份文档就点New scan丢弃重来
  • 导出 PDF 并关闭后,进度自动清空

FairScan 用"自动保存 + 启动检测 + 二选一确认"三步,把断点续扫做成了无感体验:你永远不必担心扫描到一半的进度丢失,拿起手机就能接着扫。

【免费下载链接】FairScan

An Android app to scan your documents — simple and respectful

项目地址:https://gitcode.com/gh_mirrors/fa/FairScan
点击查看免费下载

相关推荐

上一篇:UniMate训练不稳定排查指南:Objaverse坏数据如何导致loss尖峰与坍缩
下一篇:省下7.4倍Token:为什么Answer me with HTML能让AI秒出HTML解释页而不是写长文

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询