使用 IRONOCR 护照 OCR SDK(开发者教程) Kannapat Udonpant 已更新:七月 28, 2025 下载 IronOCR NuGet 下载 DLL 下载 Windows 安装程序 免费试用 法学硕士副本 法学硕士副本 将页面复制为 Markdown 格式,用于 LLMs 在 ChatGPT 中打开 向 ChatGPT 咨询此页面 在双子座打开 向 Gemini 询问此页面 在双子座打开 向 Gemini 询问此页面 打开困惑 向 Perplexity 询问有关此页面的信息 分享 在 Facebook 上分享 分享到 X(Twitter) 在 LinkedIn 上分享 复制链接 电子邮件文章 护照是个人的身份证明; 我们使用护照旅行和登记生活中的重要方面。 然而,护照格式并不总是易于阅读。 想象一下,在假日旅游和休闲季节,突然出现了许多旅行者。 移民代理如何通过手动数据录入处理大量数据并手动检索正确信息? 因此,许多应用程序和企业都转向了光学字符识别 (OCR),它允许开发人员快速提取打印文本和数字图像。 同样,护照 OCR 是一种使用 光学字符识别 (OCR) 软件从护照中提取有意义信息的技术; 该项目还利用所有护照的机器可读区检索信息,以快速识别试图通过移民局的个人。 在需要快速识别护照信息的场景中,或者在涉及自动提取护照数据的流程中,护照 OCR 至关重要,是机场和出入境边防部门提高效率和速度的基石。 尽管多年来护照 OCR 软件和技术得到了进一步发展,但各种因素仍会影响文档扫描过程。 护照上有噪点或污点的数字图像会严重影响护照的准确性。 此外,由于机器可读区是一个独特的结构化数据集,OCR 库在对护照进行操作时有时会造成混淆。 开发人员可能能够提取数据,但必须独立对参数进行排序。 然而,使用 IronOCR,专门的方法被优化用于读取护照; 翻译结果要让开发人员能够快速获取和处理信息,这非常适合大批量扫描和自动化。 在本文中,我们将简要讨论使用 IronOCR 获取和操作护照信息以实现数据提取自动化,并进一步详细介绍 IronOCR 如何与护照进行交互。 IronOCR:一个 C# OCR 库。 !a href="/static-assets/ocr/blog/passport-ocr-sdk/passport-ocr-sdk-1.webp">Passport OCR SDK(开发人员教程):图 1 - IronOCR:一个 C# OCR 库。 IronOCR是一个 C# 库,为所有与 OCR 相关的需求提供易用的方法和灵活的功能。 除了标准技术外,IronOCR 还允许开发人员充分利用和定制一个版本的 Tesseract 来实现所有相关任务。 以下是其最显著特点的简要介绍: 1.跨平台兼容性: IronOCR 兼容大多数 .NET 平台,包括 .NET 8、7、6 和 5,并支持 .NET Framework 4.6.2 及以上版本。 有了这个库,开发人员就不必担心交叉兼容性问题,因为它还支持从 Windows、macOS 到 Azure 甚至 Linux 等所有操作系统。 2.灵活性: OCR 输入有多种格式,因此库必须能够处理各种格式,才能真正具有灵活性。 IronOCR 可接受所有流行的图像格式(jpg、png 和 gif),同时支持 C# 中的本地 "System.Drawing.Objects",从而可以更轻松地集成到现有代码库中。 3.支持和易用性: IronOCR 文档齐全,有大量的 API 和教程说明各种形式的功能。 此外,还提供 24/5 支持,确保开发人员始终得到支持。 4.支持多种语言: IronOCR 支持多达 125 种语言,还支持自定义语言,是所有国际文档处理的通用工具。 使用 IronOCR 读取护照 许可证密钥 请记住,IronOCR 的运行需要许可密钥。 您可以访问此链接,作为免费试用的一部分获得密钥。 // Replace the license key variable with the trial key you obtained IronOcr.License.LicenseKey = "REPLACE-WITH-YOUR-KEY"; // Replace the license key variable with the trial key you obtained IronOcr.License.LicenseKey = "REPLACE-WITH-YOUR-KEY"; ' Replace the license key variable with the trial key you obtained IronOcr.License.LicenseKey = "REPLACE-WITH-YOUR-KEY" $vbLabelText $csharpLabel 收到试用密钥后,请在项目中设置此变量。 代码示例 下面的代码展示了 IronOCR 如何使用库中的护照 OCR SDK 获取护照图像并提取所有相关信息。 输入图片 !护照 OCR SDK(开发人员教程):图 2 - 输入图像 using IronOcr; using System; class Program { public static void Main() { // Instantiate OCR engine var ocr = new IronTesseract(); using var inputPassport = new OcrInput(); inputPassport.AddImage("Passport.jpg"); // Perform OCR to read the passport OcrResult result = ocr.Read(inputPassport); // Output passport information Console.WriteLine("Given Names: " + result.Passport?.GivenNames); Console.WriteLine("Country: " + result.Passport?.Country); Console.WriteLine("Passport Number: " + result.Passport?.PassportNumber); Console.WriteLine("Surname: " + result.Passport?.Surname); Console.WriteLine("Date of Birth: " + result.Passport?.DateOfBirth.ToString("yyyy-MM-dd")); Console.WriteLine("Date of Expiry: " + result.Passport?.DateOfExpiry.ToString("yyyy-MM-dd")); } } using IronOcr; using System; class Program { public static void Main() { // Instantiate OCR engine var ocr = new IronTesseract(); using var inputPassport = new OcrInput(); inputPassport.AddImage("Passport.jpg"); // Perform OCR to read the passport OcrResult result = ocr.Read(inputPassport); // Output passport information Console.WriteLine("Given Names: " + result.Passport?.GivenNames); Console.WriteLine("Country: " + result.Passport?.Country); Console.WriteLine("Passport Number: " + result.Passport?.PassportNumber); Console.WriteLine("Surname: " + result.Passport?.Surname); Console.WriteLine("Date of Birth: " + result.Passport?.DateOfBirth.ToString("yyyy-MM-dd")); Console.WriteLine("Date of Expiry: " + result.Passport?.DateOfExpiry.ToString("yyyy-MM-dd")); } } Imports IronOcr Imports System Friend Class Program Public Shared Sub Main() ' Instantiate OCR engine Dim ocr = New IronTesseract() Dim inputPassport = New OcrInput() inputPassport.AddImage("Passport.jpg") ' Perform OCR to read the passport Dim result As OcrResult = ocr.Read(inputPassport) ' Output passport information Console.WriteLine("Given Names: " & result.Passport?.GivenNames) Console.WriteLine("Country: " & result.Passport?.Country) Console.WriteLine("Passport Number: " & result.Passport?.PassportNumber) Console.WriteLine("Surname: " & result.Passport?.Surname) Console.WriteLine("Date of Birth: " & result.Passport?.DateOfBirth.ToString("yyyy-MM-dd")) Console.WriteLine("Date of Expiry: " & result.Passport?.DateOfExpiry.ToString("yyyy-MM-dd")) End Sub End Class $vbLabelText $csharpLabel 代码解释 导入库: 首先将 IronOCR 和其他必要库导入代码库。 2.初始化 OCR 引擎:我们创建一个新的 IronTesseract 对象来初始化 OCR 引擎。 3.加载护照图像:然后,我们创建一个新的 OcrInput 并使用 AddImage() 加载包含护照的图像。 4.使用 OCR 阅读护照: 我们使用 Read() 方法对输入图像执行 OCR 操作并保存结果。 5.输出结果:我们输出提取的护照信息,如姓名、国家、护照号码、姓氏、出生日期和到期日期。 控制台输出 !护照 OCR SDK(开发人员教程):图 3 - 控制台输出 机器可读区域 IronOCR 可以按照国际民用航空组织(ICAO)的标准,从任何护照的最下面两行提取机器可读区域(MRZ)信息。 MRZ 数据由两行组成,每行包含唯一的信息。 下面是一个简表: !护照 OCR SDK(开发人员教程):图 4 - MRZ 表 护照 OCR 和调试的挑战 扫描数字图像时,图像质量始终是个问题。 失真的图像质量会模糊信息,增加确认数据准确性的难度。 此外,在处理护照等关键任务信息时,开发人员必须考虑数据的安全性和合规性。 IronOCR 还提供了一种调试和展示交互信息概念的方法。 这些方法可以让开发人员排除故障,并对提取的数据充满信心。 下面是一个简单的例子: using IronOcr; using System; class DebugExample { public static void Main() { // Instantiate OCR engine var ocr = new IronTesseract(); using var inputPassport = new OcrInput(); inputPassport.AddImage("Passport.jpg"); // Perform OCR OcrResult result = ocr.Read(inputPassport); // Output Confidence level and raw extracted text Console.WriteLine("OCR Confidence: " + result.Confidence); Console.WriteLine("Extracted Text: "); Console.WriteLine(result.Text); } } using IronOcr; using System; class DebugExample { public static void Main() { // Instantiate OCR engine var ocr = new IronTesseract(); using var inputPassport = new OcrInput(); inputPassport.AddImage("Passport.jpg"); // Perform OCR OcrResult result = ocr.Read(inputPassport); // Output Confidence level and raw extracted text Console.WriteLine("OCR Confidence: " + result.Confidence); Console.WriteLine("Extracted Text: "); Console.WriteLine(result.Text); } } Imports IronOcr Imports System Friend Class DebugExample Public Shared Sub Main() ' Instantiate OCR engine Dim ocr = New IronTesseract() Dim inputPassport = New OcrInput() inputPassport.AddImage("Passport.jpg") ' Perform OCR Dim result As OcrResult = ocr.Read(inputPassport) ' Output Confidence level and raw extracted text Console.WriteLine("OCR Confidence: " & result.Confidence) Console.WriteLine("Extracted Text: ") Console.WriteLine(result.Text) End Sub End Class $vbLabelText $csharpLabel 调试代码说明 1.置信度:OcrResult 中的 Confidence 属性是一个浮点数,代表 OCR 的统计精度置信度,以每个字符的平均值计算。 较低的值表示护照图像可能模糊或包含额外信息。 1 代表最高置信度,0 代表最低置信度。 2.文本: OcrResult 中的 Text 属性包含从护照图像中提取的未处理文本。 开发人员可以在单元测试中使用它,通过等价断言来验证从护照图像中提取的文本。 结论 !护照 OCR SDK(开发人员教程):图 5 - IronOCR Passport OCR 技术通过自动提取数据和提高操作效率,大大增强了文档处理能力。 它可以简化身份验证和 KYC 流程,在处理敏感个人信息的同时确保高准确性。 移民边境和机场选择 IronOCR 作为其护照 OCR API,可以缩短处理时间,提高工作流程效率。 IronOCR 通过其简单易用的方法为开发人员提供了灵活性和可扩展性。 它允许开发人员通过 OcrResult 对象快速对信息进行分类。 此外,IronOCR 还提供了调试工具,包括置信度和未经解析的原始文本,供开发人员在产品单元测试中使用。 IronOCR 还通过在传递护照图像输入到该方法之前手动减少数字噪声,以便于更高级的用法。 随时可以利用 IronOCR 的 免费试用许可证 页面。 常见问题解答 如何在C#中使用OCR提取护照信息? 您可以使用IronOCR通过处理护照图像,从可机读区提取数据来提取护照信息。 使用OCR处理护照数据有哪些好处? 护照数据处理的OCR自动化信息提取,大大提高了高流量区域(如机场和边境管制)的效率和准确性。 采用OCR技术可以处理多种语言吗? 是的,IronOCR支持多达125种语言,并允许添加自定义语言,使其在处理国际文件时非常通用。 IronOCR如何确保从护照中准确提取数据? IronOCR在OcrResult中提供了一个“Confidence”属性,以指示统计准确性,允许开发人员验证提取数据的可靠性。 IronOCR支持哪些图片格式用于护照扫描? IronOCR支持所有流行的图片格式,包括jpg、png和gif,它还可以与本机C#System.Drawing.Objects一起使用,以便于集成。 开发人员在实现护照OCR时可能面临哪些挑战? 挑战包括处理低质量图像、确保数据安全、以及遵守处理敏感护照信息的合规性。 开发人员如何开始使用IronOCR进行护照OCR? 开发人员可以通过从提供商的网站获取试用许可证密钥,并遵循详细文档将其集成到C#应用程序中开始使用IronOCR。 IronOCR兼容哪些平台? IronOCR与大多数.NET平台兼容,包括.NET 8,7,6和5,以及.NET Framework 4.6.2及以上,并支持Windows、macOS、Azure和Linux等主要操作系统。 Kannapat Udonpant 立即与工程团队聊天 软件工程师 在成为软件工程师之前,Kannapat 在日本北海道大学完成了环境资源博士学位。在攻读学位期间,Kannapat 还成为了车辆机器人实验室的成员,隶属于生物生产工程系。2022 年,他利用自己的 C# 技能加入 Iron Software 的工程团队,专注于 IronPDF。Kannapat 珍视他的工作,因为他可以直接从编写大多数 IronPDF 代码的开发者那里学习。除了同行学习外,Kannapat 还喜欢在 Iron Software 工作的社交方面。不撰写代码或文档时,Kannapat 通常可以在他的 PS5 上玩游戏或重温《最后生还者》。 相关文章 已发布十二月 18, 2025 C# 读取 PDF 表单字段:以编程方式提取表单数据 了解如何使用IronPDF在C#中读取PDF表单字段。从可填写PDF中提取文本、复选框、下拉列表等,提供简单的代码示例。 阅读更多 已发布十二月 18, 2025 C# 从 PDF 中提取图像:完整开发者指南 了解如何在C#中使用IronPDF强大的方法从PDF文档中提取图像。包含.NET开发人员的完整指南和代码示例。 阅读更多 已发布十二月 18, 2025 C# 将 PDF 转换为图像:完整开发者指南 了解如何在C#中使用IronPDF将PDF文档转换为图像。提供JPG、PNG和TIFF转换的逐步指南和代码示例。 阅读更多 C# 中的超市收据 OCR(开发者教程)用于多种语言的 Tesseract OCR...
已发布十二月 18, 2025 C# 读取 PDF 表单字段:以编程方式提取表单数据 了解如何使用IronPDF在C#中读取PDF表单字段。从可填写PDF中提取文本、复选框、下拉列表等,提供简单的代码示例。 阅读更多