OCR chino en C# y .NET

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

Otras versiones de este documento:

IronOCR es un componente de software en C# que permite a los desarrolladores .NET leer texto de imágenes y documentos PDF en 126 idiomas, incluido el chino. El Paquete de Idioma Chino contiene caracteres tanto en chino simplificado como en chino tradicional.

Es una derivación avanzada de Tesseract, construida exclusivamente para desarrolladores de .NET, y supera regularmente a otros motores de Tesseract tanto en velocidad como en precisión. La biblioteca permite el reconocimiento de imágenes y documentos de diferentes formatos en varios idiomas, incluido el chino. Admite más de 126 idiomas y ofrece un alto nivel de precisión de reconocimiento en comparación con la competencia. La API de IronOCR ha sido diseñada pensando en la extensibilidad y la personalización. Puedes mejorar el rendimiento de IronOCR añadiendo tus propios datos o características de ajuste al rastreador. IronOCR utiliza muchas técnicas de reconocimiento óptico de caracteres y se puede usar en un PC con Windows, Linux, macOS y otras plataformas bien conocidas.

Contenido de IronOcr.Languages.Chinese

Este paquete contiene 126 idiomas de OCR para .NET:

  • ChineseSimplified
  • ChineseSimplifiedBest
  • ChineseSimplifiedFast
  • ChineseSimplifiedVertical
  • ChineseSimplifiedVerticalBest
  • ChineseSimplifiedVerticalFast
  • ChineseTraditional
  • ChineseTraditionalBest
  • ChineseTraditionalFast
  • ChineseTraditionalVertical
  • ChineseTraditionalVerticalBest
  • ChineseTraditionalVerticalFast

Descargar

Podemos descargar el Paquete de Idioma Chino [中文 (Zhōngwén)] desde los siguientes enlaces:

Uso de IronOCR para el idioma chino

Crear o abrir un proyecto de C

Para empezar con IronOCR, necesitas crear un proyecto .NET en C#. Estamos usando Visual Studio 2022 para este propósito. Puedes elegir una versión según tus necesidades, recomendándose la última versión de Visual Studio para una experiencia fluida. Crearemos una interfaz GUI para seleccionar la imagen. IronOCR también se puede utilizar en una aplicación de consola proporcionando la ruta directa de la imagen. Implementa los siguientes pasos para crear un proyecto en C# en Visual Studio 2022:

  • Abre Visual Studio 2022.
  • Haga clic en el botón "Crear un nuevo proyecto".

Image 1

  • Escribe "Windows" en la barra de búsqueda, selecciona la aplicación "Windows Form" de los resultados de búsqueda y haz clic en el botón "Next".

Image 2

  • Da un nombre al proyecto. Estoy asignando el nombre "ChineseOCR" al proyecto. Después de nombrar, haz clic en el botón "Next".

Image 3

  • Selecciona el marco .NET en la siguiente pantalla. Elige el marco .NET según las necesidades de tu proyecto. Estamos seleccionando la versión .NET 5.0 para este tutorial.

Image 4

  • Después de seleccionar, haz clic en el botón "Create". Esto creará el proyecto de Windows Form en C# en Visual Studio.

El proyecto ha sido creado y ahora está listo para ser utilizado con la biblioteca IronOCR. También puedes usar un proyecto en C# existente. Abre el proyecto y procede con la instalación de la biblioteca IronOCR. La siguiente sección explica cómo instalar la biblioteca IronOCR en proyectos de C#.

Instalación

Uso del Administrador de paquetes NuGet

Para instalar la biblioteca IronOCR con el Administrador de Paquetes NuGet, debemos abrir la interfaz del Administrador de Paquetes NuGet. Sigue estos pasos para instalar la biblioteca IronOCR:

  • Haz clic en "Tools" en el menú principal, pasa el ratón sobre "NuGet Package Manager" y selecciona "Manage NuGet Packages for Solution".

Image 5

  • Esto abrirá la interfaz del Administrador de Paquetes NuGet. Ve a la pestaña "Browse" y busca IronOCR Chinese. Selecciona el paquete correcto de los resultados de búsqueda y haz clic en el botón "Install" para instalarlo.

Image 6

  • La instalación de la biblioteca comenzará. Después de la instalación, podrás usar la biblioteca IronOCR en tu proyecto.

Uso de la consola del administrador de paquetes

Usar una consola siempre es una opción fácil. También podemos instalar la biblioteca IronOCR utilizando la Consola del Administrador de Paquetes. Sigue estos pasos para instalar la biblioteca IronOCR:

  • Abre la Consola del Administrador de Paquetes en Visual Studio. Normalmente se encuentra en la parte inferior de Visual Studio.
  • Ejecuta el siguiente comando en la consola:

    Install-Package IronOcr.Languages.Chinese
  • Verás el progreso de la instalación de la biblioteca en la consola. Instalará la biblioteca automáticamente. Después de la instalación, el proyecto estará listo para la biblioteca IronOCR.

Ejemplo de código: OCR para el idioma chino

Ahora es el momento de escribir el código para implementar la biblioteca IronOCR para el idioma chino. Primero, tenemos que desarrollar el frontend para seleccionar el archivo de imagen. Veamos cómo podemos hacer esto.

Desarrollo del frontend

Usaremos los elementos del "Toolbox" para diseñar el frente. Crearemos un Botón, un Picture Box, un Rich TextBox y dos etiquetas. Arrastraremos y soltaremos estos elementos del Toolbox y los colocaremos en el Windows Form. Arréglalos según sea necesario.

El Botón se usará para seleccionar el archivo de imagen del PC, el Picture Box cargará la imagen seleccionada y el Rich TextBox mostrará el texto de salida. Puedes ajustar el tamaño de cada elemento según tus necesidades. El diseño final del frontend se verá así:

Image 7

Esta ventana aparecerá cuando ejecutes el proyecto. Hemos configurado la alineación del Windows Form para que aparezca en el centro de la pantalla.

Nuestro frontend está listo. Ahora, vamos a añadir la funcionalidad del backend al botón.

Código backend para IronOCR

Primero, importa el espacio de nombres de IronOCR para usarlo en nuestro código escribiendo la siguiente línea en la parte superior del archivo:

using IronOCR;
using IronOCR;
Imports IronOCR
$vbLabelText   $csharpLabel

Usaremos el botón "Select Image" para seleccionar y cargar la imagen en el Picture Box. IronOCR procesará la imagen de texto en chino simplificado y mostrará el texto de salida en el Rich TextBox. Añadamos la funcionalidad al botón haciendo doble clic en el botón y escribiendo el siguiente código:

private void btn_image_Click(object sender, EventArgs e)
{
    OpenFileDialog open = new OpenFileDialog();
    if (open.ShowDialog() == DialogResult.OK)
    {
        // Display image in picture box  
        img_image.Image = new Bitmap(open.FileName);

        var Ocr = new IronTesseract();

        // Set OCR language to Chinese Traditional
        Ocr.Language = OcrLanguage.ChineseTraditional;

        using (var Input = new OcrInput(open.FileName))
        {
            // Perform OCR on the image input
            var Result = Ocr.Read(Input);

            // Output the recognized text
            txt_output.Text = Result.Text;
        }
    }
}
private void btn_image_Click(object sender, EventArgs e)
{
    OpenFileDialog open = new OpenFileDialog();
    if (open.ShowDialog() == DialogResult.OK)
    {
        // Display image in picture box  
        img_image.Image = new Bitmap(open.FileName);

        var Ocr = new IronTesseract();

        // Set OCR language to Chinese Traditional
        Ocr.Language = OcrLanguage.ChineseTraditional;

        using (var Input = new OcrInput(open.FileName))
        {
            // Perform OCR on the image input
            var Result = Ocr.Read(Input);

            // Output the recognized text
            txt_output.Text = Result.Text;
        }
    }
}
Private Sub btn_image_Click(ByVal sender As Object, ByVal e As EventArgs)
	Dim open As New OpenFileDialog()
	If open.ShowDialog() = DialogResult.OK Then
		' Display image in picture box  
		img_image.Image = New Bitmap(open.FileName)

		Dim Ocr = New IronTesseract()

		' Set OCR language to Chinese Traditional
		Ocr.Language = OcrLanguage.ChineseTraditional

		Using Input = New OcrInput(open.FileName)
			' Perform OCR on the image input
			Dim Result = Ocr.Read(Input)

			' Output the recognized text
			txt_output.Text = Result.Text
		End Using
	End If
End Sub
$vbLabelText   $csharpLabel

Cuando un usuario haga clic en el botón, aparecerá un cuadro de diálogo para seleccionar la imagen. Cuando el usuario seleccione la imagen, se cargará automáticamente en el Picture Box. Usamos Bitmap para mostrar la imagen en el Picture Box. Después de eso, IronOCR convierte la imagen en texto chino. Configuramos el idioma de OCR a chino tradicional para el reconocimiento de texto en chino tradicional. La función Ocr.Read procesa y almacena el resultado de OCR en la variable Result. Si es necesario, puedes guardar el texto en formato PDF, texto o HTML utilizando la función SaveAs para guardar archivos en varios formatos de salida compatibles con IronOCR.

Ejecutar el proyecto

Ahora es el momento de ejecutar el proyecto. Haz clic en el botón Ejecutar en Visual Studio. Deberías ver esta pantalla:

Image 8

Haz clic en el botón "Select Image". Se abrirá el cuadro de diálogo de Seleccionar archivos. Elige un archivo de imagen y presiona enter.

Image 9

Cargará la imagen en el Picture Box, la escaneará automáticamente y mostrará la salida en el cuadro de texto.

Image 10

Esta es la salida de la imagen que seleccionamos. IronOCR también admite la lectura y escaneo de archivos PDF. Puedes usar el formato editable de los archivos PDF para escanear y reconocer texto usando IronOCR, y esto se puede hacer en diferentes idiomas. IronOCR también puede hacer que un documento PDF existente sea un PDF buscable. Emplea varios filtros de imagen para mejorar la claridad de las imágenes. Aquí algunos de los filtros:

  • Input.Binarize()
  • Input.Contrast()
  • Input.Deskew()
  • Input.DeNoise()
  • Input.Dilate()
  • Input.EnhanceResolution(300)

Todas estas funciones mejoran la visibilidad de los caracteres. IronOCR utiliza estas funciones para crear un PDF buscable. Aquí hay un ejemplo:

using IronOcr;
var Ocr = new IronTesseract();
using (var Input = new OcrInput())
{
    Input.AddPdf("scan.pdf");
    // Clean up twisted pages
    Input.Deskew();
    var Result = Ocr.Read(Input);
    Result.SaveAsSearchablePdf("searchable.pdf");
}
using IronOcr;
var Ocr = new IronTesseract();
using (var Input = new OcrInput())
{
    Input.AddPdf("scan.pdf");
    // Clean up twisted pages
    Input.Deskew();
    var Result = Ocr.Read(Input);
    Result.SaveAsSearchablePdf("searchable.pdf");
}
Imports IronOcr
Private Ocr = New IronTesseract()
Using Input = New OcrInput()
	Input.AddPdf("scan.pdf")
	' Clean up twisted pages
	Input.Deskew()
	Dim Result = Ocr.Read(Input)
	Result.SaveAsSearchablePdf("searchable.pdf")
End Using
$vbLabelText   $csharpLabel

Licencias

IronOCR es gratuito para el desarrollo. Puedes usar todas sus funciones gratis. IronOCR también ofrece una prueba gratuita para producción sin necesidad de pago. Iron Software ofrece una oferta popular: un conjunto de cinco productos de software por el precio de solo dos. Simplemente paga la tarifa por dos productos de software una vez y podrás obtener los cinco productos, incluyendo IronPDF e IronXL. Puedes encontrar más información sobre licencias aquí.