eitol/colombian-cedula-reader

用于读取哥伦比亚公民证PDF417码的库

dev-master 2022-07-26 13:22 UTC

This package is auto-updated.

Last update: 2022-07-26 13:23:02 UTC


README

用于读取哥伦比亚公民证PDF417码的库

要求

  • PHP >= 7.1

安装

您可以通过composer安装此包

{  
    "require": {
        "eitol/colombian-cedula-reader": "dev-master"
    }  
}

需要安装以下PHP扩展

ext-intl

使用方法

require __DIR__.'/vendor/autoload.php';

use Eitol\ColombianCedulaReader\ColombianIDCardDecoder;

// Leemos el archivo que contiene una foto 
// del posterior de la cédula
$file = file_get_contents("imagen_de_cedula.jpg");

// Decodificamos
$decoder = new ColombianIDCardDecoder();
$result = $decoder->decode($file);

结果

doc/result.png

哥伦比亚PDF417说明

注意:本文档是在互联网上公开获得的

哥伦比亚身份证背面包含一个417 pdf码。

您可以使用android应用“verifcame”或“pdf417 reader”来检查码的内部数据。

字段

  • 指纹码
  • 指纹卡
  • 文件编号
  • 文件类型
  • 文件信息
  • 姓名
  • 个人类型
  • 性别
  • 生日
  • 血型
  • 市(参见pre_divipol_02_agosto_2011)
  • 部门(参见pre_divipol_02_agosto_2011)

tests/test_data/best_quality_1.jpg

解释

哥伦比亚公民证在其背面包含一个PDF417码,该码应以二进制格式读取。为了提取信息,需要执行以下操作

首先从图像中读取代码。对于Android / iOS,可以使用ML Vision库。如果您想从后端读取PDF417的内容,那么没有免费的替代方案。您可以使用zxing,但其性能太差。如果您想获得良好的结果,遗憾的是您将不得不为解码PDF417的库付费,如dynamsoft、microblink等。

其次,您需要从字节数组中提取定位的字段。

字段 起始 - 结束 示例
指纹码 2 - 10 30847811
指纹卡 40 - 48 16434054
文件编号 48 - 58 51907053
姓氏 58 - 80 GONZALEZ
第二姓氏 81 - 104 MARIN
名字 104 - 127 MARIA
中间名 127 - 150 GABRIELA
性别 151 - 152 F(男性为M)
出生年份 152 - 156 1967
出生月份 156 - 158 01
出生日期 158 - 160 28
市代码 160 - 162 15(昆迪纳马卡)
部门代码 162 - 165 001(波哥大,特区)
血型 166 - 168 O+

注意事项

文件编号字段有时以“0”作为左填充。您需要删除它们。

有几个字段(如姓名、姓氏等)在右侧有“0x00”(空)作为填充。您需要删除它们。

建议使用二进制查看器来观察字段并在开发过程中进行调试。