Cómo utilizar Iron Tesseract en C#
Iron Tesseract en C# se utiliza creando una instancia de IronTesseract, configurándola con los ajustes de idioma y OCR, y luego llamando al método Read() en un objeto OcrInput que contenga sus imágenes o PDFs. Convierte imágenes de texto en archivos PDF con capacidad de búsqueda utilizando el motor optimizado de Tesseract 5.
IronOCR proporciona una API intuitiva para utilizar el Tesseract 5 personalizado y optimizado, conocido como Iron Tesseract. Al utilizar IronOCR e IronTesseract, podrás convertir imágenes de texto y documentos escaneados en texto y PDF con capacidad de búsqueda. La biblioteca es compatible con 125 idiomas internacionales e incluye funciones avanzadas como lectura de códigos de barras y visión por ordenador.
como-título:2(Inicio rápido: Configurar la configuración de IronTesseract en C#)
Este ejemplo muestra cómo configurar IronTesseract con ajustes específicos y realizar el OCR en una sola línea de código.
Empieza a crear PDF con NuGet ahora:
Instalar IronOCR con el gestor de paquetes NuGet
Copie y ejecute este fragmento de código.
var result = new IronOcr.IronTesseract { Language = IronOcr.OcrLanguage.English, Configuration = new IronOcr.TesseractConfiguration { ReadBarCodes = false, RenderSearchablePdf = true, WhiteListCharacters = "ABCabc123" } }.Read(new IronOcr.OcrInput("image.png"));Despliegue para probar en su entorno real
Empieza a utilizar IronOCR en tu proyecto hoy mismo con una prueba gratuita
Flujo de trabajo básico de OCR
- Instalar la biblioteca OCR con NuGet para leer imágenes
- Utilize Custom `Tesseract 5` to perform OCR
- Cargar los documentos deseados, como imágenes o archivos PDF, para el procesamiento
- Mostrar el texto extraído en la consola o en un archivo
- Guardar el resultado como un PDF buscable
¿Cómo creo una instancia de IronTesseract?
Inicializa un objeto Tesseract con este código:
:path=/static-assets/ocr/content-code-examples/how-to/irontesseract-initialize-irontesseract.csusing IronOcr;
IronTesseract ocr = new IronTesseract();IRON VB CONVERTER ERROR developers@ironsoftware.comPuede personalizar el comportamiento de IronTesseract seleccionando diferentes idiomas, activando la lectura de códigos de barras y poniendo caracteres en listas blancas o negras. IronOCR ofrece amplias opciones de configuración para ajustar el proceso de OCR:
:path=/static-assets/ocr/content-code-examples/how-to/irontesseract-configure-irontesseract.csIronTesseract ocr = new IronTesseract
{
Configuration = new TesseractConfiguration
{
ReadBarCodes = false,
RenderHocr = true,
TesseractVariables = null,
WhiteListCharacters = null,
BlackListCharacters = "`ë|^",
},
MultiThreaded = false,
Language = OcrLanguage.English,
EnableTesseractConsoleMessages = true, // False as default
};Dim ocr As New IronTesseract With {
.Configuration = New TesseractConfiguration With {
.ReadBarCodes = False,
.RenderHocr = True,
.TesseractVariables = Nothing,
.WhiteListCharacters = Nothing,
.BlackListCharacters = "`ë|^"
},
.MultiThreaded = False,
.Language = OcrLanguage.English,
.EnableTesseractConsoleMessages = True
}Una vez configurado, puede utilizar la funcionalidad de Tesseract para leer objetos OcrInput. La clase OcrInput proporciona métodos flexibles para cargar varios formatos de entrada:
:path=/static-assets/ocr/content-code-examples/how-to/irontesseract-read.csIronTesseract ocr = new IronTesseract();
using OcrInput input = new OcrInput();
input.LoadImage("attachment.png");
OcrResult result = ocr.Read(input);
string text = result.Text;Dim ocr As New IronTesseract()
Using input As New OcrInput()
input.LoadImage("attachment.png")
Dim result As OcrResult = ocr.Read(input)
Dim text As String = result.Text
End UsingPara situaciones complejas, puede aprovechar las capacidades de multithreading para procesar varios documentos simultáneamente, lo que mejora significativamente el rendimiento de las operaciones por lotes.
¿Qué son las variables de configuración avanzadas de Tesseract?
<Descripción: Diagrama o captura de pantalla que ilustre el concepto de código -->
La interfaz de Tesseract en IronOCR permite el control total de las variables de configuración de Tesseract a través de la Clase IronOCR.TesseractConfiguration. Estos ajustes avanzados permiten optimizar el rendimiento del OCR para casos de uso específicos, como corregir escaneos de baja calidad o leer tipos de documentos específicos.
¿Cómo se utiliza la configuración de Tesseract en el código?
:path=/static-assets/ocr/content-code-examples/how-to/irontesseract-tesseract-configuration.csusing IronOcr;
using System;
IronTesseract Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.English;
Ocr.Configuration.PageSegmentationMode = TesseractPageSegmentationMode.AutoOsd;
// Configure Tesseract Engine
Ocr.Configuration.TesseractVariables["tessedit_parallelize"] = false;
using var input = new OcrInput();
input.LoadImage("/path/file.png");
OcrResult Result = Ocr.Read(input);
Console.WriteLine(Result.Text);Imports IronOcr
Imports System
Private Ocr As New IronTesseract()
Ocr.Language = OcrLanguage.English
Ocr.Configuration.PageSegmentationMode = TesseractPageSegmentationMode.AutoOsd
' Configure Tesseract Engine
Ocr.Configuration.TesseractVariables("tessedit_parallelize") = False
Dim input = New OcrInput()
input.LoadImage("/path/file.png")
Dim Result As OcrResult = Ocr.Read(input)
Console.WriteLine(Result.Text)IronOCR también proporciona una configuración especializada para diferentes tipos de documentos. Por ejemplo, al leer pasaportes o procesar cheques MICR, puede aplicar filtros específicos de preprocesamiento y detección de regiones para mejorar la precisión.
Ejemplo de configuración para documentos financieros:
// Example: Configure for financial documents
IronTesseract ocr = new IronTesseract
{
Language = OcrLanguage.English,
Configuration = new TesseractConfiguration
{
PageSegmentationMode = TesseractPageSegmentationMode.SingleBlock,
TesseractVariables = new Dictionary<string, object>
{
["lista blanca de caracteres de tessedit"] = "0123456789.$,",
["textord_pesado_nr"] = false,
["bordes_máximo_de_hijos_por_contorno"] = 10
}
}
};
// Apply preprocessing filters for better accuracy
using OcrInput input = new OcrInput();
input.LoadPdf("financial-document.pdf");
input.Deskew();
input.EnhanceResolution(300);
OcrResult result = ocr.Read(input);// Example: Configure for financial documents
IronTesseract ocr = new IronTesseract
{
Language = OcrLanguage.English,
Configuration = new TesseractConfiguration
{
PageSegmentationMode = TesseractPageSegmentationMode.SingleBlock,
TesseractVariables = new Dictionary<string, object>
{
["lista blanca de caracteres de tessedit"] = "0123456789.$,",
["textord_pesado_nr"] = false,
["bordes_máximo_de_hijos_por_contorno"] = 10
}
}
};
// Apply preprocessing filters for better accuracy
using OcrInput input = new OcrInput();
input.LoadPdf("financial-document.pdf");
input.Deskew();
input.EnhanceResolution(300);
OcrResult result = ocr.Read(input);CONVERTER NOT RUNNING¿Cuál es la lista completa de todas las variables de configuración de Tesseract?
<Descripción: Diagrama o captura de pantalla que ilustre el concepto de código -->
Estas se pueden configurar usando IronTesseract.Configuration.TesseractVariables["key"] = value;. Las variables de configuración le permiten ajustar el comportamiento del OCR para obtener resultados óptimos con sus documentos específicos. Para obtener información detallada sobre la optimización del rendimiento de OCR, consulte nuestra guía de configuración de OCR rápido.
| Variable de configuración de Tesseract | Por defecto | Significado |
|---|---|---|
| clasificar_num_cp_niveles | 3 | Número de niveles de podador de clase |
| búsqueda de pestaña de depuración de textord | 0 | Búsqueda de la pestaña de depuración |
| errores de depuración de textord | 0 | Activar la salida relacionada con errores en la búsqueda de pestañas |
| región de prueba de textord_izquierda | -1 | Borde izquierdo del rectángulo de informe de depuración |
| región de prueba de textord_arriba | -1 | Borde superior del rectángulo de informe de depuración |
| región de prueba de textord_derecha | 2147483647 | Borde derecho del rectángulo de depuración |
| región de prueba de textord_inferior | 2147483647 | Borde inferior del rectángulo de depuración |
| textord_tabfind_mostrar_particiones | 0 | Mostrar los límites de la partición, esperando si es >1 |
| nivel de depuración dividido devanagari | 0 | Nivel de depuración para el proceso dividido shiro-rekha. |
| bordes_máximo_de_hijos_por_contorno | 10 | Número máximo de niños dentro del contorno de un personaje |
| bordes_máx._capas_hijas | 5 | Máximo de capas de elementos secundarios anidados dentro del contorno de un personaje |
| bordes_hijos_por_nieto | 10 | Relación de importancia para los contornos de sujeción |
| límite de conteo de niños en los bordes | 45 | Máximo de agujeros permitidos en el blob |
| bordes_min_sin_agujero | 12 | Mínimo de píxeles para caracteres potenciales en el cuadro |
| relación_área_de_ruta_de_aristas | 40 | Max lensq/area for acceptable child outline |
| Error de corte de textord_fp | 2 | Máxima flexión permitida de las celdas de corte |
| textord_tabfind_mostrar_imágenes | 0 | Show image blobs |
| desplazamiento suave y sesgado de textord | 4 | Para un factor de suavidad |
| desplazamiento suave y sesgado de textord2 | 1 | Para un factor de suavidad |
| prueba_textord_x | -2147483647 | coord del paciente de prueba |
| prueba de texto_y | -2147483647 | coord del paciente de prueba |
| textopalabra_min_blobs_en_fila | 4 | Mínimo de blobs antes del gradiente contado |
| textord_spline_minblobs | 8 | Min blobs in each spline segment |
| textord_spline_medianwin | 6 | Size of window for spline segmentation |
| superposiciones de blobs de textord_max | 4 | Max number of blobs a big blob can overlap |
| altura mínima de la x del texto | 10 | Min credible pixel xheight |
| ensayos de línea de textord_lms | 12 | Number of linew fits to do |
| recuento de pérdidas de oldbl_holed | 10 | Max lost before fallback line used |
| versión lineal de pitsync | 6 | Use new fast algorithm |
| pitsync_falsa_profundidad | 1 | Max advance fake generation |
| textord_tabfind_mostrar_anchos_de_trazo | 0 | Show stroke widths |
| brecha de matriz de puntos de textord | 3 | Max pixel gap for broken pixed pitch |
| bloque de depuración de textord | 0 | Block to do debug on |
| rango de paso de textord | 2 | Max range test on pitch |
| poder de veto de textord_words | 5 | Rows required to outvote a veto |
| detección de ecuación_guardar_imagen_bi | 0 | Save input bi image |
| detección de ecuación_guardar_imagen_spt | 0 | Save special character image |
| detección de ecuación_guardar_imagen_semilla | 0 | Save the seed image |
| detección de ecuación_guardar_imagen_combinada | 0 | Save the merged image |
| poli_depuración | 0 | Debug old poly |
| objetos poligonales mejores | 1 | More accurate approx on wide things |
| divisiones de visualización de wordrec | 0 | Display splits |
| textord_debug_imprimible | 0 | Make debug windows printable |
| El tamaño del espacio de texto es variable | 0 | If true, word delimiter spaces are assumed to have variable width, even though characters have fixed pitch. |
| textord_tabfind_mostrar_particiones_iniciales | 0 | Show partition bounds |
| textord_tabfind_mostrar_blobs_rechazados | 0 | Show blobs rejected as noise |
| textord_tabfind_mostrar_columnas | 0 | Show column bounds |
| textord_tabfind_mostrar_bloques | 0 | Show final block bounds |
| textord_tabfind_buscar_tablas | 1 | run table detection |
| imagen de depuración dividida devanagari | 0 | Whether to create a debug image for split shiro-rekha process. |
| textord_show_cortes_fijos | 0 | Draw fixed pitch cell boundaries |
| los bordes usan una nueva complejidad de contorno | 0 | Use the new outline complexity module |
| bordes_depuración | 0 | turn on debugging for this module |
| bordes_niños_arreglo | 0 | Remove boxy parents of char-like children |
| mapa de brechas_depuración | 0 | Say which blocks have tables |
| fin del uso del mapa de brechas | 0 | Use large space at start and end of rows |
| mapa de brechas sin cuantos aislados | 0 | Ensure gaps not less than 2quanta wide |
| textord_pesado_nr | 0 | Vigorously remove noise |
| textord_mostrar_filas_iniciales | 0 | Display row accumulation |
| textord_mostrar_filas_paralelas | 0 | Display page correlated rows |
| textord_mostrar_filas_expandidas | 0 | Display rows after expanding |
| textord_mostrar_filas_finales | 0 | Display rows after final fitting |
| textord_mostrar_blobs_finales | Display blob bounds after pre-ass | |
| paisaje de prueba de textord | 0 | Tests refer to land/port |
| líneas base paralelas de textord | 1 | Force parallel baselines |
| líneas base rectas de textord | 0 | Force straight baselines |
| líneas base antiguas de textord | 1 | |
| altura_x_antigua_textord | 0 | Use old xheight algorithm |
| textord_corrección_error_altura_x | 1 | Use spline baseline |
| textord_corrección_error_makerow | 1 | Prevent multiple baselines |
| alturas de x de depuración de textord | 0 | Test xheight algorithms |
| cálculo sesgado de textord | 1 | Bias skew estimates with line length |
| sesgo de interpolación de textord | 1 | Interpolate across gaps |
| textord_nueva_altura_x_inicial | 1 | Use test xheight mechanism |
| textord_debug_blob | 0 | Print test blob information |
| textord_realmente_viejo_alturax | 0 | Use original wiseowl xheight |
| textord_oldbl_debug | 0 | Debug old baseline generation |
| líneas base de depuración de textord | 0 | Debug baseline generation |
| textord_oldbl_paradef | 1 | Use para default mechanism |
| splines divididos de textord_oldbl | 1 | Split stepped splines |
| textord_oldbl_fusionar_partes | 1 | Merge suspect partitions |
| oldbl_corrfix | 1 | Improve correlation of heights |
| oldbl_xhfix | 0 | Fix bug in modes threshold for xheights |
| modo textord_ocropus | 0 | Make baselines for ocropus |
| textord_tabfind_only_anchos_de_trazo | 0 | Only run stroke widths |
| textord_tabfind_show_initialtabs | 0 | Show tab candidates |
| textord_tabfind_show_finaltabs | 0 | Show tab vectors |
| textord_mostrar_tablas | 0 | Show table regions |
| textord_tablefind_mostrar_marca | 0 | Debug table marking steps in detail |
| textord_tablefind_mostrar_estadísticas | 0 | Show page stats used in table finding |
| textord_tablefind_reconocer_tablas | 0 | Enables the table recognizer for table layout and filtering. |
| textord_all_prop | ||
| prueba de tono de depuración de textord | ||
| textord_deshabilitar_prueba_de_tono | ||
| prueba de tono rápido de textord | ||
| métrica de paso de depuración de textord | ||
| textord_mostrar_cortes_de_fila | ||
| textord_mostrar_cortes_de_página | ||
| trucos de tono de textord | ||
| textord_blockndoc_arreglado | ||
| textord_mostrar_palabras_iniciales | ||
| textord_mostrar_nuevas_palabras | ||
| textord_mostrar_palabras_fijas | ||
| textord_blocksall_arreglado | ||
| bloque de texto_todo_prop | ||
| Pruebas de textord_blocksall | ||
| modo de prueba de textord | ||
| similitud de filas de paso de texto | ||
| palabras_inicial_minúscula | ||
| palabras_inicial_mayúscula | ||
| palabras_predeterminadas_prop_sin espacio | ||
| palabras_predeterminadas_espacio_fijo | ||
| límite fijo predeterminado de palabras | ||
| propagación definida de palabras de textord | ||
| relación de tamaño de espacio de texto | ||
| relación de tamaño de espacio de texto | ||
| relación fpiqr_textord | ||
| textord_máximo_paso_iq | ||
| ancho mínimo de textord_fp | ||
| desplazamiento de subrayado de texto | ||
| nivel de depuración de ambigs | ||
| clasificar_nivel_de_depuración | ||
| método de clasificación de normas | ||
| nivel de depuración del comparador | ||
| indicadores de depuración del comparador | ||
| clasificar_aprendizaje_nivel_de_depuración | ||
| matcher_permanent_classes_min | ||
| ejemplos de matcher_min para creación de prototipos | ||
| ejemplos_suficientes_de_comparación_para_la_creación_de_prototipos | ||
| clasificar_adaptar_proto_umbral | ||
| clasificar_adaptar_umbral_de_características | ||
| clasificar_clase_podador_umbral | ||
| clasificar_multiplicador_podador_de_clases | ||
| clasificar_fuerza_de_corte_cp | ||
| clasificar_multiplicador_comparador_de_enteros | ||
| nivel de depuración de dawg | ||
| nivel de depuración de guión | ||
| tapón_pequeño_tamaño_de_palabra | ||
| nivel de depuración del tapón | ||
| registro de selección de palabras truncado de tessedit | ||
| intentos máximos de permutación | ||
| reparar manchas no cortadas | ||
| cortar_depuración | ||
| longitud de división | ||
| cortar_misma_distancia | ||
| puntos de contorno mínimos de chop | ||
| tamaño de pila de costura cortada | ||
| cortar_el_ángulo_interior | ||
| área de contorno de chop_min | ||
| ancho máximo centrado en el corte | ||
| peso de corte x y | ||
| nivel de depuración de wordrec | ||
| fragmentos de unión de wordrec_max | ||
| nivel de depuración de segsearch | ||
| segsearch_máximos_puntos_de_dolor | ||
| segsearch_max_futile_classifications | ||
| nivel de depuración del modelo de lenguaje | ||
| orden de ngramas del modelo de lenguaje | ||
| modelo de idioma_lista_viterbi_máximo_podable | ||
| modelo_de_idioma_viterbi_lista_tamaño_máximo | ||
| longitud mínima del compuesto del modelo de idioma | ||
| segmentaciones de visualización de wordrec | ||
| modo tessedit_pageseg | ||
| modo de motor tessedit_ocr | ||
| páginaseg_devanagari_split_strategy | ||
| estrategia de división de ocr_devanagari | ||
| depuración bidireccional | ||
| aplicar_box_debug | ||
| página de caja de aplicación | ||
| depuración de tessedit_bigram | ||
| eliminación de ruido de depuración | ||
| ruido_máximo por gota | ||
| ruido_máximo_por_palabra | ||
| nivel_ht_debug_x | ||
| alfas iniciales mínimas de calidad requeridas | ||
| tessedit_tess_adaption_mode | ||
| nivel de depuración multilang | ||
| nivel de depuración de párrafo | ||
| tessedit_preservar_min_wd_len | ||
| calificación máxima de crunch | ||
| indicadores de crunch_pot | ||
| crunch_leave_lc_strings | ||
| crunch_leave_uc_strings | ||
| crunch_largas_repeticiones | ||
| crunch_debug | ||
| fixsp_sin_límite_de_ruido | ||
| modo fixsp_done | ||
| nivel de espacio de corrección de depuración | ||
| tolerancia de aceptación x_ht | ||
| cambio de x_ht_min | ||
| superíndice_depuración | ||
| calidad jpg | ||
| dpi definidos por el usuario | ||
| min_caracteres_a_probar | ||
| suspect_level | ||
| suspect_short_words | ||
| modo de rechazo de tessedit | ||
| borde de imagen de tessedit | ||
| píxeles min_sane_x_ht | ||
| número de página de tessedit | ||
| tessedit_paralelizar | ||
| modo de elección lstm | ||
| iteraciones de elección lstm | ||
| nivel de depuración de tosp | ||
| tosp_suficientes_muestras_de_espacio_para_la_mediana | ||
| límite de kern de rehacer tosp | ||
| tosp_few_samples | ||
| tosp_fila corta | ||
| método de sanidad tosp | ||
| tamaño máximo de ruido de textord | ||
| depuración de línea base de textord | ||
| Fracción del tamaño del ruido de texto | ||
| límite de transmisión de ruido de texto | ||
| recuento de ruido de textord | ||
| use_ambigs_para_adaptación | ||
| priorizar_división | ||
| clasificar_habilitar_aprendizaje | ||
| tess_cn_matching | ||
| tess_bn_coincidencia | ||
| clasificar_habilitar_comparador_adaptativo | ||
| clasificar_utilizar_plantillas_preadaptadas | ||
| clasificar_guardar_plantillas_adaptadas | ||
| clasificar_habilitar_depurador_adaptativo | ||
| clasificar_norma_no_lineal | ||
| disable_character_fragments | ||
| clasificar_fragmentos_de_caracteres_de_depuración | ||
| ventanas separadas de depuración de matcher | ||
| clasificar_bln_modo_numérico | ||
| sistema de carga dawg | ||
| frecuencia de carga dawg | ||
| cargar_unambig_dawg | ||
| carga_punc_dawg | ||
| número de carga dawg | ||
| cargar_bigram_dawg | ||
| use_solo_el_primer_paso_uft8 | ||
| tapón_sin_opciones_aceptables | ||
| segmento_script_no_alfabético | ||
| guardar_doc_words | ||
| fusionar fragmentos en la matriz | ||
| wordrec_enable_assoc | ||
| asociación de palabras de fuerza | ||
| habilitar chop | ||
| deslizamiento vertical de corte | ||
| cortar_nueva_cosecha_pila | ||
| asumir_segmento_de_caracteres_de_paso_fijo | ||
| wordrec_skip_no_truth_words | ||
| Culpable de depuración de wordrec | ||
| culpar a wordrec_run_bamer | ||
| guardar_opciones_alt | ||
| language_model_ngram_on | ||
| language_model_ngram_use_ only_first_uft8_step | ||
| modelo_de_lenguaje_espacio_ngrama_lenguaje_delimitado | ||
| modelo_de_lenguaje_utiliza_certeza_sigmoidea | ||
| tessedit_resegment_de_cajas | ||
| tessedit_resegment_de_cajas_de_línea | ||
| tessedit_train_from_boxes | ||
| tessedit_hacer_cajas_a_partir_de_cajas | ||
| tessedit_reconocedor_de_líneas_de_tren | ||
| imágenes de tessedit_dump_pageseg | ||
| tessedit_do_invert | ||
| entrenamiento de tessedit_ambigs | ||
| depuración de adaptación de tessedit | ||
| modo applybox_learn_chars_and_char_frags | ||
| modo applybox_learn_ngrams | ||
| tessedit_mostrar_palabras_fuera | ||
| opciones de volcado de tessedit | ||
| depuración de tiempo de tessedit | ||
| tessedit_arregla_espacios_difusos | ||
| tessedit_unrej_any_wd | ||
| tessedit_fix_guiones | ||
| tessedit_habilitar_doc_dict | ||
| fuentes de depuración de tessedit | ||
| rechazo de bloque de depuración de tessedit | ||
| tessedit_habilitar_corrección_de_bigramas | ||
| tessedit_habilitar_corrección_dict | ||
| habilitar_eliminación_de_ruido | ||
| tessedit_minimal_rej_pass1 | ||
| adaptación de la prueba tessedit | ||
| prueba_pt | ||
| párrafo_basado_en_texto | ||
| matriz de uso lstm | ||
| tessedit_buena_calidad_unrej | ||
| tessedit_use_reject_spaces | ||
| tessedit_preserve_blk_rej_perfect_wds | ||
| tessedit_preserve_row_rej_perfect_wds | ||
| tessedit_dont_blkrej_good_wds | ||
| tessedit_dont_rowrej_good_wds | ||
| tessedit_row_rej_good_docs | ||
| tessedit_reject_bad_qual_wds | ||
| tessedit_debug_doc_rejection | ||
| tessedit_debug_quality_metrics | ||
| bland_unrej | ||
| unlv_tilde_crunching | ||
| información de fuente hocr | ||
| cajas de caracteres hocr | ||
| La fusión temprana de crunch falla | ||
| crunch_conversión temprana_mala_unlv_chs | ||
| crujido_terrible_basura | ||
| crunch_leave_ok_strings | ||
| crunch_accept_ok | ||
| crunch_leave_accept_strings | ||
| crunch_include_numerals | ||
| tessedit_prefer_joined_punct | ||
| tessedit_write_block_separators | ||
| tessedit_write_rep_codes | ||
| tessedit_write_unlv | ||
| tessedit_create_txt | ||
| tessedit_create_hocr | ||
| tessedit_create_alto | ||
| tessedit_create_lstmbox | ||
| tessedit_create_tsv | ||
| tessedit_create_wordstrbox | ||
| tessedit_create_pdf | ||
| textonly_pdf | ||
| suspect_constrain_1Il | ||
| tessedit_minimal_rejection | ||
| tessedit_zero_rejection | ||
| tessedit_word_for_word | ||
| tessedit_zero_kelvin_rejection | ||
| tessedit_rejection_debug | ||
| tessedit_flip_0O | ||
| rej_trust_doc_dawg | ||
| rej_1Uso dict_word | ||
| rej_1Il_trust_permuter_type | ||
| rej_use_tess_aceptado | ||
| rej_use_tess_blanks | ||
| rej_use_good_perm | ||
| rej_use_sensible_wd | ||
| rej_alphas_en_número_perm | ||
| tessedit_create_boxfile | ||
| tessedit_escribir_imágenes | ||
| modo de visualización interactiva | ||
| permutador de anulación de tessedit | ||
| tessedit_use_modelo_de_parámetros_primarios | ||
| textord_tabfind_mostrar_líneas_v | ||
| textord_use_cjk_fp_model | ||
| poly_allow_detailed_fx | ||
| tessedit_init_config_only | ||
| detección de ecuaciones de texto | ||
| textord_tabfind_texto_vertical | ||
| textord_tabfind_force_vertical_text | ||
| preservar_los_espacios_entre_palabras | ||
| pageseg_aplicar_máscara_musical | ||
| modo de altura única de textord | ||
| método tosp_old_to | ||
| tosp_old_para_restringir_sp_kn | ||
| tosp_solo_use_prop_rows | ||
| tosp_forzar_ruptura_de_palabra_al_punct | ||
| tosp_use_pre_cortar | ||
| tosp_old_to_bug_fix | ||
| tosp_block_use_cert_spaces | ||
| tosp_row_use_cert_spaces | ||
| tosp_narrow_blobs_no_certificado | ||
| tosp_row_use_cert_spaces1 | ||
| estadísticas de filas aisladas de recuperación de tosp | ||
| solo pequeños espacios para el kern | ||
| tosp_all_flips_fuzzy | ||
| límite difuso total | ||
| textord_sin_rechazos | ||
| textord_mostrar_blobs | ||
| cuadros de presentación de textord | ||
| textord_ruido_rejwords | ||
| ruido de texto_rejrows | ||
| depuración de ruido de textord | ||
| clasificar_aprender_depurar_str | ||
| archivo de palabras del usuario | ||
| sufijo de palabras de usuario | ||
| archivo de patrones de usuario | ||
| sufijo de patrones de usuario | ||
| archivo de palabras ambiguas de salida | ||
| palabra_a_depurar | ||
| lista negra de caracteres de tessedit | ||
| lista blanca de caracteres de tessedit | ||
| tessedit_char_unblacklist | ||
| tessedit_write_params_to_file | ||
| patrón de exposición del cuadro de aplicación | ||
| chs_leading_punct('`" | ||
| chs_trailing_punct1 | ||
| chs_trailing_punct2)'`" | ||
| contornos_impares | %| | Número no estándar de contornos |
| contornos_2ij!?%":; | Número no estándar de contornos | |
| puntuación numérica | ., | Punct. chs expected WITHIN numbers |
| carácter no reconocido | | | Output char for unidentified blobs |
| ok_repetido_ch_no_alphanum_wds | -?*= | Allow NN to unrej |
| conjunto_de_conflictos_I_l_1 | Il1 [] | Il1 conflict set |
| tipo de archivo | .tif | Filename extension |
| tessedit_load_sublangs | ||
| separador de páginas | ||
| clasificar_rango_de_norma_de_caracteres | ||
| clasificar_cociente_máximo_de_calificación | ||
| clasificar_máximo_margen_de_certeza | ||
| umbral bueno del comparador | ||
| resultado adaptativo confiable del comparador | ||
| umbral perfecto del comparador | ||
| pad de emparejamiento incorrecto | ||
| margen de calificación del comparador | ||
| tamaño promedio de ruido del comparador | ||
| delta del ángulo máximo de agrupación del comparador | ||
| clasificar_penalización_basura_inadaptada | ||
| escala de calificación | ||
| escala de certeza | ||
| escala de fallas de clase tessedit | ||
| factor de poda adaptado para clasificar | ||
| clasificar_umbral_de_poda_adaptado | ||
| clasificar_fragmentos_de_caracteres_umbral_de_certeza_de_basura | ||
| tamaño máximo de mota grande | ||
| penalización por moteado | ||
| subíndices de penalización de altura x | ||
| penalización de altura x inconsistente | ||
| segmento_penalización_dict_palabra_frecuente | ||
| caso de dictamen de penalización de segmento ok | ||
| caso de dictámenes de penalización de segmento incorrecto | ||
| segmento_penalización_dict_nonword | ||
| escala de certeza | ||
| stopper_nondict_certainty_base | ||
| stopper_phase2_certainty_rejection_offset | ||
| stopper_certainty_per_char | ||
| stopper_allowable_character_badness | ||
| doc_dict_pending_threshold | ||
| umbral de certeza de doc_dict | ||
| umbral de certeza de tessedit | ||
| chop_split_dist_knob | ||
| chop_overlap_knob | ||
| chop_center_knob | ||
| chop_sharpness_knob | ||
| chop_width_change_knob | ||
| chop_ok_split | ||
| chop_good_split | ||
| relación wh_máx_carácter_segsearch |
Para obtener los mejores resultados, se recomienda utilizar los filtros de preprocesamiento de imágenes de IronOCR antes de aplicar el OCR. Estos filtros pueden mejorar drásticamente la precisión, especialmente cuando se trabaja con escaneados de baja calidad o documentos complejos como tablas.
Preguntas Frecuentes
¿Cómo configuro IronTesseract para OCR en C#?
Para configurar IronTesseract, cree una instancia de IronTesseract y establezca propiedades como Idioma y Configuración. Puede especificar el idioma de OCR (de los 125 idiomas admitidos), activar la lectura de códigos de barras, configurar la salida de PDF con capacidad de búsqueda y establecer listas blancas de caracteres. Por ejemplo: var tesseract = new IronOcr.IronTesseract { Language = IronOcr.OcrLanguage.English, Configuration = new IronOcr.TesseractConfiguration { ReadBarCodes = false, RenderSearchablePdf = true } };
¿Qué formatos de entrada admite IronTesseract?
IronTesseract acepta varios formatos de entrada a través de la clase OcrInput. Puede procesar imágenes (PNG, JPG, etc.), archivos PDF y documentos escaneados. La clase OcrInput proporciona métodos flexibles para cargar estos diferentes formatos, lo que facilita la realización de OCR en prácticamente cualquier documento que contenga texto.
¿Puedo leer códigos de barras junto con texto utilizando IronTesseract?
Sí, IronTesseract incluye funciones avanzadas de lectura de códigos de barras. Puede activar la detección de códigos de barras estableciendo ReadBarCodes = true en TesseractConfiguration. Esto le permite extraer datos de texto y de código de barras del mismo documento en una sola operación de OCR.
¿Cómo puedo crear archivos PDF con función de búsqueda a partir de documentos escaneados?
IronTesseract puede convertir documentos e imágenes escaneados en archivos PDF con capacidad de búsqueda estableciendo RenderSearchablePdf = true en TesseractConfiguration. De este modo se crean archivos PDF en los que el texto se puede seleccionar y en los que se pueden realizar búsquedas, al tiempo que se mantiene el aspecto original del documento.
¿Qué idiomas admite IronTesseract para OCR?
IronTesseract admite 125 idiomas internacionales para el reconocimiento de texto. Puede especificar el idioma estableciendo la propiedad Language en su instancia de IronTesseract, como IronOcr.OcrLanguage.English, español, chino, árabe y muchos otros.
¿Puedo restringir los caracteres que se reconocen durante el OCR?
Sí, IronTesseract permite la creación de listas blancas y negras de caracteres mediante la propiedad WhiteListCharacters de TesseractConfiguration. Esta característica ayuda a mejorar la precisión cuando se conoce el conjunto de caracteres esperado, como limitar el reconocimiento sólo a caracteres alfanuméricos.
¿Cómo puedo realizar el OCR en varios documentos a la vez?
IronTesseract admite capacidades multihilo para el procesamiento por lotes. Puede aprovechar el procesamiento paralelo para realizar el reconocimiento óptico de caracteres de varios documentos simultáneamente, lo que mejora significativamente el rendimiento cuando se trabaja con grandes volúmenes de imágenes o archivos PDF.
¿Qué versión de Tesseract utiliza IronOCR?
IronOCR utiliza una versión personalizada y optimizada de Tesseract 5, conocida como Iron Tesseract. Este motor mejorado proporciona una mayor precisión y rendimiento en comparación con las implementaciones estándar de Tesseract, al tiempo que mantiene la compatibilidad con las aplicaciones .NET.







