Flutter文档扫描与OCR识别插件scanbot_sdk的使用

发布于 1周前 作者 h691938207 来自 Flutter

Flutter文档扫描与OCR识别插件scanbot_sdk的使用

Scanbot Document and Barcode Scanner SDK for Flutter Plugin

Scanbot提供的Flutter插件允许开发者轻松实现iOS和Android应用中的文档扫描、条形码扫描以及数据提取功能。通过访问移动设备上的摄像头,选择界面并配置设置,用户可以方便地在应用程序中扫描任何文档、条形码或其他数据。

主要特性

  • 自动扫描、透视校正、用户指导、自动裁剪等功能。
  • 支持多种导出格式如PDF、TIFF、JPEG等。
  • 模糊检测、自定义过滤器、加密等高级功能。

文档与示例应用

为了将此插件集成到您的应用程序中,请按照我们的文档步骤操作,并查看我们的示例应用

变更日志

每个版本包含的详细更改列表请参阅变更日志

试用许可证

Scanbot SDK在没有许可证的情况下每次会话运行一分钟!要获取7天无限制的试用许可证,请提交网站上的试用许可证表单。如果需要更多测试时间,还可以提交概念验证表单,为您提供30天的免费试用期。

请注意,试用许可证只能用于开发和测试环境。您不允许在App Store、Play Store或任何第三方Android应用商店发布带有试用许可证的应用。

免费开发者支持

我们为Scanbot SDK的实施和测试提供免费的“无附加条件”开发者支持。如果您在集成Scanbot SDK时遇到技术问题或需要关于选择合适框架或功能的建议,请访问我们的支持页面

使用示例

以下是一个简单的示例,展示如何在Flutter项目中使用scanbot_sdk插件:

添加依赖

首先,在pubspec.yaml文件中添加scanbot_sdk依赖:

dependencies:
  flutter:
    sdk: flutter
  scanbot_sdk: ^1.0.0 # 请根据最新版本号调整

然后运行flutter pub get来安装新的依赖项。

初始化SDK

在主函数中初始化SDK:

import 'package:flutter/material.dart';
import 'package:scanbot_sdk/scanbot_sdk.dart';

void main() async {
  WidgetsFlutterBinding.ensureInitialized();
  
  // 初始化SDK
  await ScanbotSdk.initializeLicense("YOUR_LICENSE_KEY");
  
  runApp(MyApp());
}

class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'Document Scanner',
      home: HomeScreen(),
    );
  }
}

启动扫描界面

创建一个按钮来启动扫描界面:

import 'package:flutter/material.dart';
import 'package:scanbot_sdk/scanbot_sdk.dart';

class HomeScreen extends StatelessWidget {
  void _startScanner() async {
    try {
      final result = await ScanbotSdk.startDocumentScanner();
      print('Scanned document: ${result.documentUri}');
    } catch (e) {
      print('Error during scanning: $e');
    }
  }

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: Text('Document Scanner'),
      ),
      body: Center(
        child: ElevatedButton(
          onPressed: _startScanner,
          child: Text('Start Scanning'),
        ),
      ),
    );
  }
}

以上是基本的使用示例,更多详细信息和功能请参考官方文档示例应用


更多关于Flutter文档扫描与OCR识别插件scanbot_sdk的使用的实战系列教程也可以访问 https://www.itying.com/category-92-b0.html

1 回复

更多关于Flutter文档扫描与OCR识别插件scanbot_sdk的使用的实战系列教程也可以访问 https://www.itying.com/category-92-b0.html


当然,以下是一个关于如何在Flutter项目中使用scanbot_sdk插件进行文档扫描与OCR识别的代码示例。scanbot_sdk是一个强大的插件,可以帮助你轻松实现文档扫描和文本识别功能。

首先,你需要在pubspec.yaml文件中添加scanbot_sdk依赖:

dependencies:
  flutter:
    sdk: flutter
  scanbot_sdk: ^最新版本号  # 请替换为实际的最新版本号

然后,运行flutter pub get来获取依赖包。

接下来,在你的Flutter项目中,你可以按照以下步骤使用scanbot_sdk进行文档扫描和OCR识别:

  1. 初始化Scanbot SDK

main.dart或其他合适的文件中,导入scanbot_sdk并初始化它。

import 'package:flutter/material.dart';
import 'package:scanbot_sdk/scanbot_sdk.dart';

void main() {
  // 初始化Scanbot SDK(如果需要的话,可以在这里配置许可证密钥等)
  ScanbotSdk.initialize();
  runApp(MyApp());
}
  1. 创建扫描和OCR识别页面

创建一个新的Dart文件(例如scan_page.dart),并添加以下代码来实现扫描和OCR识别功能。

import 'package:flutter/material.dart';
import 'package:scanbot_sdk/scanbot_sdk.dart';

class ScanPage extends StatefulWidget {
  @override
  _ScanPageState createState() => _ScanPageState();
}

class _ScanPageState extends State<ScanPage> {
  ScanbotScannerController? _scannerController;
  String? _recognizedText;

  @override
  void initState() {
    super.initState();
    // 初始化扫描控制器
    _scannerController = ScanbotScannerController();
    _scannerController!.onRecognitionCompleted = (result) {
      setState(() {
        _recognizedText = result.text;
      });
    };
  }

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: Text('Scan and OCR'),
      ),
      body: Center(
        child: Column(
          mainAxisAlignment: MainAxisAlignment.center,
          children: [
            ElevatedButton(
              onPressed: () async {
                // 启动扫描
                await _scannerController!.startScanner(
                  context,
                  // 可选的配置参数,如语言、识别模式等
                  configuration: ScanbotConfiguration(
                    language: 'en', // 设置OCR识别语言
                    // 其他配置...
                  ),
                );
              },
              child: Text('Start Scanning'),
            ),
            SizedBox(height: 20),
            if (_recognizedText != null)
              Text(
                'Recognized Text:\n$_recognizedText',
                style: TextStyle(fontSize: 18),
                textAlign: TextAlign.center,
              ),
          ],
        ),
      ),
    );
  }

  @override
  void dispose() {
    _scannerController?.dispose();
    super.dispose();
  }
}
  1. 在应用中导航到扫描页面

在你的主应用文件(例如main.dart)中,添加导航到扫描页面的代码。

import 'package:flutter/material.dart';
import 'scan_page.dart';

class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'Flutter Scanbot SDK Demo',
      theme: ThemeData(
        primarySwatch: Colors.blue,
      ),
      home: Scaffold(
        appBar: AppBar(
          title: Text('Scanbot SDK Demo'),
        ),
        body: Center(
          child: ElevatedButton(
            onPressed: () {
              Navigator.push(
                context,
                MaterialPageRoute(builder: (context) => ScanPage()),
              );
            },
            child: Text('Go to Scan Page'),
          ),
        ),
      ),
    );
  }
}

以上代码展示了如何在Flutter应用中使用scanbot_sdk插件进行文档扫描和OCR识别。请确保你已经按照Scanbot SDK的文档正确配置了必要的许可和权限。如果你使用的是付费版本,还需要在初始化时提供有效的许可证密钥。

回到顶部