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
|
||||
|
||||
- 📷 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
|
||||
- 🎨 Per-page filters: color, grayscale, black & white (document mode)
|
||||
- 🔄 Rotate, reorder and delete pages
|
||||
- 📄 Export to a multi-page PDF (A4 or original size)
|
||||
- ☁️ 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
|
||||
- 🌍 Localized UI (see [Languages](#languages))
|
||||
- 🔐 API token stored encrypted (Android Keystore / EncryptedSharedPreferences)
|
||||
|
||||
## 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
|
||||
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
|
||||
|
||||
```
|
||||
@@ -99,19 +113,20 @@ app/src/main/java/eu/geyskens/pdfscan/
|
||||
├── MainActivity.kt # Compose host + navigation
|
||||
├── ScanViewModel.kt # scan session, rendering, export, upload
|
||||
├── data/ # Page model, ScanFilter, SettingsRepository
|
||||
├── scan/ # EdgeDetector, ImageProcessor, BitmapIo (OpenCV)
|
||||
├── scan/ # EdgeDetector, DocumentAnalyzer (live), ImageProcessor, BitmapIo
|
||||
├── pdf/ # PdfBuilder (multi-page PDF)
|
||||
├── paperless/ # PaperlessClient (OkHttp REST + task polling)
|
||||
└── ui/screens/ # Camera, Pages, Crop, Export, Settings
|
||||
```
|
||||
|
||||
UI strings are in `res/values*/strings.xml` (one file per language).
|
||||
|
||||
## Roadmap
|
||||
|
||||
Tracked as issues in the repository:
|
||||
|
||||
- Live edge-detection overlay while aiming (like Microsoft Lens)
|
||||
- Internationalization: extract UI strings to resources + add translations
|
||||
- Batch import scans from the gallery
|
||||
- Batch import scans from the gallery (import existing photos as pages)
|
||||
- More UI languages (contributions welcome)
|
||||
|
||||
> OCR is intentionally **not** done on-device: Paperless-ngx already runs OCR (via
|
||||
> OCRmyPDF/Tesseract) when it consumes the uploaded document.
|
||||
|
||||
Reference in New Issue
Block a user