Update README: live overlay, upload confirmation, languages, roadmap
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
23
README.md
23
README.md
@@ -12,12 +12,16 @@ Paperless server you configure yourself. There is no AI or cloud processing.
|
|||||||
## Features
|
## Features
|
||||||
|
|
||||||
- 📷 Camera preview with multi-page capture (add pages one by one)
|
- 📷 Camera preview with multi-page capture (add pages one by one)
|
||||||
|
- 🟢 Live edge-detection overlay while aiming — see the document outline before you capture
|
||||||
- ✂️ Automatic edge detection + perspective correction (OpenCV), with manual corner adjustment
|
- ✂️ Automatic edge detection + perspective correction (OpenCV), with manual corner adjustment
|
||||||
- 🎨 Per-page filters: color, grayscale, black & white (document mode)
|
- 🎨 Per-page filters: color, grayscale, black & white (document mode)
|
||||||
- 🔄 Rotate, reorder and delete pages
|
- 🔄 Rotate, reorder and delete pages
|
||||||
- 📄 Export to a multi-page PDF (A4 or original size)
|
- 📄 Export to a multi-page PDF (A4 or original size)
|
||||||
- ☁️ Direct upload to Paperless-ngx **or** share via the Android share sheet
|
- ☁️ Direct upload to Paperless-ngx **or** share via the Android share sheet
|
||||||
|
- ✅ Real upload feedback — the app waits for Paperless to consume the document and reports
|
||||||
|
**Added / Duplicate / Failed** (with a *Don't wait* option to skip the wait)
|
||||||
- 🔊 Capture feedback: shutter sound (only when the ringer isn't silenced) + a brief flash
|
- 🔊 Capture feedback: shutter sound (only when the ringer isn't silenced) + a brief flash
|
||||||
|
- 🌍 Localized UI (see [Languages](#languages))
|
||||||
- 🔐 API token stored encrypted (Android Keystore / EncryptedSharedPreferences)
|
- 🔐 API token stored encrypted (Android Keystore / EncryptedSharedPreferences)
|
||||||
|
|
||||||
## Tech
|
## Tech
|
||||||
@@ -91,6 +95,16 @@ The build uses env vars, so nothing sensitive ends up in the repo.
|
|||||||
Prefer **https**; with `http://` the app warns that the token and documents travel over the
|
Prefer **https**; with `http://` the app warns that the token and documents travel over the
|
||||||
network unencrypted.
|
network unencrypted.
|
||||||
|
|
||||||
|
## Languages
|
||||||
|
|
||||||
|
The UI ships in **English** (default), **Dutch**, **German**, **French**, **Spanish**,
|
||||||
|
**Italian** and **Portuguese**. The app follows your device language automatically.
|
||||||
|
|
||||||
|
All strings live in `app/src/main/res/values/strings.xml` (English base). Contributing a
|
||||||
|
language is just adding a `values-<code>/strings.xml` with the same keys — e.g.
|
||||||
|
`values-pl/strings.xml` for Polish. Every string must be present in every locale (the release
|
||||||
|
lint enforces this).
|
||||||
|
|
||||||
## Project layout
|
## Project layout
|
||||||
|
|
||||||
```
|
```
|
||||||
@@ -99,19 +113,20 @@ app/src/main/java/eu/geyskens/pdfscan/
|
|||||||
├── MainActivity.kt # Compose host + navigation
|
├── MainActivity.kt # Compose host + navigation
|
||||||
├── ScanViewModel.kt # scan session, rendering, export, upload
|
├── ScanViewModel.kt # scan session, rendering, export, upload
|
||||||
├── data/ # Page model, ScanFilter, SettingsRepository
|
├── data/ # Page model, ScanFilter, SettingsRepository
|
||||||
├── scan/ # EdgeDetector, ImageProcessor, BitmapIo (OpenCV)
|
├── scan/ # EdgeDetector, DocumentAnalyzer (live), ImageProcessor, BitmapIo
|
||||||
├── pdf/ # PdfBuilder (multi-page PDF)
|
├── pdf/ # PdfBuilder (multi-page PDF)
|
||||||
├── paperless/ # PaperlessClient (OkHttp REST + task polling)
|
├── paperless/ # PaperlessClient (OkHttp REST + task polling)
|
||||||
└── ui/screens/ # Camera, Pages, Crop, Export, Settings
|
└── ui/screens/ # Camera, Pages, Crop, Export, Settings
|
||||||
```
|
```
|
||||||
|
|
||||||
|
UI strings are in `res/values*/strings.xml` (one file per language).
|
||||||
|
|
||||||
## Roadmap
|
## Roadmap
|
||||||
|
|
||||||
Tracked as issues in the repository:
|
Tracked as issues in the repository:
|
||||||
|
|
||||||
- Live edge-detection overlay while aiming (like Microsoft Lens)
|
- Batch import scans from the gallery (import existing photos as pages)
|
||||||
- Internationalization: extract UI strings to resources + add translations
|
- More UI languages (contributions welcome)
|
||||||
- Batch import scans from the gallery
|
|
||||||
|
|
||||||
> OCR is intentionally **not** done on-device: Paperless-ngx already runs OCR (via
|
> OCR is intentionally **not** done on-device: Paperless-ngx already runs OCR (via
|
||||||
> OCRmyPDF/Tesseract) when it consumes the uploaded document.
|
> OCRmyPDF/Tesseract) when it consumes the uploaded document.
|
||||||
|
|||||||
Reference in New Issue
Block a user