ML Kit Document Scanner (PDF)
Add a Scan document option to the file upload dialog — the user scans up to 5 pages and your web app receives a PDF like any other upload.
The Document Scanner feature adds a Scan document option to the standard file-upload chooser. The user can scan up to 5 pages with the camera; the app produces a PDF and uploads it through the standard <input type="file"> flow used by your web app. It is powered by Google's ML Kit Document Scanner.
How to Enable:
Turn the feature on in Config.java:
public static final boolean ENABLE_ML_KIT_DOCUMENT_SCANNER = true;
Set to false to hide the Scan document entry.
User Experience:
- On your web page, the user taps an
<input type="file">. - The app shows an upload dialog with entries such as Scan document, Take photo, Capture video, and Choose from gallery (depending on the input's
acceptattribute). - Tapping Scan document launches Google's ML Kit scanner: it detects edges, crops and enhances each page, allows adding more pages, and returns a PDF.
- The resulting PDF is fed back into the
<input type="file">— your web app receives it exactly like any other uploaded file.
Notes: Requires Google Play Services (available on all standard Android phones with Play Store). Result format is PDF, maximum 5 pages per scan. Gallery import inside the scanner is allowed by default.
SDK-style implementation notes
Treat this feature as a native capability exposed to your web layer: keep your production website or PWA as the source of truth, then use the documented WebViewGold configuration flags, URL commands, and JavaScript bridge calls to opt in to native Android behavior only where it adds value. This approach keeps your codebase maintainable because the same web application can serve browsers, WebViewGold for Android, and the other WebViewGold platforms with minimal conditional logic.
For reliable results, prefer HTTPS endpoints, stable route names, explicit success/error states in your UI, and small JavaScript helper functions that wrap native calls. For example, a web app built with jQuery Mobile, Lovable, Base44, Bolt, WordPress, Bubble, a custom React/Vue/Angular stack, or static HTML can expose a single button or event handler that triggers the native WebViewGold API while still showing a graceful browser fallback.
- Recommended integration pattern: detect the app context, call the WebViewGold API, then update your web UI after the native callback or route change.
- Testing checklist: validate the feature on a real device or packaged build, verify permissions and store review text, and confirm that browser-only users still receive a useful fallback.
- SEO benefit: keep feature pages, route titles, and structured content indexable on your website while WebViewGold delivers the native app shell for Android users.