PdfScanResult.fromPlatformData constructor

PdfScanResult.fromPlatformData(
  1. dynamic data
)

Creates a PdfScanResult from the raw platform channel data.

On Android, the data is a Map with 'pdfUri' and 'pageCount' keys. On iOS, the data is a String file path.

Implementation

factory PdfScanResult.fromPlatformData(dynamic data) {
  if (data is Map) {
    final uri = data['pdfUri'] as String?;
    if (uri == null) {
      throw const FormatException('Missing pdfUri in PDF scan result');
    }
    return PdfScanResult(
      pdfUri: uri,
      pageCount: (data['pageCount'] as int?) ?? 0,
    );
  }
  if (data is String) {
    return PdfScanResult(pdfUri: data);
  }
  throw FormatException(
    'Unexpected PDF scan result type: ${data.runtimeType}',
  );
}