はじめに
-
プラグインをインストール
Terminal window npm i @capgo/capacitor-document-scannerTerminal window pnpm add @capgo/capacitor-document-scannerTerminal window yarn add @capgo/capacitor-document-scannerTerminal window bun add @capgo/capacitor-document-scanner -
ネイティブプラットフォームと同期
Terminal window npx cap syncTerminal window pnpm cap syncTerminal window yarn cap syncTerminal window bunx cap sync
スキャンをトリガー
Section titled “スキャンをトリガー”import { DocumentScanner, ResponseType, ScanDocumentResponseStatus,} from '@capgo/capacitor-document-scanner';
const result = await DocumentScanner.scanDocument({ croppedImageQuality: 90, letUserAdjustCrop: true, maxNumDocuments: 10, responseType: ResponseType.ImageFilePath,});
if (result.status === ScanDocumentResponseStatus.Success) { console.log('Scanned files:', result.scannedImages);} else { console.log('Scan cancelled by user');}base64データを返す
Section titled “base64データを返す”const result = await DocumentScanner.scanDocument({ responseType: ResponseType.Base64,});
const [firstPage] = result.scannedImages ?? [];if (firstPage) { const dataUrl = `data:image/jpeg;base64,${firstPage}`; // プレビューを表示またはサーバーにアップロード}プラットフォーム要件
Section titled “プラットフォーム要件”- iOS: カメラの使用方法を説明する
NSCameraUsageDescriptionをios/App/App/Info.plistに追加します。 - Android:
CAMERAパーミッションが宣言されていることを確認します (Capacitorが自動的に追加します) し、UIに合わせてcroppedImageQuality、letUserAdjustCrop、maxNumDocumentsを調整します。 - ストレージ:
ResponseType.ImageFilePathを使用する場合、アプリセッションが終了する前にスキャンされたファイルを希望するストレージの場所に移動またはコピーしてください。