使用身份证明文件扫描机器可读文档,适用于 Laravel
发布日期:作者: Paul Redmond
Identity Documents for Laravel 是一个软件包,允许您处理护照和其他机器可读文档。我们最初介绍了 Laravel Identity Documents v1,但该软件包在发布了完全重写的 V2 版本后得到了改进。软件包作者 Hergen Dillema 向我们总结了该软件包在 V2 版本中的重写
在过去的几个月里,我完全重写了这个软件包,使 API 非常易于使用,允许使用除 Google Vision 之外的其他光学字符识别 (OCR) 服务(例如 tesseract),并提供提取护照照片的人脸检测功能。
以下是该软件包 V2 版本中提供的新功能的概览:
- 新的 MRZ 搜索算法
- 改进的 MRZ 解析
- 兼容更多文档类型
- 改进的 VIZ 解析和置信度评分
- 用于查找护照照片的人脸检测
- 可配置的 ORC 和人脸检测服务
- 通过 OOP 改进了与软件包的交互,而不是将所有内容都设置为静态
新版本允许您使用除 Google Vision 之外的其他 OCR 服务,例如 Tesseract 开源 OCR 引擎,提供统一的 API 接口
$document = new IdentityDocument($request->front, $request->back); // Get the machine-readable zone (MRZ)$mrz = $document->getMrz();// Parsed version of the MRZ$parsed = $document->getParsedMrz(); // Get the passport picture from the document// Returns an instance of \Intervention\Image\Image$face = $document->getFace();
以下是一个示例,该示例展示了该软件包扫描的 MRZ 代码以及解析后的版本
如果您想一次获取扫描文档提供的所有内容,可以使用 all()
方法。返回的数组如下所示
$response = IdentityDocuments::all( $request->front, $request->back); /*[ 'type' => 'string', // TD1, TD2, TD3, MRVA, MRVB 'mrz' => 'string', // Full MRZ 'parsed' => [], // Array containing parsed MRZ 'viz' => [], // Array containing parsed VIZ 'face' => 'string', // Base64 image string]*/
了解更多
您可以在 GitHub 上了解有关该软件包的更多信息,获取完整的安装说明,并查看 源代码。
作者还发布了 在 Laravel 中处理身份证明文件,这是一篇深入探讨了与解析支持 MRZ 的文档相关的所有内容的文章。文章还介绍了编写自定义 OCR 实现以与该软件包一起使用的步骤。