Skip to content

Releases: jeiel85/clear-pdf-local

v1.6.2 — Audit follow-up (stability fixes)

Choose a tag to compare

@github-actions github-actions released this 20 Jun 12:18

ClearPDF Local v1.6.2 — audit follow-up (stability fixes)

A self-audit (5-dimension code review + adversarial verification) found the feature set complete and the no-INTERNET brand build-enforced, with three confirmed medium bugs and minor cleanup. This release fixes them.

Fixed

  • Stale-index race: reprocess ops (mode / dewarp / finger / glare) now re-resolve the page by a stable id before writing back, so deleting a page while another is processing can no longer change the wrong page or orphan a temp file.
  • Cache orphaning: addCapturedPhoto deletes its dewarp/processed cache files if the pipeline throws.
  • Camera guard: takePicture is wrapped so an unbound/failed camera can't crash on a shutter tap or auto-capture tick.
  • Leaks: DocumentScanProcessor releases Mats via try/finally; SearchablePdfUseCase closes its PDDocument on failure paths.
  • Cleanup: Settings shows the real version (was hardcoded 1.0.0); removed the AI-Studio template Greeting composable + its screenshot test; cleaned the Gemini placeholder from .env.example.

Audited statically + JVM unit tests pass. The best-effort CV (finger/glare) and camera flow still want the batched real-device pass.

Install

Download ClearPDFLocal-v1.6.2-vc10.apk below (built & signed by CI). Requires Android 7.0 (API 24)+, arm64.

v1.6.1 — Glare reduction (best-effort), Phase 4 complete

Choose a tag to compare

@github-actions github-actions released this 20 Jun 10:12

ClearPDF Local v1.6.1 — glare reduction (best-effort)

Completes Phase 4 (finger + glare were the named pair).

What's new

  • Reduce glare — a new action on each scanned page. Softens small light reflections (e.g. on glossy paper). It uses a top-hat transform to target spots brighter than their local background, so plain white paper isn't mistaken for glare.

Honest limits

  • Only small/medium reflections are handled. A large blown-out highlight has lost its pixel information and cannot be recovered — by design, large regions are left untouched.
  • Like finger removal, this ships without on-device testing yet (batched with later checks). Build verified.

Install

Download ClearPDFLocal-v1.6.1-vc9.apk below and sideload it (built & signed by CI). Requires Android 7.0 (API 24)+, arm64.

v1.6.0 — Finger removal + leaner arm64-only build

Choose a tag to compare

@github-actions github-actions released this 20 Jun 08:43

ClearPDF Local v1.6.0 — finger removal (best-effort) + a leaner app

Phase 4 polish plus a meaningful size cut.

What's new

  • Remove finger — a new action on each scanned page. If a finger holding the book got caught at the page edge, this masks the skin-coloured region and inpaints it away. Best-effort: it only targets a finger entering from the edge, and it cannot restore text the finger was covering.

Size

  • The app now ships arm64-v8a only (drops the legacy 32-bit armeabi-v7a copies of OpenCV / ONNX Runtime / Tesseract). The universal APK is much smaller as a result; by 2026 effectively all Android devices are arm64.
  • Note: model int8 quantization was tried and rejected — it shrank the model (31.7→8 MB) but ran ~7× slower, which would wreck the auto-flatten flow. The full-precision model is kept.

Honest note

  • Finger removal is shipped without on-device testing yet (batched with later checks). The size change and the build are verified; glare removal is intentionally not included (blown-out highlights can't be recovered).

Install

Download ClearPDFLocal-v1.6.0-vc8.apk below and sideload it (built & signed by CI). Requires Android 7.0 (API 24)+, arm64.

v1.5.0 — Auto-flatten (hands-free book scanning)

Choose a tag to compare

@github-actions github-actions released this 20 Jun 08:06

ClearPDF Local v1.5.0 — Auto-flatten (hands-free book scanning)

The vFlat-style book flow is now complete: flip pages and flattened scans stack up on their own — no shutter taps, no per-page correction.

What's new

  • Auto-flatten toggle: when on, every captured page is run through the neural dewarp the moment it's captured. With Auto-scan + Auto-flatten both on, just hold the camera over an open book and flip — each curved page is auto-captured and flattened automatically.

Technical

  • addCapturedPhoto(autoFlatten) dewarps the raw photo then enhances it, caching the flattened image so a later mode switch doesn't re-run the model; falls back to the standard detect + perspective pipeline if dewarp fails.
  • Reuses the on-device-verified DewarpEngine (UVDoc via ONNX Runtime, ~275 ms/page) and OpenCV enhancement.

Install

Download ClearPDFLocal-v1.5.0-vc7.apk below and sideload it (built & signed by CI). Requires Android 7.0 (API 24)+.

v1.4.0 — AI curved-page dewarping (on-device)

Choose a tag to compare

@github-actions github-actions released this 20 Jun 01:34

ClearPDF Local v1.4.0 — AI curved-page dewarping (on-device)

Neural curved-page flattening — the vFlat-style "왜곡 보정". A photographed curved book page can be flattened into a fronto-parallel document, fully on-device, no INTERNET.

What's new

  • Flatten curved page (AI): a new action on each scanned page. Photograph an open, curved book and tap Flatten — bent text lines and the bowed spine are straightened into a flat page (which also makes OCR cleaner).

Technical

  • DewarpEngine runs the bundled UVDoc model (UVDoc_infer.onnx, ~31.7 MB) via ONNX Runtime Mobile (onnxruntime-android 1.26.0). The model returns the rectified image directly — its internal grid_sample runs under ONNX Runtime, so no TFLite is needed. arm64 .so verified 16KB-aligned for Android 15.
  • Pipeline: dewarp the raw photo, then re-apply the page's enhancement mode; the flattened image is cached so mode switches don't re-run the model.
  • Verified on a real Android 15 tablet: UVDoc loads + runs at ~275 ms and visibly flattens a curved book page.

Honest limits

  • Works well on gentle/moderate book curl (as tested). Extreme curvature, the gutter/spine, and poor lighting may still fall short of a polished commercial scanner.

Size

The bundled model + ONNX Runtime native libs make this build substantially larger (the per-device install grows by tens of MB). This is the cost of a fully-offline neural model.

Install

Download ClearPDFLocal-v1.4.0-vc6.apk below and sideload it (built & signed by CI). Requires Android 7.0 (API 24)+.

v1.3.0 — On-device OCR & searchable PDFs

Choose a tag to compare

@github-actions github-actions released this 19 Jun 08:56

ClearPDF Local v1.3.0 — On-device OCR & searchable PDFs

Offline OCR (Tesseract) plus a searchable-PDF writer (PdfBox-Android). A scan can now carry an invisible, selectable/searchable text layer — all on-device, no INTERNET, no Play Services.

What's new

  • Searchable PDF (OCR): a toggle in the scan save dialog. When on, the text is recognized on-device and added to the PDF as an invisible layer, so it's searchable, selectable, and copyable.
  • Korean + English recognition (kor+eng).
  • Graceful fallback: pages the OCR/font can't handle fall back to a plain image PDF, so saving never fails.

Technical

  • TessOcrEngine — tesseract4android 4.9.0 (JitPack; native libs verified 16KB-aligned). tessdata_fast kor+eng bundled in assets, copied to filesDir on first run.
  • SearchablePdfUseCase — PdfBox-Android 2.0.27.0; per page draws the image and lays OCR words as render-mode-3 text, using an embedded NanumGothic Type0 font (subset) for Korean coverage. Per-word try/catch.
  • Verified on a real Android 15 device: the searchable pipeline runs without crashing and produces a valid PDF with the embedded Type0 font. OCR accuracy on real text is left to real-document testing.

Size

Adds ~7.8 MB of assets (kor/eng traineddata + NanumGothic) on top of the OCR/PDF native libs — the universal APK is correspondingly larger.

Install

Download ClearPDFLocal-v1.3.0-vc5.apk below and sideload it (built & signed by CI). Requires Android 7.0 (API 24)+.

v1.2.0 — Auto-scan (live detection + auto-capture)

Choose a tag to compare

@github-actions github-actions released this 19 Jun 08:11

ClearPDF Local v1.2.0 — Auto-scan (live detection + auto-capture)

vFlat-style auto-capture for the camera scanner, all classical on-device CV — no INTERNET permission, no Play Services.

What's new

  • Auto-scan: hold the camera steady over a page and it detects the document edges and captures automatically. Flip through a book and it scans page after page.
  • Live edge overlay: the detected document border is drawn on the preview in real time (replaces the old static frame).
  • Auto / manual toggle: one tap to switch; the manual shutter still works in both modes.

Technical

  • DocumentFrameAnalyzer (CameraX ImageAnalysis) reads each frame's Y (luma) plane as grayscale, rotates it upright, and runs the OpenCV quad detector. Stability tracking fires one auto-capture per page, re-arming only after the page leaves the frame; capture is debounced (1.2 s).
  • DocumentDetector now exposes detectCornersFromGray() for the live path; the still-photo pipeline is unchanged.

Install

Download ClearPDFLocal-v1.2.0-vc4.apk below and sideload it (built & signed by CI). Requires Android 7.0 (API 24)+.

Known limitations

  • Overlay alignment and auto-capture thresholds are tuned conservatively and may need device-specific adjustment.
  • Curved book-page flattening (3D dewarp) is still a later phase — auto-scan captures the page, but curvature near the spine isn't flattened yet.

v1.1.0 — On-device document scanner (Phase 1)

Choose a tag to compare

@jeiel85 jeiel85 released this 19 Jun 06:53

ClearPDF Local v1.1.0 — Real on-device document scanner (Phase 1)

Phase 1 of the scanner-quality roadmap. The camera scanner moves from "photo → brightness tweak → PDF dump" to a real OpenCV pipeline that runs fully on-device — no INTERNET permission, no Play Services.

What's new

  • Automatic edge detection — finds the document quad (Canny + contour + largest convex 4-gon).
  • Perspective correction — deskews angled shots into flat, fronto-parallel pages.
  • Four enhancement modes per page: Auto (magic-colour illumination flattening), Color, Grayscale (CLAHE), B&W (background division + adaptive threshold).
  • The raw photo is kept, so you can switch modes without re-shooting.

Technical

  • OpenCV 4.13.0 (Apache-2.0, Maven Central); bundled arm64 .so verified 16KB-aligned for Android 15.
  • abiFilters limited to armeabi-v7a + arm64-v8a.
  • A build-time gate fails the build if android.permission.INTERNET ever appears in the merged manifest — the offline brand is enforced by CI, not review.

Install

Download ClearPDFLocal-v1.1.0-vc3.apk below and sideload it. Requires Android 7.0 (API 24)+.

Known limitations (planned for later increments)

  • Live edge-tracking overlay and auto-capture are not in this build (detection runs after capture).
  • Curved book-page flattening (3D dewarp) is a later phase.