IronOCR 操作指南 C# Tesseract 配置 如何在 C# 中使用 Iron Tesseract Curtis Chau 已更新:八月 20, 2025 下载 IronOCR NuGet 下载 DLL 下载 Windows 安装程序 免费试用 法学硕士副本 法学硕士副本 将页面复制为 Markdown 格式,用于 LLMs 在 ChatGPT 中打开 向 ChatGPT 咨询此页面 在双子座打开 向 Gemini 询问此页面 在双子座打开 向 Gemini 询问此页面 打开困惑 向 Perplexity 询问有关此页面的信息 分享 在 Facebook 上分享 分享到 X(Twitter) 在 LinkedIn 上分享 复制链接 电子邮件文章 This article was translated from English: Does it need improvement? Translated View the article in English IronOCR 提供了一个直观的 API,用于使用定制和优化的 Tesseract 5,即 Iron Tesseract。 通过使用 IronOCR 和 IronTesseract,您可以将文本图像和扫描文档转换为文本和可搜索的 PDF。 快速入门:在 C# 中设置 IronTesseract 配置 以下是快速上手 IronTesseract 的方法。 本示例展示了如何启动引擎、调整一些设置并运行 OCR——只需一张图像、一次调用,无需样板代码。 立即开始使用 NuGet 创建 PDF 文件: 使用 NuGet 包管理器安装 IronOCR PM > Install-Package IronOcr 复制并运行这段代码。 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")); 部署到您的生产环境中进行测试 立即开始在您的项目中使用 IronOCR,免费试用! 免费试用30天 最小工作流程(5 个步骤) 使用 NuGet 安装 OCR 库以读取图像 使用自定义 Tesseract 5 执行 OCR 加载要处理的文档,例如图像或 PDF 文件 将提取的文本输出到控制台或文件 将结果保存为可搜索的 PDF 创建 IronTesseract 实例 只需像这样初始化一个 Tesseract 对象: :path=/static-assets/ocr/content-code-examples/how-to/irontesseract-initialize-irontesseract.cs using IronOcr; IronTesseract ocr = new IronTesseract(); IRON VB CONVERTER ERROR developers@ironsoftware.com $vbLabelText $csharpLabel 您可以通过选择不同的语言、启用条形码读取以及将字符列入白名单/黑名单来自定义 IronTesseract 的行为: :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 } $vbLabelText $csharpLabel 完成上述步骤后,您可以使用 Tesseract 功能读取OcrInput对象: :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 $vbLabelText $csharpLabel 高级 Tesseract 配置变量 IronOCR Tesseract 接口允许通过IronOCR.TesseractConfiguration 类完全控制 Tesseract 配置变量。 Tesseract 配置代码示例 :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) $vbLabelText $csharpLabel Tesseract 所有配置变量列表 这些可以通过IronTesseract.Configuration.TesseractVariables["key"] = value;进行设置。 Tesseract 配置变量 默认 意义 分类_数量_cp_级别3类剪枝器级别数 textord_debug_tabfind0调试选项卡查找 textord_debug_bugs0启用与制表符查找错误相关的输出 textord_testregion_left-1调试报告矩形的左边缘 textord_testregion_top-1调试报告矩形的顶部边缘 textord_testregion_right2147483647调试矩形的右边缘 textord_testregion_bottom2147483647调试矩形的底部边缘 textord_tabfind_show_partitions0显示分区边界,如果大于 1 则等待。 devanagari_split_debuglevel0拆分 shiro-rekha 进程的调试级别。 edges_max_children_per_outline10角色轮廓内子角色的最大数量 edges_max_children_layers5角色轮廓内嵌套子角色的最大层数 每个孙子的边缘子节点10抛掷轮廓的重要性比率 edges_children_count_limit45斑点中允许的最大孔数 edges_min_nonhole12方框内潜在字符的最小像素 边缘路径面积比率40可接受的儿童轮廓的最大镜头面积/面积 textord_fp_chop_error2最大允许的切割单元弯曲度 textord_tabfind_show_images0显示图像斑点 textord_skewsmooth_offset4对于平滑因子 textord_skewsmooth_offset21对于平滑因子 textord_test_x-2147483647测试点坐标 textord_test_y-2147483647测试点坐标 textword_min_blobs_in_row4梯度计数前的最小斑点数 textord_spline_minblobs8每个样条曲线段中的最小斑点 textord_spline_medianwin6样条分割窗口的大小 textord_max_blob_overlaps4一个大斑点可以重叠的最大斑点数量 textord_min_xheight10最小可信像素 x 高度 textord_lms_line_trials12要进行的线性拟合次数 oldbl_holed_losscount10使用备用线路之前的最大损失 pitsync_linear_version6使用新的快速算法 pitsync_fake_depth1最大程度的伪造 textord_tabfind_show_strokewidths0显示笔画宽度 textord_dotmatrix_gap3像素间距破损时的最大像素间隙 textord_debug_block0阻塞以进行调试 文本音调范围2球场上的最大射程测试 textord_words_veto_power5推翻否决所需的票数 equationdetect_save_bi_image0保存输入的双图像 equationdetect_save_spt_image0保存特殊字符图像 方程检测保存种子图像0保存种子图像 方程检测保存合并图像0保存合并后的图像 poly_debug0调试旧多边形 poly_wide_objects_better1更精确的近似值适用于宽泛的事物 wordrec_display_splits0显示分割 textord_debug_printable0使调试窗口可打印 textord_space_size_is_variable0如果属实,则假定单词分隔符空格的宽度是可变的,即使字符的间距是固定的。 textord_tabfind_show_initial_partitions0显示分区边界 textord_tabfind_show_reject_blobs0显示被判定为噪声的斑点 textord_tabfind_show_columns0显示列边界 textord_tabfind_show_blocks0显示最终区块边界 textord_tabfind_find_tables1运行表检测 devanagari_split_debugimage0是否为拆分 shiro-rekha 进程创建调试镜像。 textord_show_fixed_cuts0绘制固定间距单元格边界 边缘使用新的轮廓复杂性0使用新的大纲复杂度模块 边缘调试0启用此模块的调试功能 edges_children_fix0移除焦炭状子代的方盒子状父母 gapmap_debug0说明哪些区块有表格 gapmap_use_ends0在行的开头和结尾留出较大的空间 gapmap_no_isolated_quanta0确保间隙宽度不小于 2 量子 textord_heavy_nr0强力消除噪音 textord_show_initial_rows0显示行累积 textord_show_parallel_rows0显示页面相关行 textord_show_expanded_rows0展开后显示行 textord_show_final_rows0最终拟合后的显示行 textord_show_final_blobs0预分配后显示斑点边界 textord_test_landscape0测试指的是陆地/港口 textord_parallel_baselines1力平行基线 textord_straight_baselines0强迫直线底线 textord_old_baselines1使用旧的基线算法 textord_old_xheight0使用旧的 xheight 算法 textord_fix_xheight_bug1使用样条基线 textord_fix_makerow_bug1防止出现多个基线 textord_debug_xheights0测试 x 高度算法 textord_biased_skewcalc1线长度偏差估计 textord_interpolating_skew1跨越间隙进行插值 textord_new_initial_xheight1使用测试 x 高度机制 textord_debug_blob0打印测试斑点信息 textord_really_old_xheight0使用原始的wiseowl x高度 textord_oldbl_debug0调试旧基线生成 textord_debug_baselines0调试基线生成 textord_oldbl_paradef1使用默认机制 textord_oldbl_split_splines1分裂阶梯样条 textord_oldbl_merge_parts1合并可疑分区 oldbl_corrfix1提高身高相关性 oldbl_xhfix0修复模式阈值中 x 高度的错误 textord_ocropus_mode0为蛸蛸建立基线 textord_tabfind_only_strokewidths0仅运行笔画宽度 textord_tabfind_show_initialtabs0显示标签候选 textord_tabfind_show_finaltabs0显示标签页矢量图 textord_show_tables0显示表格区域 textord_tablefind_show_mark0详细调试表标记步骤 textord_tablefind_show_stats0显示用于表格查找的页面统计信息 textord_tablefind_recognize_tables0启用表格识别器,用于表格布局和筛选。 textord_all_prop0所有文档均为比例文本 textord_debug_pitch_test0固定音高测试调试 textord_disable_pitch_test0关闭 DP 固定螺距算法 textord_fast_pitch_test0实现更快的音调算法 textord_debug_pitch_metric0写出完整的公制单位内容 textord_show_row_cuts0绘制行级切口 textord_show_page_cuts0绘制页面级切口 textord_pitch_cheat0使用固定/私有财产的正确答案 textord_blockndoc_fixed0尝试整个文档/模块固定音高 textord_show_initial_words0显示单独的词语 textord_show_new_words0显示单独的词语 textord_show_fixed_words0显示强制固定音高词语 textord_blocksall_fixed0抱怨支撑块 textord_blocksall_prop0抱怨固定螺距块 textord_blocksall_testing0抱怨时丢弃统计数据 文本测试模式0进行当前测试 textord_pitch_scalebigwords0大词评分 textord_restore_underlines1剪掉下划线并放回原位 textord_fp_chopping1进行固定音高切分 textord_force_make_prop_words0对所有行强制进行比例分词 textord_chopper_test0直升机正在测试中。 wordrec_display_all_blobs0显示斑点 wordrec_blob_pause0斑点断裂 流文件列表0从标准输入流式传输文件列表 调试文件 要将 tprintf 输出发送到的文件 字体名称分类未知字体训练中使用的默认字体名称 文档标题 输出文档标题(用于 hOCR 和 PDF 输出) 点积自动化用于计算点积的函数 classify_cp_angle_pad_loose45修枝剪角度垫松动 classify_cp_angle_pad_medium20中号修枝剪角度垫 classify_cp_angle_pad_tight10CLass 修枝剪角度垫紧 classify_cp_end_pad_loose0.5修枝剪末端垫松动 classify_cp_end_pad_medium0.5中号修枝剪末端垫 classify_cp_end_pad_tight0.5修枝剪末端垫紧 classify_cp_side_pad_loose2.5修枝剪侧垫松动 classify_cp_side_pad_medium1.2中号修枝剪侧垫 classify_cp_side_pad_tight0.6修枝剪侧垫紧 分类_pp_角度垫45原型修枝剪角度垫 分类_pp_end_pad0.5原型修剪末端垫 分类_pp_side_pad2.5原型修枝剪侧垫 分类最小斜率0.414214斜率低于该斜率的线称为水平线 分类最大斜率2.41421斜率大于该斜率的线称为垂直线 分类规范调整中点32规范调整中点…… 分类规范调整卷曲2调整卷曲度…… 分类_pico_feature_length0.05皮米特征长度 textord_underline_threshold0.5宽度占比 边缘子区域0.5子轮廓的最小面积分数 边缘框区域0.875盒子孙子最小面积分数 textord_fp_chop_snap0.5切点到顶点的最大距离 gapmap_大间隙1.75xht 乘数 textord_spline_shift_fraction0.02四边形线间距的比例 textord_spline_outlier_fraction0.1异常值行间距的比例 textord_skew_ile0.5页面倾斜的渐变元素 文本偏移滞后0.02行累积偏差滞后 textord_linespace_iqrlimit0.2线空间的最大四分位距/中位数 文本宽度限制8使斑点形成行的最大宽度 textord_chop_width1.5切割前的最大宽度 textord_expansion_factor1在 expand_rows 中,按以下因子扩展行 textord_overlap_x0.375良好重叠所需的线空间比例 textord_minxh0.25最小 x 高度对应的线宽比例 textord_min_linesize1.25* 初始线大小的 blob 高度 textord_excess_blobsize1.3如果 blob 使行达到这个大小,则创建新行。 textord_occupancy_threshold0.4邻域比例 文本下划线宽度2下划线大小的倍数 textord_min_blob_height_fraction0.75最小斑点高度/顶部,以便将斑点顶部包含在 x 高度统计中 textord_xheight_mode_fraction0.4最小堆高以达到 x 高度 textord_ascheight_mode_fraction0.08最小堆高以达到所需高度 textord_descheight_mode_fraction0.08最小堆高以达到卸料高度 textord_ascx_ratio_min1.25最小容量/x高度 textord_ascx_ratio_max1.8最大容量/x高度 textord_descx_ratio_min0.25最小描述/x高度 textord_descx_ratio_max0.6最大描述/x高度 textord_xheight_error_margin0.1可接受的变异 oldbl_xhfract0.4计算中允许的估计分数 oldbl_dot_error_size1.26点阵的最大纵横比 textord_oldbl_jumplimit0.15新分区的 X 分数 pitsync_joined_edge0.75大块内部的分散物用于切碎 pitsync_offset_freecut_fraction0.25免费切割的百分比 textord_tabvector_vertical_gap_fraction0.5垂直文本中允许的垂直间隙的最大平均斑点宽度比例 textord_tabvector_vertical_box_ratio0.5判定一条线垂直所需的匹配方框比例 textord_projection_scale0.2中段切球的叮当率 textord_balance_factor1不平衡炭单元的Ding率 textord_wordstats_smooth_factor0.05平滑差距统计数据 textord_width_smooth_factor0.1平滑宽度统计 textord_words_width_ile0.4空间估计的 blob 宽度 textord_words_maxspace4x高度的倍数 textord_words_default_maxspace3.5最大可信的第三空间 textord_words_default_minspace0.6x高度的分数 textord_words_min_minspace0.3x高度的分数 textord_words_default_nonspace0.2x高度的分数 textord_words_initial_lower0.25最大初始簇大小 textord_words_initial_upper0.15最小初始簇间距 textord_words_minlarge0.75所需有效缺口比例 textord_words_pitchsd_threshold0.04音调同步阈值 textord_words_def_fixed0.016确定固定阈值 textord_words_def_prop0.09确定属性的阈值 textord_pitch_rowsimilarity0.08相同情况下 x 高度的分数 words_initial_lower0.5最大初始簇大小 words_initial_upper0.15最小初始簇间距 words_default_prop_nonspace0.25x高度的分数 words_default_fixed_space0.75x高度的分数 words_default_fixed_limit0.6允许的尺寸偏差 textord_words_definite_spread0.3非模糊间距区域 textord_spacesize_ratiofp2.8最小空间/非空间比率 textord_spacesize_ratioprop2最小空间/非空间比率 textord_fpiqr_ratio1.5音调四分位距/间隙四分位距阈值 textord_max_pitch_iqr0.2Xh 分数噪声 textord_fp_min_width0.5体面斑点的最小宽度 textord_underline_offset0.1要忽略的 x 的比例 ambigs_debug_level0单字符歧义的调试级别 分类调试级别0对调试级别进行分类 分类规范方法1归一化方法…… 匹配器调试级别0匹配器调试级别 匹配器调试标志0匹配器调试标志 分类学习调试级别0学习调试级别: matcher_permanent_classes_min1永久课程的最低数量 matcher_min_examples_for_prototyping3可靠配置阈值 用于原型设计的充分示例匹配器5即使尚未发现歧义,也应启用适应机制。 分类_适应_原型_阈值230自适应 0-255 期间良好原型的阈值 分类_适应_特征_阈值230自适应0-255期间良好特征的阈值 分类剪枝器阈值229分类修剪器阈值 0-255 分类剪枝乘数15类剪枝器乘数 0-255: 分类_cp_截止强度7修枝剪剪切强度: 分类整数匹配器乘数10整数匹配器乘数 0-255: dawg_debug_level0设置为 1 显示常规调试信息,设置为 2 显示更多详细信息,设置为 3 显示所有调试消息 hyphen_debug_level0连字符单词的调试级别。 stopper_smallword_size2字典词的大小将被视为非字典词 stopper_debug_level0停止器调试级别 tessedit_truncate_wordchoice_log10列表中最多保留多少个单词 最大置换尝试次数10000排列组合过程中要考虑的不同字符选择的最大数量。当用户指定模式时,此限制尤其有用,因为过于通用的模式会导致搜索算法探索过多的选项。 修复未切碎的斑点1修复未被切碎的块状物 chop_debug0切割调试 分割长度10000分体式长度 砍到相同距离2相同距离 砍伐最小轮廓点6轮廓上的最小点数 剪缝绒毛尺寸150seam_pile 中的最大接缝数 切内角-50最小内角弯曲 砍掉最小轮廓区域2000最小轮廓区域 截断居中最大宽度90(较小)切碎块的宽度,我们不在乎切碎块是否靠近中心。 砍伐 x 和 y 重量3X/Y 长度重量 wordrec_debug_level0wordrec 的调试级别 wordrec_max_join_chunks4要关联的碎片最大数量 segsearch_debug_level0SegSearch 调试级别 segsearch_max_pain_points2000队列中存储的最大痛点数量 segsearch_max_futile_classifications20每个数据块中未能找到更佳词语选择的痛点分类的最大数量。 language_model_debug_level0语言模型调试级别 language_model_ngram_order8字符n元语法模型的最大阶数 language_model_viterbi_list_max_num_prunable10BLOB_CHOICEs 中记录的每个维特比列表中可修剪条目(PrunablePath() 为 true 的条目)的最大数量 language_model_viterbi_list_max_size500BLOB_CHOICEs 中记录的维特比列表的最大大小 language_model_min_compound_length3复合词的最小长度 wordrec_display_segmentations0显示分割 tessedit_pageseg_mode6页面段模式:0=仅 OSD,1=自动+OSD,2=仅自动,3=自动,4=列,5=块垂直,6=块,7=行,8=单词,9=单词圆圈,10=字符,11=稀疏文本,12=稀疏文本+OSD,13=原始行(值来自 tesseract/publictypes.h 中的 PageSegMode 枚举) tessedit_ocr_engine_mode2选择要运行的 OCR 引擎(Tesseract、LSTM 或两者都用)。默认情况下会加载并运行最精确的可用引擎。 页面eg_devanagari_split_strategy0在对梵文文档进行页面分割时,是否使用顶行分割过程。 ocr_devanagari_split_strategy0在对梵文文档进行 OCR 时,是否使用顶行拆分流程? 双向调试0双向调试级别 applybox_debug1调试级别 applybox_page0要应用方框的页码 tessedit_bigram_debug0用于二元语法纠错的调试输出量。 调试噪声消除0调试小轮廓的重新分配 噪声最大值8应用于某个图形的最大变音符号 noise_maxperword16单词可应用的最大变音符号 debug_x_ht_level0重新估算调试 quality_min_initial_alphas_reqd2好词中的字母 tessedit_tess_adaption_mode39用于 TES 的自适应决策算法 多语言调试级别0打印多语言调试信息。 段落调试级别0打印段落调试信息。 tessedit_preserve_min_wd_len2仅保留 wd 超过此期限 crunch_rating_max10每通道评级中的调整长度 crunch_pot_indicators1需要多少潜在指标 crunch_leave_lc_strings4不要对包含长串小写字母的单词进行压缩 crunch_leave_uc_strings4不要对包含长串小写字母的单词进行压缩 长时间重复训练3反复咀嚼单词 crunch_debug0正如它所说 fixsp_non_noise_limit1两侧各有多少个非噪声气泡? fixsp_done_mode1间距构成要素是什么? 调试修复空间级别0上下文固定空间调试 x_ht_acceptance_tolerance8允许的最大偏差范围为斑点顶部超出字体数据范围 x_ht_min_change8在实际尝试之前,xht 的最小变化 上标调试0下标和上标修复器的调试级别 jpg_质量85设置 JPEG 质量级别 用户自定义DPI0指定输入图像的DPI min_characters_to_try50指定 OSD 期间尝试的最小字符数 嫌疑级别99可疑标记水平 可疑的短词2不要怀疑字典单词长度超过这个限制。 tessedit_reject_mode0拒绝算法 tessedit_image_border2图像边缘附近的 Rej blbs 最小正常 x 高度像素8拒绝任何小于或等于此值的 x-ht 或 eq。 tessedit_page_number-1-1 -> 所有页面,否则指定要处理的页面 tessedit_parallelize1尽可能并行运行 lstm_选择模式2允许在 hOCR 输出中包含备选符号选项。有效输入值为 0、1 和 2。默认值为 0。输入值为 1 时,每个时间步的备选符号选项都会被包含在内。输入值为 2 时,备选符号选项将从 CTC 过程而非格中提取。这些选项是按字符映射的。 lstm_choice_iterations5设置 lstm_选择模式 中 Beamsearch 的级联迭代次数。请注意,lstm_选择模式 的值必须大于 0 才能产生结果。 tosp_debug_level0调试数据 tosp_enough_space_samples_for_median3或者我们应该用"均值"这个词。 tosp_redo_kern_limit10重新估计行所需的样本数 tosp_few_samples40无需预留间隙,只需预留一个大间隙即可作为工作台。 tosp_短行20使用证书时,无需预留太多证书空间。 tosp_sanity_method1如何避免犯傻 textord_max_noise_size7噪声的像素尺寸 textord_baseline_debug0基线调试级别 textord_noise_sizefraction10最大值所占尺寸的比例 textord_noise_translimit16正常斑点的过渡 textord_noise_sncount1超级规范块以保存行 使用歧义进行适应0利用歧义词来决定是否要改编某个角色 允许 blob 分部1使用可分割的块状物进行切碎 优先划分0优先考虑块状分割而非切割 分类启用学习1启用自适应分类器 tess_cn_matching0字符归一化匹配 tess_bn_matching0基线归一化匹配 启用自适应匹配器1启用自适应分类器 分类_使用_预先调整好的模板0使用预先调整好的分类器模板 分类_保存_已适配模板0将修改后的模板保存到文件中 启用自适应调试器0启用匹配调试器 分类非线性范数0非线性笔画密度归一化 禁用字符片段1不要将字符片段包含在分类器的结果中 分类调试字符片段0为片段训练打开图形调试窗口 matcher_debug_separate_windows0使用两个不同的窗口来调试匹配:一个用于原型,一个用于特征。 分类_bln_numeric_mode0假设输入为数字 [0-9]。 加载系统狗1加载系统单词 dawg。 加载频率_dawg1加载常用词"dawg"。 加载无歧义的狗1加载明确的单词 dawg。 加载_punc_dawg1加载带有标点符号的狗。 加载编号_dawg1用数字图案加载狗。 加载双字母狗1用特殊单词组合加载狗。 仅使用第一个 uft8_step0计算对数概率时,仅使用给定字符串的第一个 UTF-8 步长。 stopper_no_acceptable_choices0使 AcceptableChoice() 始终返回 false。当需要探索所有细分时非常有用。 段非字母脚本0不要使用任何字母特有的技巧。对于草书或固有固定音高的脚本,请在 trainingdata 配置文件中将其设置为 true。 保存文档0保存文档 Words 合并矩阵中的片段1合并评分矩阵中的碎片,合并后删除碎片。 wordrec_enable_assoc1关联器使能 force_word_assoc0强制关联器运行,无论 enable_assoc 的值是多少。这用于中日韩语,因为中日韩语需要进行组件分组。 启用1启用斩波 垂直爬行0垂直蠕变 砍新缝堆1使用新的缝隙堆 假设固定音高字符段0在字符分割中加入固定音调启发式方法 wordrec_skip_no_truth_words0仅对 BlamerBundle 中记录为"真实"的词语运行 OCR。 wordrec_debug_blamer0打印 blamer 调试信息 wordrec_run_blamer0试图找出错误责任人 保存备选方案1保存在分割和分段搜索过程中找到的备选路径 language_model_ngram_on0启用/禁用字符n元语法模型 language_model_ngram_仅使用第一个 uft8_step0计算对数概率时,仅使用给定字符串的第一个 UTF-8 步长。 language_model_ngram_space_delimited_language1单词之间以空格分隔。 language_model_use_sigmoidal_certainty0使用S型曲线评分来评估确定性 tessedit_resegment_from_boxes0从盒文件中获取分割和标签 tessedit_resegment_from_line_boxes0将单词/行框文件转换为字符框文件 tessedit_train_from_boxes0从带框字符生成训练数据 tessedit_make_boxes_from_boxes0从带框字符生成更多框 tessedit_train_line_recognizer0将输入拆分成行,并重新映射框(如果存在)。 tessedit_dump_pageseg_images0转储页面分割过程中生成的中间图像 tessedit_do_invert1Try inverting the image in `LSTMRecognizeWord` tessedit_ambigs_training0进行歧义培训 tessedit_adaption_debug0生成并打印适配调试信息 applybox_learn_chars_and_char_frags_mode0学习字符片段(如在特殊低曝光模式下所做的那样)以及完整的字符。 applybox_learn_ngrams_mode0假设每个边界框都包含 n 元语法。仅学习那些轮廓在水平方向上重叠的 n 元语法。 tessedit_display_outwords0绘制输出词 tessedit_dump_choices0转储字符选择 tessedit_timing_debug0打印计时统计数据 tessedit_fix_fuzzy_spaces1尝试改进模糊空间 tessedit_unrej_any_wd0别费心考虑措辞的合理性了。 tessedit_fix_hyphens1双连字符? tessedit_enable_doc_dict1将单词添加到文档词典中 tessedit_debug_fonts0每个字符输出字体信息 tessedit_debug_block_rejection0块和行统计信息 tessedit_enable_bigram_correction1启用基于二元词词典的纠错功能。 tessedit_enable_dict_correction0启用基于词典的单字纠错功能。 启用降噪1当小轮廓线干扰版面分析,导致无法区分变音符号和噪声时,应移除并根据情况重新分配它们。 tessedit_minimal_rej_pass10对第一遍输出进行最小程度的剔除 tessedit_test_adaptation0测试适应性标准 测试点0测试点 基于段落文本1对帖子文本识别进行段落检测(更准确) lstm_use_matrix1使用 LSTM 的评级矩阵/束搜索 tessedit_good_quality_unrej1减少对优秀文档的拒稿 tessedit_use_reject_spaces1拒绝空格? tessedit_preserve_blk_rej_perfect_wds1仅 rej 部分拒绝了块拒绝中的单词 tessedit_preserve_row_rej_perfect_wds1行拒绝中只有部分拒绝的词 tessedit_dont_blkrej_good_wds0使用分词质量指标 tessedit_dont_rowrej_good_wds0使用分词质量指标 tessedit_row_rej_good_docs1对优秀文档应用行拒绝规则 tessedit_reject_bad_qual_wds1拒绝所有劣质wds tessedit_debug_doc_rejection0页面统计 tessedit_debug_quality_metrics0输出数据到调试文件 bland_unrej0未检查的拒绝潜力 unlv_tilde_crunching0Mark v.bad words for tilde crunch hocr_font_info0将字体信息添加到 hocr 输出 hocr_char_boxes0将每个字符的坐标添加到 hocr 输出中 crunch_early_merge_tess_fails1文字处理之前? crunch_early_convert_bad_unlv_chs0提前取出~^? crunch_terrible_garbage1正如它所说 crunch_leave_ok_strings1不要触碰敏感的弦 crunch_accept_ok1在 okstring 中使用可接受性 crunch_leave_accept_strings0不要用锅碾碎敏感的弦 包含数值0小提琴字母 tessedit_prefer_joined_punct0奖励标点符号连接 tessedit_write_block_separators0在输出中写入块分隔符 tessedit_write_rep_codes0编写重复字符代码 tessedit_write_unlv0写入 .unlv 输出文件 tessedit_create_txt0写入 .txt 输出文件 tessedit_create_hocr0写入 .html hOCR 输出文件 tessedit_create_alto0写入 .xml ALTO 文件 tessedit_create_lstmbox0写入用于 LSTM 训练的 .box 文件 tessedit_create_tsv0写入 .tsv 输出文件 tessedit_create_wordstrbox0以 WordStr 格式写入 .box 输出文件 tessedit_create_pdf0写入 .pdf 输出文件 textonly_pdf0创建仅包含一个不可见文本层的 PDF 文件 可疑约束_1Il0UNLV 保留 1Il 字符被拒绝 tessedit_minimal_rejection0仅拒绝测试失败 tessedit_zero_rejection0不要拒绝任何事 tessedit_word_for_word0确保每个 WERD 输出恰好包含一个单词 tessedit_zero_kelvin_rejection0什么都不要拒绝 tessedit_rejection_debug0适配调试 tessedit_flip_0O1上下文 0O O0 翻转 rej_trust_doc_dawg0在 11l 配置检测器中使用 DOC dawg rej_1Il_use_dict_word0使用字典测试 rej_1Il_trust_permuter_type1不要重复检查 rej_use_tess_accepted1个体拒绝控制 rej_use_tess_blanks1个体拒绝控制 rej_use_good_perm1个体拒绝控制 rej_use_sensible_wd0扩展、切换、检查 rej_alphas_in_number_perm0扩展、切换、检查 tessedit_create_boxfile0输出带框的文本 tessedit_write_images0从IPE捕获图像 交互式显示模式0以交互方式运行? tessedit_override_permuter1根据 dict_word tessedit_use_primary_params_model0在多语言模式下,使用主要语言的参数模型 textord_tabfind_show_vlines0调试行查找 textord_use_cjk_fp_model0采用中日韩固定螺距模型 poly_allow_detailed_fx0允许特征提取器查看原始轮廓 tessedit_init_config_only0仅使用配置文件进行初始化。如果实例不用于 OCR,而仅用于布局分析等用途,则此方法很有用。 textord_equation_detect0开启方程式检测器 textord_tabfind_vertical_text1启用垂直检测 textord_tabfind_force_vertical_text0强制使用垂直文本页面模式 保留词间空格0保留多个词间空格 pageseg_apply_music_mask1检测五线谱并移除交叉部分 textord_single_height_mode0脚本没有 x 高度,因此请使用单模式 tosp_old_to_method0太空统计数据是否使用预切? tosp_old_to_constrain_sp_kn0约束 old_to_method 的词间和词内间隙的相对值。 tosp_only_use_prop_rows1块统计数据是否适用于固定间距行? tosp_force_wordbreak_on_punct0强制以标点符号断词,以断开非空格分隔语言中的长行 tosp_use_pre_chopping0太空统计数据是否使用预切? tosp_old_to_bug_fix0修复旧代码中疑似的错误 tosp_block_use_cert_spaces1仅统计明显的空间 tosp_row_use_cert_spaces1仅统计明显的空间 tosp_narrow_blobs_not_cert1仅统计明显的空间 tosp_row_use_cert_spaces11仅统计明显的空间 tosp_recovery_isolated_row_stats1当证书空间不足时,单独使用行。 tosp_only_small_gaps_for_kern0更好的猜测 tosp_all_flips_fuzzy0将任何翻转传递给上下文? tosp_fuzzy_limit_all1不要将 kn->sp 模糊限制限制在表中 tosp_stats_use_xht_gaps1在 xht 间隙内使用 wd 刹车 tosp_use_xht_gaps1在 xht 间隙内使用 wd 刹车 tosp_only_use_xht_gaps0仅在 xht 间隙内用于 wd 刹车 tosp_rule_9_test_point0不要将 kn 更改为标点符号旁边的空格 tosp_flip_fuzz_kn_to_sp1默认翻转 tosp_flip_fuzz_sp_to_kn1默认翻转 tosp_improve_thresh0启用改进启发式 textord_no_rejects0不要移除噪声块 textord_show_blobs0显示未分类的斑点 textord_show_boxes0显示未分类的斑点 textord_noise_rejwords1拒绝类似噪音的词语 textord_noise_rejrows1剔除噪声行 textord_noise_debug0调试行垃圾检测器 classify_learn_debug_str类 str 用于调试学习 用户单词文件用户提供的单词的文件名。 用户词后缀tessdata 中用户提供的单词的后缀。 用户模式文件用户提供的模式的文件名。 用户模式后缀tessdata 中用户提供的模式的后缀。 输出歧义词文件词典中发现的歧义的输出文件 待调试单词应该将哪个停止器调试信息打印到标准输出的单词 tessedit_char_blacklist不识别字符黑名单 tessedit_char_whitelist要识别的字符白名单 tessedit_char_unblacklist要覆盖 tessedit_char_blacklist 的字符列表 tessedit_write_params_to_file将所有参数写入指定文件。 应用框曝光模式.exp曝光值在图像文件名中遵循此模式。图像文件名应采用 [lang].[fontname].exp [num].tif 格式。 chs_leading_punct('`"前导标点 chs_trailing_punct1).,;:?!第一行末尾标点符号 chs_trailing_punct2)'`"第二行末尾标点符号 轮廓_奇特%|非标准数量的轮廓 outlines_2ij!?%":;非标准数量的轮廓 数字标点符号.,标点符号预计在数字范围内 未识别的字符|未识别斑点的输出字符 ok_repeated_ch_non_alphanum_wds-?*=允许神经网络取消拒绝 冲突集 I_l_1Il1 []Il1冲突集 文件类型.tif文件扩展名 tessedit_load_sublangs要使用此插件加载的语言列表 页面分隔符页面分隔符(默认为换页控制字符) 分类字符规范范围0.2字符归一化范围... 分类最高评分率1.5分类器评级之间的否决比率 分类最大确定性边际5.5分类器确定性之间的否决差异 匹配器_良好阈值0.125精彩对决(0-1) 匹配器可靠自适应结果0精彩比赛(0-1) 匹配器完美阈值0.02完美匹配(0-1) matcher_bad_match_pad0.15糟糕的比赛垫(0-1) 匹配器评分差距0.1新模板边距(0-1) 匹配器平均噪声大小12平均噪声斑点长度 matcher_clustering_max_angle_delta0.015原型聚类的最大角度变化 分类不合格垃圾惩罚0当非字母元素垂直偏离其预期的文本行位置时,将适用惩罚。 评分量表1.5评级缩放因子 确定性规模20确定性缩放因子 tessedit_class_miss_scale0.00390625未使用特征的比例因子 分类适应剪枝因子2.5修剪效果不佳的结果比最佳结果还要糟糕得多 分类适应剪枝阈值-1分类适应剪枝因子 开始的阈值 分类字符片段垃圾确定性阈值-3将看起来不像完整字符的片段从训练和适应过程中排除。 斑点大尺寸0.3最大大斑点尺寸 斑点评级惩罚10噪音处罚将加到最差评级上。 x高度惩罚下标0.125如果单词中有下标或上标,则加罚分(0.1 = 10%),否则没问题。 x高度惩罚不一致0.25如果 x 高度不一致,则加罚分(0.1 = 10%)。 词段惩罚字典_词频1对于大小写匹配良好且在给定语言中频繁出现的单词,得分倍数(越低越好)。 segment_penalty_dict_case_ok1.1区分大小写的单词匹配得分倍数(数值越低越好)。 segment_penalty_dict_case_bad1.3125单词匹配的默认得分倍数,可能存在大小写问题(数值越低越好)。 segment_penalty_dict_nonword1.25对于与字典词不匹配的字形片段分割结果,得分倍数(数值越低越好)。 段惩罚垃圾1.5对于大小写错误、不在字典中且看起来像垃圾的字符串,得分倍数(越低越好)。 确定性规模20确定性缩放因子 stopper_nondict_certainty_base-2.5非词典词的确定性阈值 stopper_phase2_certainty_rejection_offset1拒绝确定性补偿 stopper_certainty_per_char-0.5确定要为字典中每个大于小单词长度的字符添加内容。 stopper_allowable_character_badness3一个词中允许的最大确定性变化(以西格玛为单位) doc_dict_pending_threshold0使用待定字典的最差确定性 doc_dict_certainty_threshold-2.25可插入文档词典的词语的最差确定性 tessedit_certainty_threshold-2.25良好的斑点限制 分割旋钮0.5分体式长度调节 切重叠旋钮0.9分割重叠调整 切碎中心旋钮0.15分体式中心调节 切碎/锋利度旋钮0.06分割锐度调整 切宽调整旋钮5宽度变化调整 分割100OK 分割限制 切碎好_分裂50良好的分摊限额 segsearch_max_char_wh_ratio2最大字符宽高比 常见问题解答 如何使用 C# 中的 OCR 将图像转换为文本? 您可以通过使用 IronOCR 库中的 IronTesseract 在 C# 中将图像转换为文本。首先,通过 NuGet 安装库,创建一个 IronTesseract 实例,并使用 Read 方法处理图像并提取文本。 如何在 C# 中配置 OCR 的语言设置? 在 IronTesseract 中,您可以通过配置 Language 属性来设置 OCR 处理的语言。这可以让您指定图像中文本所写的语言,从而提高准确性。 IronTesseract 是否能够同时处理文本提取和条形码读取? 是的,IronTesseract 可以同时处理文本提取和条形码读取。您可以通过设置 Configuration.ReadBarcodes 属性为 true 来启用条形码读取,从而允许 OCR 引擎从扫描的图像中读取条形码。 在 C# OCR 中,Tesseract 配置变量有什么用途? IronTesseract 中的 Tesseract 配置变量用于微调 OCR 过程。开发人员可以使用 IronOcr.TesseractConfiguration 类来调整设置,例如字符白名单、黑名单和其他处理参数。 如何在 OCR 处理中允许字符白名单? 要在 IronTesseract 的 OCR 处理中允许字符白名单,您可以设置 Configuration.WhiteListCharacters 属性,仅包含您希望识别的字符,从而提高特定任务的 OCR 准确性。 如何解决 C# 中常见的 OCR 问题? C# 中的 IronTesseract 常见 OCR 问题可通过调整配置、确保语言设置和图像质量解决,使用 Configuration 属性可优化结果。 在哪里可以找到 IronOCR 中 Tesseract 配置变量的文档? IronOCR 中 Tesseract 配置变量的文档可以在 IronOcr.TesseractConfiguration 类文档中找到。它提供了变量列表、默认值及其功能的说明。 如何在 C# 中将 OCR 结果保存为可搜索的 PDF? 您可以在 C# 中使用 IronTesseract,通过在使用 OCR 引擎处理图像后利用 SaveAsSearchablePdf 方法来将 OCR 结果保存为可搜索的 PDF,从而在 PDF 内轻松进行文本搜索。 使用 IronTesseract 进行 .NET OCR 任务有什么好处? IronTesseract 为 .NET OCR 任务提供了许多好处,包括简化的 API、多语言支持、条形码读取能力和广泛的配置选项,以根据特定需求调整 OCR 过程。 Curtis Chau 立即与工程团队聊天 技术作家 Curtis Chau 拥有卡尔顿大学的计算机科学学士学位,专注于前端开发,精通 Node.js、TypeScript、JavaScript 和 React。他热衷于打造直观且美观的用户界面,喜欢使用现代框架并创建结构良好、视觉吸引力强的手册。除了开发之外,Curtis 对物联网 (IoT) 有浓厚的兴趣,探索将硬件和软件集成的新方法。在空闲时间,他喜欢玩游戏和构建 Discord 机器人,将他对技术的热爱与创造力相结合。 审核者 Jeffrey T. Fritz 首席项目经理 - .NET 社区团队 Jeff 也是 .NET 和 Visual Studio 团队的首席项目经理。他是 .NET Conf 虚拟会议系列的执行制片人,并主持“Fritz and Friends”直播节目,每周两次与观众一起谈论技术并编写代码。Jeff 撰写研讨会、演示文稿并计划包括 Microsoft Build、Microsoft Ignite、.NET Conf 和 Microsoft MVP 峰会在内的最大型微软开发者活动的内容。 准备开始了吗? Nuget 下载 5,167,857 | Version: 2025.11 刚刚发布 免费 NuGet 下载 总下载量:5,167,857 查看许可证