Cómo leer documentos específicos
Leer con precisión documentos específicos como documentos de texto estándar, matrículas, pasaportes y fotos con un método singular general es muy difícil. Estos retos se derivan de la diversidad de formatos, diseños y contenidos de cada tipo de documento, así como de las variaciones en la calidad de la imagen, la distorsión y el contenido especializado. Además, lograr la comprensión contextual y equilibrar el rendimiento y la eficiencia se hace más complejo con una gama más amplia de tipos de documentos.
IronOCR presenta métodos específicos para realizar OCR en documentos concretos, como documentos de texto estándar, matrículas, pasaportes y fotografías, con el fin de lograr una precisión y un rendimiento óptimos.
Comience con IronOCR
Comience a usar IronOCR en su proyecto hoy con una prueba gratuita.
Cómo leer documentos específicos
- Descargar una biblioteca C# para leer matrículas, pasaportes y fotos
- Preparar la imagen y el documento PDF para el OCR
- Establecer el método
ReadLicensePlate
para leer una placa de matrícula - Establezca el método
ReadPassport
para recuperar información de un pasaporte - Aprovecha los métodos
ReadPhoto
yReadScreenShot
para leer imágenes que contienen texto difícil de leer
Acerca del paquete
Los métodos ReadLicensePlate
, ReadPassport
, ReadPhoto
y ReadScreenShot
son métodos de extensión del paquete base de IronOCR y requieren que el paquete IronOcr.Extensions.AdvancedScan esté instalado. Actualmente, esta extensión sólo está disponible en Windows.
Los métodos funcionan con configuraciones del motor OCR, como listas negras y listas blancas. Se admiten múltiples idiomas, incluidos chino, japonés, coreano y LatinAlphabet, en todos los métodos, excepto en el método ReadPassport
. Tenga en cuenta que cada idioma requiere un paquete de idioma adicional, IronOcr.Languages.
El uso de la exploración avanzada en .NET Framework requiere que el proyecto se ejecute en arquitectura x64. Para ello, vaya a la configuración del proyecto y desmarque la opción "Preferir 32 bits". Obtenga más información en la siguiente guía de resolución de problemas: "Advanced Scan on .NET Framework".
Leer ejemplo de documento
El método ReadDocument
es un método de lectura de documentos robusto que se especializa en documentos escaneados o fotos de documentos en papel que contienen mucho texto. La configuración de PageSegmentationMode es muy importante para leer documentos de texto con diferentes diseños. Por ejemplo, los tipos SingleBlock y SparseText podrían recuperar mucha información del diseño de la tabla. Esto se debe a que SingleBlock asume que el texto se mantiene como un bloque, mientras que SparseText asume que el texto está disperso por todo el documento.
:path=/static-assets/ocr/content-code-examples/how-to/read-specific-document-document.cs
using IronOcr;
using System;
// Instantiate OCR engine
var ocr = new IronTesseract();
// Configure OCR engine
ocr.Configuration.PageSegmentationMode = TesseractPageSegmentationMode.SingleBlock;
using var input = new OcrInput();
input.LoadPdf("Five.pdf");
// Perform OCR
OcrResult result = ocr.ReadDocument(input);
Console.WriteLine(result.Text);
Imports IronOcr
Imports System
' Instantiate OCR engine
Private ocr = New IronTesseract()
' Configure OCR engine
ocr.Configuration.PageSegmentationMode = TesseractPageSegmentationMode.SingleBlock
Dim input = New OcrInput()
input.LoadPdf("Five.pdf")
' Perform OCR
Dim result As OcrResult = ocr.ReadDocument(input)
Console.WriteLine(result.Text)
Los métodos a continuación son métodos de extensión para el paquete base IronOCR y requieren que se instale el paquete IronOcr.Extensions.AdvancedScan. Actualmente, esta extensión sólo está disponible en Windows.
Leer ejemplo de matrícula
El método ReadLicensePlate
está optimizado para leer matrículas de fotos. La información especial devuelta por este método es la propiedad Licenseplate, que contiene la información de la ubicación de la placa en el documento proporcionado.
:path=/static-assets/ocr/content-code-examples/how-to/read-specific-document-license-plate.cs
using IronOcr;
using IronSoftware.Drawing;
using System;
// Instantiate OCR engine
var ocr = new IronTesseract();
using var inputLicensePlate = new OcrInput();
inputLicensePlate.LoadImage("LicensePlate.jpeg");
// Perform OCR
OcrLicensePlateResult result = ocr.ReadLicensePlate(inputLicensePlate);
// Retrieve license plate coordinates
Rectangle rectangle = result.Licenseplate;
// Retrieve license plate value
string output = result.Text;
Imports IronOcr
Imports IronSoftware.Drawing
Imports System
' Instantiate OCR engine
Private ocr = New IronTesseract()
Private inputLicensePlate = New OcrInput()
inputLicensePlate.LoadImage("LicensePlate.jpeg")
' Perform OCR
Dim result As OcrLicensePlateResult = ocr.ReadLicensePlate(inputLicensePlate)
' Retrieve license plate coordinates
Dim rectangle As Rectangle = result.Licenseplate
' Retrieve license plate value
Dim output As String = result.Text
Leer ejemplo de pasaporte
El método ReadPassport
está optimizado para la lectura y extrae información del pasaporte a partir de fotos del pasaporte escaneando el contenido de la zona legible por máquina (MRZ). Una MRZ es una zona especialmente definida en documentos oficiales como pasaportes, documentos de identidad y visados. La MRZ suele contener información personal esencial, como el nombre, la fecha de nacimiento, la nacionalidad y el número de documento del titular. Actualmente, este método sólo admite el idioma inglés.
:path=/static-assets/ocr/content-code-examples/how-to/read-specific-document-passport.cs
using IronOcr;
using System;
// Instantiate OCR engine
var ocr = new IronTesseract();
using var inputPassport = new OcrInput();
inputPassport.LoadImage("Passport.jpg");
// Perform OCR
OcrPassportResult result = ocr.ReadPassport(inputPassport);
// Output passport information
Console.WriteLine(result.PassportInfo.GivenNames);
Console.WriteLine(result.PassportInfo.Country);
Console.WriteLine(result.PassportInfo.PassportNumber);
Console.WriteLine(result.PassportInfo.Surname);
Console.WriteLine(result.PassportInfo.DateOfBirth);
Console.WriteLine(result.PassportInfo.DateOfExpiry);
Imports IronOcr
Imports System
' Instantiate OCR engine
Private ocr = New IronTesseract()
Private inputPassport = New OcrInput()
inputPassport.LoadImage("Passport.jpg")
' Perform OCR
Dim result As OcrPassportResult = ocr.ReadPassport(inputPassport)
' Output passport information
Console.WriteLine(result.PassportInfo.GivenNames)
Console.WriteLine(result.PassportInfo.Country)
Console.WriteLine(result.PassportInfo.PassportNumber)
Console.WriteLine(result.PassportInfo.Surname)
Console.WriteLine(result.PassportInfo.DateOfBirth)
Console.WriteLine(result.PassportInfo.DateOfExpiry)
Resultado

Asegúrese de que el documento contiene únicamente la imagen del pasaporte. Cualquier texto de cabecera y pie de página podría confundir al método y dar lugar a una salida inesperada.
Leer ejemplo de foto
El método ReadPhoto
está optimizado para leer imágenes que contienen texto difícil de leer. Este método devuelve la propiedad TextRegions, que contiene información útil sobre el texto detectado, como Region, TextInRegion y FrameNumber.
:path=/static-assets/ocr/content-code-examples/how-to/read-specific-document-photo.cs
using IronOcr;
using IronSoftware.Drawing;
// Instantiate OCR engine
var ocr = new IronTesseract();
using var inputPhoto = new OcrInput();
inputPhoto.LoadImageFrame("photo.tif", 2);
// Perform OCR
OcrPhotoResult result = ocr.ReadPhoto(inputPhoto);
// index number refer to region order in the page
int number = result.TextRegions[0].FrameNumber;
string textinregion = result.TextRegions[0].TextInRegion;
Rectangle region = result.TextRegions[0].Region;
Imports IronOcr
Imports IronSoftware.Drawing
' Instantiate OCR engine
Private ocr = New IronTesseract()
Private inputPhoto = New OcrInput()
inputPhoto.LoadImageFrame("photo.tif", 2)
' Perform OCR
Dim result As OcrPhotoResult = ocr.ReadPhoto(inputPhoto)
' index number refer to region order in the page
Dim number As Integer = result.TextRegions(0).FrameNumber
Dim textinregion As String = result.TextRegions(0).TextInRegion
Dim region As Rectangle = result.TextRegions(0).Region
Leer ejemplo de captura de pantalla
El método ReadScreenShot
está optimizado para leer capturas de pantalla que contienen texto difícil de leer. Similar al método ReadPhoto, también devuelve la propiedad TextRegions.
:path=/static-assets/ocr/content-code-examples/how-to/read-specific-document-screenshot.cs
using IronOcr;
using System;
using System.Linq;
// Instantiate OCR engine
var ocr = new IronTesseract();
using var inputScreenshot = new OcrInput();
inputScreenshot.LoadImage("screenshot.png");
// Perform OCR
OcrPhotoResult result = ocr.ReadScreenShot(inputScreenshot);
// Output screenshoot information
Console.WriteLine(result.Text);
Console.WriteLine(result.TextRegions.First().Region.X);
Console.WriteLine(result.TextRegions.Last().Region.Width);
Console.WriteLine(result.Confidence);
Imports IronOcr
Imports System
Imports System.Linq
' Instantiate OCR engine
Private ocr = New IronTesseract()
Private inputScreenshot = New OcrInput()
inputScreenshot.LoadImage("screenshot.png")
' Perform OCR
Dim result As OcrPhotoResult = ocr.ReadScreenShot(inputScreenshot)
' Output screenshoot information
Console.WriteLine(result.Text)
Console.WriteLine(result.TextRegions.First().Region.X)
Console.WriteLine(result.TextRegions.Last().Region.Width)
Console.WriteLine(result.Confidence)