Document scanner - This is a Capacitor plugin that lets you scan documents using Android and iOS.
npm install mdocument-scanner
npx cap sync
Add these lines to android/app/src/main/res/xml/file_paths.xml
<?xml version="1.0" encoding="utf-8" ?>
<paths xmlns:android="http://schemas.android.com/apk/res/android">
<external-path name="external_files" path="."/>
<cache-path name="mlkit_docscan_ui_client" path="." />
</paths>
iOS requires the following usage description be added and filled out for your app in Info.plist:
NSCameraUsageDescription (Privacy - Camera Usage Description)
scanDocument(options: ScanDocumentOptions) => Promise<ScanDocumentResponse>
Param | Type |
---|---|
options |
ScanDocumentOptions |
Returns: Promise<ScanDocumentResponse>
Prop | Type | Description |
---|---|---|
scannedFile |
string |
This is an array with either file path or base64 for the document scan. |
status |
ScanDocumentResponseStatus |
The status lets you know if the document scan completes successfully, or if the user cancels before completing the document scan. |
Prop | Type | Description | Default |
---|---|---|---|
maxNumDocuments |
number |
Android only: The maximum number of photos an user can take (not counting photo retakes) | : 1 |
responseType |
ResponseType |
The response comes back in this format on success. It can be the document scan image file paths or base64 images. | : ResponseType.ImageFilePath |
Members | Value | Description |
---|---|---|
Success |
'success' |
The status comes back as success if the document scan completes successfully. |
Cancel |
'cancel' |
The status comes back as cancel if the user closes out of the camera before completing the document scan. |
Members | Value | Description |
---|---|---|
Base64 |
'base64' |
Use this response type if you want document scan returned as base64 images. |
ImageFilePath |
'imageFilePath' |
Use this response type if you want document scan returned as inmage file paths. |