ba562149eaab34b5e5e4ce09cb0efddcfe546af9
It makes Android Lint happy, but it doesn't seem to have an impact at runtime.
FairScan
FairScan is an Android app to scan documents. It aims to be simple and respectful to users.
"Simple" means that users should get a clean PDF in seconds and without thinking:
- The user interface should be super clear, with no distractions.
- The scanning process should be obvious.
- The app should automatically handle all image processing and PDF generation tasks.
Get FairScan
See also:
Screenshots
| 1. Scan | 2. Preview | 3. Save & Share |
|---|---|---|
![]() |
![]() |
![]() |
Features
- Automatic document detection (using a custom image segmentation model)
- Automatic perspective correction
- Automatic image enhancement
Compatibility
FairScan should be compatible with all devices that:
- run Android 8.0 or a more recent version
- have a camera
Privacy
- All data stays on the device. As of today, FairScan does not access the internet.
- Minimal permissions:
- Camera
- WRITE_EXTERNAL_STORAGE: only on Android 8 and 9 to save generated PDFs in the Download directory.
- Zero trackers.
Main dependencies
- Jetpack Compose for the user interface
- CameraX to capture images from the camera
- LiteRT to run the segmentation model for automatic document detection
- OpenCV for:
- perspective correction
- image enhancement
- PDFBox-Android for PDF generation
Kudos to the developers of those projects!
Build
To build an APK:
./gradlew clean check assembleRelease
To build an Android App Bundle:
./gradlew clean check :app:bundleRelease
Note on the segmentation model
The builds automatically downloads the segmentation model from
fairscan-segmentation-model.
This is done in download-tflite.gradle.kts.
License
This project is licensed under the GNU GPLv3. See LICENSE for details.
Languages
Kotlin
93.9%
Python
5.7%
xBase
0.4%


