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
- Fije el
LeerPlacaDeLicencia
método para leer una matrícula - Fije el
LeerPasaporte
método para recuperar información de un pasaporte - Aprovechar la
LeerFoto
yReadScreenShot
métodos 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 IronOCR y requieren la extensiónIronOcr.Extensions.AdvancedScan paquete a instalar. Actualmente, esta extensión sólo está disponible en Windows.
Los métodos funcionan con configuraciones del motor de OCR como lista negra y lista blanca. Todos los métodos admiten varios idiomas, incluidos chino, japonés, coreano y alfabeto latino, excepto el método ReadPassport
. Tenga en cuenta que cada idioma requiere un paquete lingüístico 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 solución de problemas: "Exploración avanzada en .NET Framework."
Leer ejemplo de documento
El método ReadDocument
es un método robusto de lectura de documentos que se especializa en documentos escaneados o fotos de documentos en papel que contienen mucho texto. La configuración PageSegmentationMode es muy importante en la lectura de 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 permanece 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 siguientes métodos son extensiones del paquete básico IronOCR y requieren la extensiónIronOcr.Extensions.AdvancedScan paquete a instalar. 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 a partir de fotos. La información especial que devuelve este método es la propiedad Matrícula, que contiene la información de la ubicación de la matrícula 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 leer y extraer información de pasaportes de fotos de pasaportes escaneando la zona legible por máquina(MRZ) contenidos. 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)