Comment utiliser Iron Tesseract pour la reconnaissance de texte en C
Iron Tesseract en C# est utilisé en créant une instance IronTesseract, en la configurant avec les paramètres de langue et d'OCR, puis en appelant la méthode Read() sur un objet OcrInput contenant vos images ou PDF. Cela convertit des images de texte en PDF consultables à l'aide du moteur optimisé de Tesseract 5.
IronOCR fournit une API intuitive pour utiliser le Tesseract 5 personnalisé et optimisé, connu sous le nom d'Iron Tesseract. En utilisant IronOCR et IronTesseract, vous pourrez convertir image en texte et transformer des documents numérisés en PDF consultables grâce à ce logiciel OCR performant. La bibliothèque prend en charge 125 langues internationales et comprend des fonctionnalités avancées telles que la lecture de codes-barres et la vision par ordinateur.
Démarrage rapide : Configuration d'IronTesseract en C#
Cet exemple montre comment configurer IronTesseract avec des paramètres spécifiques et effectuer une reconnaissance optique de caractères (OCR) en une seule ligne de code.
-
Installez IronOCR avec le Gestionnaire de Packages NuGet
PM > Install-Package IronOcr -
Copiez et exécutez cet extrait de code.
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")); -
Déployez pour tester sur votre environnement de production.
Commencez à utiliser IronOCR dans votre projet dès aujourd'hui avec un essai gratuit
Flux de travail de base de l'OCR
- Installez la bibliothèque OCR avec NuGet pour lire les images
- Utilize Custom `Tesseract 5` to perform OCR
- Chargez les documents souhaités, tels que des images ou des fichiers PDF, pour le traitement
- Sortez le texte extrait vers la console ou un fichier
- Enregistrez le résultat en tant que PDF consultable
Comment créer une instance IronTesseract?
Initialiser un objet Tesseract avec ce code :
:path=/static-assets/ocr/content-code-examples/how-to/irontesseract-initialize-irontesseract.cs
using IronOcr;
IronTesseract ocr = new IronTesseract();
Imports IronOcr
Dim ocr As New IronTesseract()
Vous pouvez personnaliser le comportement de IronTesseract en sélectionnant différentes langues, en activant la lecture des codes-barres et en mettant sur liste blanche/liste noire des caractères. IronOcr propose des options de configuration complètes pour affiner votre processus d'OCR :
:path=/static-assets/ocr/content-code-examples/how-to/irontesseract-configure-irontesseract.cs
IronTesseract 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
}
Une fois configuré, vous pouvez utiliser les fonctionnalités de Tesseract pour lire les objets OcrInput. La classe OcrInput fournit des méthodes flexibles pour charger différents formats d'entrée :
:path=/static-assets/ocr/content-code-examples/how-to/irontesseract-read.cs
IronTesseract 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 Using
Pour les scénarios complexes, vous pouvez exploiter les capacités de multithreading pour traiter plusieurs documents simultanément, ce qui améliore considérablement les performances des opérations par lots.
Qu'est-ce que les variables de configuration avancées de Tesseract?
L'interface IronOCR Tesseract permet un contrôle total des variables de configuration de Tesseract via la classe IronOcr.TesseractConfiguration . Ces paramètres avancés vous permettent d'optimiser les performances de l'OCR pour des cas d'utilisation spécifiques, tels que la correction de scans de faible qualité ou la lecture de types de documents spécifiques.
Comment utiliser la configuration Tesseract dans le code?
:path=/static-assets/ocr/content-code-examples/how-to/irontesseract-tesseract-configuration.cs
using 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 propose également une configuration spécialisée pour différents types de documents. Par exemple, lorsque vous lisez des passeports ou traitez des chèques MICR, vous pouvez appliquer des filtres de prétraitement spécifiques et une détection de région pour améliorer la précision.
Exemple de configuration pour des documents financiers :
// Example: Configure for financial documents
IronTesseract ocr = new IronTesseract
{
Language = OcrLanguage.English,
Configuration = new TesseractConfiguration
{
PageSegmentationMode = TesseractPageSegmentationMode.SingleBlock,
TesseractVariables = new Dictionary<string, object>
{
["liste blanche de caractères tessedit"] = "0123456789.$,",
["textord_lourd_nr"] = false,
["bords_max_enfants_par_contour"] = 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>
{
["liste blanche de caractères tessedit"] = "0123456789.$,",
["textord_lourd_nr"] = false,
["bords_max_enfants_par_contour"] = 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
Quelle est la liste complète de toutes les variables de configuration de Tesseract ?
Ces paramètres peuvent être définis à l'aide de IronTesseract.Configuration.TesseractVariables["key"] = value;. Les variables de configuration vous permettent d'affiner le comportement de l'OCR pour obtenir des résultats optimaux avec vos documents spécifiques. Pour des conseils détaillés sur l'optimisation des performances de l'OCR, consultez notre guide de configuration de l'OCR rapide.
| Variable de configuration Tesseract | Défaut | Signification |
|---|---|---|
| classifier_num_cp_niveaux | 3 | Nombre de niveaux de taille de l'élagueuse |
| textord_debug_tabfind | 0 | Recherche de l'onglet de débogage |
| textord_debug_bugs | 0 | Activer les résultats relatifs aux bogues dans la recherche par onglets |
| textord_testregion_gauche | -1 | Bord gauche du rectangle de rapport de débogage |
| textord_testregion_top | -1 | Bord supérieur du rectangle de rapport de débogage |
| textord_testregion_droite | 2147483647 | Bord droit du rectangle de débogage |
| textord_testregion_bottom | 2147483647 | Bord inférieur du rectangle de débogage |
| textord_tabfind_show_partitions | 0 | Afficher les limites de la partition, en attente si >1 |
| niveau de débogage de la division devanagari | 0 | Niveau de débogage pour le processus shiro-rekha divisé. |
| bords_max_enfants_par_contour | 10 | Nombre maximal d'enfants à l'intérieur d'un contour de personnage |
| couches enfants maximum des bords | 5 | Nombre maximal de calques enfants imbriqués dans le contour d'un personnage |
| bords_enfants_par_petit-enfant | 10 | Rapport d'importance pour le découpage des contours |
| limite du nombre d'enfants aux bords | 45 | Nombre maximal de trous autorisés dans la tache |
| bords_min_non-trou | 12 | Nombre minimal de pixels pour un caractère potentiel dans la boîte |
| rapport de surface du chemin des bords | 40 | Max lensq/area for acceptable child outline |
| textord_fp_chop_error | 2 | Courbure maximale autorisée des cellules hachées |
| textord_tabfind_afficher_images | 0 | Show image blobs |
| textord_skewsmooth_offset | 4 | Pour un facteur lisse |
| textord_skewsmooth_offset2 | 1 | Pour un facteur lisse |
| textord_test_x | -2147483647 | coordonnées du point de test |
| textord_test_y | -2147483647 | coordonnées du point de test |
| textword_min_blobs_dans_ligne | 4 | Nombre minimal de blobs avant le comptage du gradient |
| textord_spline_minblobs | 8 | Min blobs in each spline segment |
| textord_spline_médianewin | 6 | Size of window for spline segmentation |
| textord_max_blob_overlaps | 4 | Max number of blobs a big blob can overlap |
| textord_min_xhauteur | 10 | Min credible pixel xheight |
| essais_lms_ligne_textord | 12 | Number of linew fits to do |
| vieux_trou_perte | 10 | Max lost before fallback line used |
| version linéaire de Pitsync | 6 | Use new fast algorithm |
| profondeur_fausse_synchronisation_pit | 1 | Max advance fake generation |
| textord_tabfind_show_strokewidths | 0 | Show stroke widths |
| intervalle de matrice de points textord | 3 | Max pixel gap for broken pixed pitch |
| bloc de débogage textord | 0 | Block to do debug on |
| plage de hauteur de textord | 2 | Max range test on pitch |
| pouvoir de veto des mots textord | 5 | Rows required to outvote a veto |
| equationdetect_save_bi_image | 0 | Save input bi image |
| equationdetect_save_spt_image | 0 | Save special character image |
| equationdetect_save_seed_image | 0 | Save the seed image |
| equationdetect_save_merged_image | 0 | Save the merged image |
| poly_debug | 0 | Debug old poly |
| poly_wide_objects_better | 1 | More accurate approx on wide things |
| wordrec_display_splits | 0 | Display splits |
| textord_debug_imprimable | 0 | Make debug windows printable |
| textord_space_size_is_variable | 0 | If true, word delimiter spaces are assumed to have variable width, even though characters have fixed pitch. |
| textord_tabfind_show_initial_partitions | 0 | Show partition bounds |
| textord_tabfind_show_reject_blobs | 0 | Show blobs rejected as noise |
| textord_tabfind_afficher_colonnes | 0 | Show column bounds |
| textord_tabfind_show_blocks | 0 | Show final block bounds |
| textord_tabfind_find_tables | 1 | run table detection |
| devanagari_split_debugimage | 0 | Whether to create a debug image for split shiro-rekha process. |
| textord_show_fixed_cuts | 0 | Draw fixed pitch cell boundaries |
| edge_use_new_outline_complexity | 0 | Use the new outline complexity module |
| edges_debug | 0 | turn on debugging for this module |
| contours_enfants_fix | 0 | Remove boxy parents of char-like children |
| gapmap_debug | 0 | Say which blocks have tables |
| gapmap_utiliser_ends | 0 | Use large space at start and end of rows |
| gapmap_no_isolated_quanta | 0 | Ensure gaps not less than 2quanta wide |
| textord_lourd_nr | 0 | Vigorously remove noise |
| textord_show_initial_rows | 0 | Display row accumulation |
| textord_show_parallel_rows | 0 | Display page correlated rows |
| textord_show_expanded_rows | 0 | Display rows after expanding |
| textord_afficher_dernières_lignes | 0 | Display rows after final fitting |
| textord_show_final_blobs | Display blob bounds after pre-ass | |
| textord_test_paysage | 0 | Tests refer to land/port |
| lignes de base parallèles textord | 1 | Force parallel baselines |
| lignes de base droites de textord | 0 | Force straight baselines |
| textord_anciennes_bases | 1 | |
| textord_old_xhauteur | 0 | Use old xheight algorithm |
| textord_fix_xheight_bug | 1 | Use spline baseline |
| textord_fix_makerow_bug | 1 | Prevent multiple baselines |
| textord_debug_xheights | 0 | Test xheight algorithms |
| textord_biased_skewcalc | 1 | Bias skew estimates with line length |
| interpolation de textord_skew | 1 | Interpolate across gaps |
| textord_new_initial_xheight | 1 | Use test xheight mechanism |
| textord_debug_blob | 0 | Print test blob information |
| textord_vraiment_vieux_xhauteur | 0 | Use original wiseowl xheight |
| textord_oldbl_debug | 0 | Debug old baseline generation |
| lignes de base de débogage textord | 0 | Debug baseline generation |
| textord_oldbl_paradef | 1 | Use para default mechanism |
| textord_oldbl_splines de séparation | 1 | Split stepped splines |
| textord_oldbl_merge_parts | 1 | Merge suspect partitions |
| vieux_corrfix | 1 | Improve correlation of heights |
| oldbl_xhfix | 0 | Fix bug in modes threshold for xheights |
| mode textord_ocropus | 0 | Make baselines for ocropus |
| textord_tabfind_only_strokewidths | 0 | Only run stroke widths |
| textord_tabfind_show_initiitialtabs | 0 | Show tab candidates |
| textord_tabfind_show_finaltabs | 0 | Show tab vectors |
| textord_afficher_tables | 0 | Show table regions |
| textord_tablefind_show_mark | 0 | Debug table marking steps in detail |
| textord_tablefind_show_stats | 0 | Show page stats used in table finding |
| textord_tablefind_recognize_tables | 0 | Enables the table recognizer for table layout and filtering. |
| textord_all_prop | ||
| textord_debug_pitch_test | ||
| textord_désactiver_test_de_hauteur | ||
| test de balle rapide textord | ||
| textord_debug_pitch_metric | ||
| textord_show_row_cuts | ||
| textord_show_page_cuts | ||
| triche textord_pitch | ||
| textord_blockndoc_fixed | ||
| textord_afficher_mots_initiales | ||
| textord_afficher_nouveaux_mots | ||
| textord_show_fixed_words | ||
| textord_blocksall_fixed | ||
| textord_blocksall_prop | ||
| textord_blocksall_testing | ||
| mode de test textord | ||
| textord_pitch_rowsimilarité | ||
| mots_initiale_minuscule | ||
| mots_initiale_majuscule | ||
| mots_propriété_par_défaut_espace | ||
| mots_espace_fixe_par_défaut | ||
| limite_fixe_par_défaut_de_mots | ||
| textord_mots_definite_spread | ||
| textord_spacesize_ratiofp | ||
| textord_spacesize_ratioprop | ||
| rapport textord_fpiqr | ||
| textord_max_pitch_iqr | ||
| textord_fp_largeur_min | ||
| textord_décalage_soulignement | ||
| niveau_debug_ambigs | ||
| classifier_debug_level | ||
| méthode de normalisation de la classification | ||
| niveau_de_débogage_matcher | ||
| drapeaux_debug_matcher | ||
| niveau_debug_de_classification_de_l'apprentissage | ||
| matcher_permanent_classes_min | ||
| matcher_min_examples_for_prototyping | ||
| matcher_suffisant_exemples_pour_prototypage | ||
| classifier_adapter_proto_seuil | ||
| seuil d'adaptation des caractéristiques de classification | ||
| seuil de classification_classe_élagage | ||
| multiplicateur de classify_class_pruner | ||
| classifier_cp_seuil_force | ||
| multiplicateur de correspondance d'entiers de classification | ||
| niveau_debug_dawg | ||
| niveau de débogage du tiret | ||
| taille_petit_mot_stopper | ||
| niveau_de_débogage_stopper | ||
| tessedit_truncate_wordchoice_log | ||
| max_permuter_attempts | ||
| réparer_blobs_non_coupés | ||
| chop_debug | ||
| longueur_de_séparation_couper | ||
| même_distance | ||
| points de contour min_couper | ||
| taille_de_pile_de_couture_coupée | ||
| couper_à_l'intérieur_angle | ||
| zone de contour min_couper | ||
| largeur_max_centrée_couper | ||
| poids_x_y | ||
| niveau de débogage wordrec | ||
| wordrec_max_join_chunks | ||
| niveau de débogage de la recherche segmentée | ||
| segsearch_max_pain_points | ||
| segsearch_max_futile_classifications | ||
| niveau_de_débogage_du_modèle_de_langue | ||
| ordre_ngram_du_modèle_de_langue | ||
| modèle_de_langue_liste_viterbi_nombre_maximum_élaguable | ||
| taille maximale de la liste Viterbi du modèle de langage | ||
| longueur minimale du modèle de langage | ||
| wordrec_display_segmentations | ||
| tessedit_pageseg_mode | ||
| mode moteur otesedit_ocr | ||
| pageseg_devanagari_split_strategy | ||
| ocr_devanagari_split_strategy | ||
| bidi_debug | ||
| appliquer_débogage | ||
| page de la boîte d'application | ||
| tessedit_bigram_debug | ||
| suppression_du_bruit_de_débogage | ||
| bruit_maxparblob | ||
| bruit_max par mot | ||
| niveau de débogage x_ht | ||
| qualité_min_initial_alphas_requis | ||
| mode d'adaptation tessedit_tess | ||
| niveau_de_débogage_multilingue | ||
| niveau_de_débogage_paragraphe | ||
| tessedit_preserve_min_wd_len | ||
| crunch_rating_max | ||
| indicateurs_de_croûte | ||
| crunch_leave_lc_strings | ||
| crunch_leave_uc_strings | ||
| crunch_long_repetitions | ||
| crunch_debug | ||
| fixsp_non_noise_limit | ||
| fixsp_done_mode | ||
| niveau_de_correction_d_espace_de_débogage | ||
| x_ht_acceptance_tolérance | ||
| x_ht_min_change | ||
| superscript_debug | ||
| qualité_jpg | ||
| dpi défini par l'utilisateur | ||
| nombre_min_de_caractères_à_essayer | ||
| suspect_level | ||
| suspect_short_words | ||
| mode de rejet de tessedit | ||
| tessedit_image_border | ||
| min_sane_x_ht_pixels | ||
| numéro_de_page_tessedit | ||
| tessedit_paralléliser | ||
| lstm_choice_mode | ||
| itérations de choix lstm | ||
| niveau_debug_tosp | ||
| tosp_espace_suffisant_échantillons_pour_la_médiane | ||
| tosp_redo_kern_limit | ||
| tosp_peu_d'échantillons | ||
| tosp_short_row | ||
| méthode tosp_sanity | ||
| taille_maximale_bruit_textord | ||
| textord_ligne_de_base_debug | ||
| textord_noise_sizefraction | ||
| textord_noise_translimit | ||
| textord_noise_sncount | ||
| utiliser_ambiguïtés_pour_l'adaptation | ||
| prioriser_division | ||
| classifier_activer_apprentissage | ||
| tess_cn_matching | ||
| tess_bn_matching | ||
| classifier_activer_correspondance_adaptative | ||
| classifier_utiliser_modèles_pré_adaptés | ||
| classifier_sauvegarder_modèles_adaptés | ||
| classifier_activer_débogueur_adaptatif | ||
| classifier_non-linéaire_norm | ||
| disable_character_fragments | ||
| classifier_déboguer_fragments_de_personnages | ||
| matcher_debug_fenêtres séparées | ||
| classify_bln_numeric_mode | ||
| charger_system_dawg | ||
| charge_freq_chien | ||
| charger_unambig_dawg | ||
| charger_punc_dawg | ||
| charger_numéro_chien | ||
| charger_bigram_dawg | ||
| utiliser_uniquement_la_première_étape_uft8 | ||
| stopper_pas_de_choix_acceptables | ||
| segment_nonalphabétique_script | ||
| enregistrer_doc_words | ||
| fusionner_fragments_dans_la_matrice | ||
| wordrec_enable_assoc | ||
| force_word_assoc | ||
| activer_couper | ||
| chop_vertical_creep | ||
| couper_nouvelle_couture_pile | ||
| supposer_fixed_pitch_char_segment | ||
| wordrec_skip_no_truth_words | ||
| wordrec_debug_blamer | ||
| wordrec_run_blamer | ||
| save_alt_choices | ||
| language_model_ngram_on | ||
| language_model_ngram_use_
only_first_uft8_step | ||
| modèle_de_langue_ngramme_espace_délimité_langue | ||
| l'utilisation du modèle de langage et la certitude sigmoïdale | ||
| tessedit_resegment_from_boxes | ||
| tessedit_resegment_from_line_boxes | ||
| tessedit_train_from_boxes | ||
| tessedit_make_boxes_from_boxes | ||
| tessedit_reconnaissance_ligne_de_train | ||
| tessedit_dump_pageseg_images | ||
| tessedit_do_invert | ||
| tessedit_ambigs_training | ||
| tessedit_adaptation_debug | ||
| applybox_learn_chars_and_char_frags_mode | ||
| applybox_learn_ngrams_mode | ||
| tessedit_display_outwords | ||
| tessedit_dump_choices | ||
| tessedit_timing_debug | ||
| tessedit_fix_flozzy_spaces | ||
| tessedit_unrej_any_wd | ||
| tessedit_fix_hyphens | ||
| tessedit_enable_doc_dict | ||
| polices de débogage tessedit | ||
| rejet du bloc de débogage tessedit | ||
| tessedit_activer_la_correction_des_bigrammes | ||
| tessedit_enable_dict_correction | ||
| activer_la_suppression_du_bruit | ||
| tessedit_minimal_rej_pass1 | ||
| adaptation_test_tessedit | ||
| test_pt | ||
| basé sur le texte du paragraphe | ||
| lstm_use_matrix | ||
| tessedit_bonne_qualité_non_rej | ||
| 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 | ||
| info_police_hogr | ||
| boîtes_de_caractères_hocr | ||
| crunch_early_merge_tess_fails | ||
| crunch_early_convert_bad_unlv_chs | ||
| crunch_terrible_garbage | ||
| 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_1Il_utilise_dict_word | ||
| rej_1Il_trust_permuter_type | ||
| rej_use_tess_accepté | ||
| rej_use_tess_blanks | ||
| rej_use_good_perm | ||
| rej_use_sensible_wd | ||
| rej_alphas_in_number_perm | ||
| tessedit_create_boxfile | ||
| tessedit_write_images | ||
| mode d'affichage interactif | ||
| tessedit_override_permuter | ||
| tessedit_use_primary_params_model | ||
| textord_tabfind_show_vlines | ||
| textord_use_cjk_fp_model | ||
| poly_autoriser_detailed_fx | ||
| tessedit_init_config_only | ||
| textord_equation_detect | ||
| textord_tabfind_vertical_text | ||
| textord_tabfind_force_vertical_text | ||
| préserver_les_espaces_intermots | ||
| pageseg_appliquer_masque_musical | ||
| mode de hauteur unique de textord | ||
| tosp_old_to_method | ||
| tosp_old_to_constrain_sp_kn | ||
| tosp_only_use_prop_rows | ||
| tosp_force_wordbreak_on_punct | ||
| tosp_utiliser_avant_couper | ||
| tosp_old_to_bug_fix | ||
| tosp_block_use_cert_spaces | ||
| tosp_row_use_cert_spaces | ||
| tosp_narrow_blobs_not_cert | ||
| tosp_row_use_cert_spaces1 | ||
| tosp_recovery_isolated_row_stats | ||
| tosp_seulement_de_petites_lacunes_pour_le_kern | ||
| tosp_all_flips_fuzzy | ||
| tosp_fuzzy_limit_all | ||
| textord_pas_de_rejets | ||
| textord_show_blobs | ||
| textord_show_boxes | ||
| mots_bruits | ||
| texteord_noise_rejrows | ||
| textord_noise_debug | ||
| classify_learn_debug_str | ||
| fichier_mots_utilisateur | ||
| suffixe_mots_utilisateur | ||
| fichier de modèles d'utilisateur | ||
| suffixe des modèles d'utilisateur | ||
| fichier de sortie des mots ambigus | ||
| mot_à_déboguer | ||
| tessedit_char_blacklist | ||
| liste blanche de caractères tessedit | ||
| tessedit_char_unblacklist | ||
| tessedit_write_params_to_file | ||
| appliquer_modèle_d'exposition_boîte | ||
| chs_leading_punct('`" | ||
| chs_trailing_punct1 | ||
| chs_trailing_punct2)'`" | ||
| contours_impairs | %| | Nombre de contours non standard |
| contours_2ij!?%":; | Nombre de contours non standard | |
| ponctuation numérique | ., | Punct. chs expected WITHIN numbers |
| caractère_non_reconnu | | | Output char for unidentified blobs |
| ok_répété_ch_non_alphanum_wds | -?*= | Allow NN to unrej |
| ensemble_de_conflit_I_l_1 | Il1 [] | Il1 conflict set |
| type_de_fichier | .tif | Filename extension |
| tessedit_load_sublangs | ||
| séparateur de page | ||
| classifier_char_norm_range | ||
| classify_max_ratio | ||
| classifier_max_marge_d'incertitude | ||
| seuil de correspondance_bon | ||
| résultat_adaptatif_fiable_matcher | ||
| seuil de correspondance parfait | ||
| matcher_bad_match_pad | ||
| marge de notation du matcher | ||
| taille_moyenne_bruit_matcher | ||
| matcher_clustering_max_angle_delta | ||
| pénalisation_indésirable_déchet | ||
| échelle d'évaluation | ||
| échelle de certitude | ||
| tessedit_class_miss_scale | ||
| facteur d'élagage adapté à la classification | ||
| seuil d'élagage adapté à la classification | ||
| classify_character_fragments_ garbage_certainty_threshold | ||
| speckle_large_max_size | ||
| pénalité de notation de speckle | ||
| xheight_penalty_subscripts | ||
| xheight_penalty_incohérent | ||
| segment_penalty_dict_frequent_word | ||
| segment_penalty_dict_case_ok | ||
| segment_penalty_dict_case_bad | ||
| segment_penalty_dict_nonword | ||
| échelle de certitude | ||
| stopper_nondict_certainty_base | ||
| stopper_phase2_certainty_rejection_offset | ||
| stopper_certainty_per_char | ||
| stopper_allowable_character_badness | ||
| doc_dict_pending_threshold | ||
| doc_dict_certainty_threshold | ||
| seuil de certitude 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 | ||
| segsearch_max_char_wh_ratio |
Pour de meilleurs résultats, il est recommandé d'utiliser les filtres de prétraitement d'image d'IronOCR avant d'appliquer l'OCR. Ces filtres peuvent améliorer considérablement la précision, en particulier lorsque vous travaillez avec des scans de mauvaise qualité ou des documents complexes tels que des tableaux.
Questions Fréquemment Posées
Comment configurer IronTesseract pour l'OCR en C# ?
Pour configurer IronTesseract, créez une instance IronTesseract et définissez des propriétés telles que la langue et la configuration. Vous pouvez spécifier la langue de l'OCR (parmi 125 langues prises en charge), activer la lecture des codes-barres, configurer la sortie PDF avec recherche et définir la liste blanche des caractères. Par exemple : var tesseract = new IronOcr.IronTesseract { Language = IronOcr.OcrLanguage.English, Configuration = new IronOcr.TesseractConfiguration { ReadBarCodes = false, RenderSearchablePdf = true } ; var tesseract = new IronOcr.IronTesseract = new IronOcr.OcrLanguage.English, Configuration = new IronOcr.TesseractConfiguration { ReadBarCodes = false, RenderSearchablePdf = true } } ;
Quels sont les formats d'entrée pris en charge par IronTesseract ?
IronTesseract accepte différents formats d'entrée grâce à la classe OcrInput. Vous pouvez traiter des images (PNG, JPG, etc.), des fichiers PDF et des documents scannés. La classe OcrInput fournit des méthodes flexibles pour charger ces différents formats, ce qui facilite l'exécution de l'OCR sur pratiquement n'importe quel document contenant du texte.
Puis-je lire des codes-barres en même temps que du texte à l'aide d'IronTesseract ?
Oui, IronTesseract comprend des fonctionnalités avancées de lecture de codes-barres. Vous pouvez activer la détection des codes-barres en définissant ReadBarCodes = true dans la TesseractConfiguration. Cela vous permet d'extraire à la fois des données textuelles et des codes-barres du même document en une seule opération d'OCR.
Comment créer des PDF consultables à partir de documents numérisés ?
IronTesseract peut convertir des documents et des images numérisés en PDF interrogeables en définissant RenderSearchablePdf = true dans la TesseractConfiguration. Cela permet de créer des fichiers PDF dont le texte peut être sélectionné et faire l'objet d'une recherche, tout en conservant l'aspect du document original.
Quelles sont les langues prises en charge par IronTesseract pour l'OCR ?
IronTesseract prend en charge 125 langues internationales pour la reconnaissance de texte. Vous pouvez spécifier la langue en définissant la propriété Language sur votre instance IronTesseract, comme IronOcr.OcrLanguage.English, Spanish, Chinese, Arabic, et bien d'autres.
Puis-je limiter les caractères reconnus lors de l'OCR ?
Oui, IronTesseract permet d'établir une liste blanche et une liste noire de caractères grâce à la propriété WhiteListCharacters de TesseractConfiguration. Cette fonctionnalité permet d'améliorer la précision lorsque vous connaissez le jeu de caractères attendu, par exemple en limitant la reconnaissance aux seuls caractères alphanumériques.
Comment puis-je effectuer l'OCR sur plusieurs documents simultanément ?
IronTesseract prend en charge les capacités multithreading pour le traitement par lots. Vous pouvez exploiter le traitement parallèle pour l'OCR de plusieurs documents simultanément, ce qui améliore considérablement les performances lorsque vous traitez de gros volumes d'images ou de PDF.
Quelle version de Tesseract IronOCR utilise-t-elle ?
IronOcr utilise une version personnalisée et optimisée de Tesseract 5, connue sous le nom d'Iron Tesseract. Ce moteur amélioré offre une précision et des performances accrues par rapport aux implémentations Tesseract standard, tout en conservant la compatibilité avec les applications .NET.

