Manejo de ceros con barra en IronOCR

This article was translated from English: Does it need improvement?
Translated
View the article in English

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
$vbLabelText   $csharpLabel

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.

Preguntas Frecuentes

¿Por qué los ceros tachados en el NIF de una factura Facturae generan errores en el SII de la AEAT?

Si IronOCR confunde un cero tachado con '6' u '8' en el NIF del emisor o receptor de la factura, el número queda malformado y el sistema SII de la AEAT rechaza automáticamente la factura. La solución es usar el paquete SlashedZeroOCR y validar el NIF extraído contra el patrón de 9 caracteres antes de enviarlo.

¿El reconocimiento erróneo de ceros en un DNI puede generar incidencias LOPDGDD?

Sí. Si un cero tachado en el número de DNI se lee incorrectamente, el registro de identidad puede asociarse a otra persona, lo que constituye un error de tratamiento de datos personales supervisado por la AEPD. Se recomienda validar el patrón de 9 caracteres del DNI tras la extracción OCR.

¿Cómo uso el paquete SlashedZeroOCR con IronOCR?

Descarga el paquete de idioma SlashedZeroOCR desde GitHub y cárgalo mediante el método UseCustomTesseractLanguageFile de IronTesseract. Consulta la guía de idiomas de IronOCR para instrucciones detalladas.

¿Debo validar el IBAN español extraído por OCR antes de integrarlo en flujos eIDAS?

Sí. Los errores de cero tachado pueden malformar el IBAN (formato ES## #### #### ## ##########). Se recomienda siempre validar el IBAN extraído contra el patrón español antes de incorporarlo a flujos de verificación eIDAS o procesos bancarios.

Curtis Chau
Escritor Técnico

Curtis Chau tiene una licenciatura en Ciencias de la Computación (Carleton University) y se especializa en el desarrollo front-end con experiencia en Node.js, TypeScript, JavaScript y React. Apasionado por crear interfaces de usuario intuitivas y estéticamente agradables, disfruta trabajando con frameworks modernos y creando manuales bien ...

Leer más
¿Listo para empezar?
Nuget Descargas 5,896,332 | Versión: 2026.5 just released
Still Scrolling Icon

¿Aún desplazándote?

¿Quieres una prueba rápida? PM > Install-Package IronOcr
ejecuta una muestra y observa cómo tu imagen se convierte en texto buscable.