Manejo de ceros con barra en IronOCR
Los ceros con barra no se reconocen correctamente, ¿se identifican como g, 6 u 8?
Esto puede ser un problema con los paquetes de idioma de Tesseract.
El siguiente paquete de idioma puede ayudar a abordar este problema con ceros tachados: SlashedZeroOCR
Esto se puede usar con la función de IronOCR para cargar paquetes de idioma personalizados: Ejemplo de idioma personalizado en IronOCR
// Import the IronOcr namespace
using IronOcr;
class Program
{
static void Main(string[] args)
{
// Initialize IronTesseract class
var Ocr = new IronTesseract();
// Use a custom Tesseract language file, which may help with recognizing slashed zeros
Ocr.UseCustomTesseractLanguageFile("custom_tesseract_files/custom.traineddata");
// Specify the OCR input image
using (var Input = new OcrInput(@"images\image.png"))
{
// Perform OCR on the input image
var Result = Ocr.Read(Input);
// Output the recognized text to the console
Console.WriteLine(Result.Text);
}
}
}
// Import the IronOcr namespace
using IronOcr;
class Program
{
static void Main(string[] args)
{
// Initialize IronTesseract class
var Ocr = new IronTesseract();
// Use a custom Tesseract language file, which may help with recognizing slashed zeros
Ocr.UseCustomTesseractLanguageFile("custom_tesseract_files/custom.traineddata");
// Specify the OCR input image
using (var Input = new OcrInput(@"images\image.png"))
{
// Perform OCR on the input image
var Result = Ocr.Read(Input);
// Output the recognized text to the console
Console.WriteLine(Result.Text);
}
}
}
' Import the IronOcr namespace
Imports IronOcr
Friend Class Program
Shared Sub Main(ByVal args() As String)
' Initialize IronTesseract class
Dim Ocr = New IronTesseract()
' Use a custom Tesseract language file, which may help with recognizing slashed zeros
Ocr.UseCustomTesseractLanguageFile("custom_tesseract_files/custom.traineddata")
' Specify the OCR input image
Using Input = New OcrInput("images\image.png")
' Perform OCR on the input image
Dim Result = Ocr.Read(Input)
' Output the recognized text to the console
Console.WriteLine(Result.Text)
End Using
End Sub
End Class
Relevancia para empresas españolas: ceros tachados en documentos fiscales y de identidad
Este problema de reconocimiento de ceros tachados es especialmente relevante para empresas españolas que procesan documentos con IronOCR bajo la LOPDGDD (Ley Orgánica de Protección de Datos y Garantía de Derechos Digitales), donde un error de reconocimiento puede provocar consecuencias de cumplimiento significativas.
En el contexto fiscal y de identidad en España, los ceros tachados aparecen con frecuencia en:
- NIF/CIF de empresas y autónomos en facturas Facturae para el sistema SII de la AEAT: un cero confundido con "6" u "8" en el NIF puede rechazar automáticamente la factura en el sistema de la AEAT o generar errores en el Suministro Inmediato de Información.
- DNI, NIE y TIE: los números de documento de identidad españoles incluyen con frecuencia ceros; una lectura errónea en flujos KYC o en pipelines de incorporación de clientes puede generar incidencias de cumplimiento bajo la LOPDGDD y la supervisión de la AEPD.
- Números de cuenta IBAN en documentos bancarios digitalizados para procesos de verificación bajo eIDAS.
Para mitigar este riesgo en entornos de producción españoles, se recomienda aplicar el paquete SlashedZeroOCR y validar los resultados de extracción del NIF, DNI y IBAN contra los patrones de formato conocidos (9 caracteres para el DNI, formato ES## #### #### ## ########## para IBAN) antes de incorporarlos a sistemas downstream como el SII de la AEAT o pipelines de verificación eIDAS.

