使用 ML Kit 文档扫描器 API 轻松将文档扫描功能添加至您的应用

使用 ML Kit 文档扫描器 API 轻松将文档扫描功能添加至您的应用

作者 / 高级开发者关系工程师 Thomas Ezan;机器学习套件工程师 Chengji Yan 和 Penny Li;产品经理 David Miro Llopis

我们很高兴为您介绍近期推出的 ML Kit 文档扫描器 API。该全新 API 能帮助您轻松地将高级文档扫描功能添加至您的 Android 应用,并提供高质量且一致的用户界面。ML Kit 文档扫描器 API 能让您的用户快速轻松地对纸质文档进行数字化处理。

与其他 ML Kit API 一样,ML Kit 文档扫描器 API 能让您在不具备任何机器学习 (ML) 知识的情况下,无缝集成由机器学习 (ML) 驱动的各种功能。

为什么选择文档扫描器 SDK?

尽管我们正处于数字时代,但在我们的日常生活中仍会接触许多纸质文档和打印文件,更别提身份证和收据等实体文件了。

ML Kit 文档扫描器 API 具有许多优势,包括:

  • 高质量且一致的用户界面,用于对实体文档进行数字化处理。

  • 借助精准的角点和边缘检测技术进行精确的文档检测,实现无缝扫描体验和最佳扫描效果。

  • 用户可借助灵活的功能裁剪已扫描的文档和添加滤镜,并且去除手指、污渍以及其他瑕疵,最终还能将数字化文件以 PDF 和 JPEG 格式发送回您的应用。

  • 设备端处理,保护您的隐私。

  • 无需相机权限的完整解决方案。

Google Drive Android 应用和 Google Pixel 相机现均已采用 ML Kit 文档扫描器 API。

△ ML Kit 文档扫描器 API 在 Google Drive 上的实际应用

△ ML Kit 文档扫描器 API 在 Google Drive 上的实际应用

即刻探索

ML Kit 文档扫描器 API 需要 Android API 级别 21 及更高版本。模型、扫描逻辑和用户界面流程都是通过 Google Play 服务动态下载的,因此 ML Kit 文档扫描器 API 并不会占用您应用的太多内存。

如要将该 API 集成到您的应用中,请先配置扫描器选项并获取扫描器客户端:

val options = GmsDocumentScannerOptions.Builder()
    .setGalleryImportAllowed(false)
    .setPageLimit(2)
    .setResultFormats(RESULT_FORMAT_JPEG, RESULT_FORMAT_PDF)
    .setScannerMode(SCANNER_MODE_FULL)
    .build()
val scanner = GmsDocumentScanning.getClient(options)

然后注册 ActivityResultCallback 以接收扫描结果:

val scannerLauncher = registerForActivityResult(StartIntentSenderForResult()) {
  result -> {
    if (result.resultCode == RESULT_OK) {
      val result =
        GmsDocumentScanningResult.fromActivityResultIntent(result.data)
      result.getPages()?.let { pages ->
        for (page in pages) {
          val imageUri = page.getImageUri()
        }
      }
      result.getPdf()?.let { pdf ->
        val pdfUri = pdf.getUri()
        val pageCount = pdf.getPageCount()
      }
    }
  }
}

最后启动文档扫描器 Activity:

scanner.getStartScanIntent(activity)
  .addOnSuccessListener { intentSender ->   
    scannescannerrLauncher.launch(IntentSenderRequest.Builder(intentSender).build())
  }
  .addOnFailureListener { ... }

如要开始使用 ML Kit 文档扫描器 API,您可以访问 官方文档 了解更多详情。我们热切期待看到您借助该 API 打造更全面的应用与功能!

版权声明

禁止一切形式的转载-禁止商用-禁止衍生 申请授权

脉脉不得语
脉脉不得语
Zhengzhou Website
Android Developer | https://androiddevtools.cn and https://androidweekly.io Funder | GDG Zhengzhou Funder & Ex Organizer | http://Toast.show(∞) Podcast Host

你已经成功订阅到 Android 开发技术周报
太棒了!接下来,完成检验以获得全部访问权限 Android 开发技术周报
欢迎回来!你已经成功登录了。
Unable to sign you in. Please try again.
成功!您的帐户已完全激活,您现在可以访问所有内容。
Error! Stripe checkout failed.
Success! Your billing info is updated.
Error! Billing info update failed.
🍗