Scan Plus¶
Scan Plus is the mobile app's high-quality document camera. It's used to photograph paper logbook pages, oil analysis reports, work orders, and any other paper that needs to land in AZSuite as a searchable, OCR-able image.
The pipeline:
- Mobile captures a photo with a 16:9 (landscape) or 9:16 (portrait) frame
- The photo lands in a per-aircraft queue on the AZSuite server
- Web (
scan_define.php) imports the queued photo into a scan session, defines crop regions, runs OCR, and posts results into the right destination (logbook entry, oil sample, etc.)
Capture flow¶
- Open the Scan Plus tile
- Pick the aircraft + logbook + page number
- Tap Open Camera
- Frame the page within the visible 16:9 / 9:16 rectangle
- Tap the shutter
- Review on the preview screen
- Tap Upload to Server (or Retake if it's blurry)
The framing rectangle¶
The camera screen has a rectangle overlay showing the actual capture area. Everything outside the rectangle is greyed out — that area won't be saved in the photo.
This matches what scan_define expects for OCR — straight-on shots with
the page filling the frame produce dramatically better OCR than free-aim
shots.
Portrait vs Landscape toggle¶
The camera defaults to Landscape (16:9) which suits letter-sized pages held wide. For tall documents (like a logbook page held vertically), tap the 🖼️ Landscape / 📱 Portrait toggle at the top of the camera view.
The frame rotates and the saved photo's aspect ratio matches.
Other controls¶
- Cancel — exit the camera without saving
- Shutter (large round button at bottom-center) — capture
- Flip — switch front / back camera (rare; back is always best for documents)
After capture: the preview screen¶
The preview screen shows:
- The captured photo, full-screen
- Resolution (e.g., 4032 × 3024 px)
- File size (e.g., 2.1 MB)
- Aspect ratio (16:9 / 9:16)
Below it:
- Upload to Server — sends to the per-aircraft queue
- Retake — discard and recapture
Upload destination¶
The photo lands at:
Where {N_NUMBER} is the selected aircraft's tail number, and page_NNN
encodes the page number you picked at upload time.
Importing on the web side¶
Once uploaded, the photo waits in the queue until someone imports it via
scan_define.php. Steps:
- Open the AZSuite web at
scan_define.php - Pick the aircraft (or stay in an existing session)
- Click 📱 Import from Mobile Queue (warning-yellow button on the "Raw Uploaded Images" strip)
- The modal lists all pending photos for this N-number
- Optionally rotate left/right to fix orientation
- Click Import All (as Raw) to bring them into the session, OR Import Scan Plus (as Pages) if they're sequential logbook pages
- Web takes over from here — define crop regions, run OCR, save
Auto-increment page number¶
After a successful upload, the page-number field auto-increments. So if you captured page 1 of a logbook, the field reads "2" for your next capture. This makes capturing 30 pages of a logbook in sequence painless — open camera, capture, upload, capture, upload.
Things to know¶
- Upload requires network — the photo is sent over your AZSuite API connection, not stored locally for later. If you're at the airport on spotty Wi-Fi, capture multiple photos and upload when you have a better connection.
- Photos are JPG — the camera produces high-quality JPG, ~2–4 MB each. Large enough for OCR, small enough for cellular upload.
- Permissions required — Camera permission is asked the first time; Photos permission isn't (we don't save to your camera roll).
Troubleshooting¶
| Symptom | Likely cause | Fix |
|---|---|---|
| "Not seeing my upload in scan_define" | Path mismatch (fixed in v0.2.5+) | Update the app and the server |
| Image rotated 90° in preview | Phone capture orientation differs from frame | Use the rotation tools in the web import modal |
| Text in OCR is garbage | Lighting / angle / focus | Recapture with better lighting and the page parallel to the camera |
| Upload spinner hangs | Slow / dropped Wi-Fi | Wait or retry; uploaded photos are not lost |