$result = DocumentScanner::scan(
maxPages: 10, // 0 = unlimited
allowGalleryImport: true, // Android only — allow importing from photo library
mode: 'full', // 'base' | 'filter' | 'full'
outputPdf: true, // Include a combined PDF
outputJpegs: true, // Include per-page JPEGs
);
use lstables\NativeDocumentScanner\Events\DocumentScanned;
use lstables\NativeDocumentScanner\Events\DocumentScanCancelled;
use lstables\NativeDocumentScanner\Events\DocumentScanFailed;
#[OnNative(DocumentScanned::class)]
public function onScanned(int $pageCount, array $pages, ?string $pdf): void
{
// Store, upload, or process scanned files
}
#[OnNative(DocumentScanCancelled::class)]
public function onCancelled(): void
{
// User tapped Cancel
}
#[OnNative(DocumentScanFailed::class)]
public function onFailed(string $reason): void
{
// Something went wrong
}