我正在使用Tesseract (在windows上)从科学图表中提取文本,例如,有许多孤立的单词或数字,但没有句子或段落。然后将HTML转换为SVG。这很好,除了我不能
我可以从边框中得到一个粗略的字体大小,但这取决于字符是上升还是下降。因此,下面的所有行(在hOCR输出中)都具有相同的字体系列和大小:
<span class='ocrx_word' id='word_6' title="bbox 1177 491 1637 549">Herpetotherinae</span>
<span class='ocrx_word' id='word_13' title="bbox 1183 1179 1514 1228">Cathartidae</span>
<span class='ocrx_word' id='word_35' title="bbox 1847 1742 1907 2077">Accipitridae</span> span_1有一个下划线(以“p”为单位),bbox高度为58,而span_2的bbox高度为49 (无下降器),span_3的bbox宽度为60,显示文本是旋转的。然而,bbox本身并不足以准确定位文本或确定文本方向。
我想使用Tess4J,并使用任何会导致获取这些属性的API。
如果有人已经从Tess4J编写了SVG输出,我将不胜感激。(我的任何代码都是F/OSS)。
发布于 2016-02-15 17:24:33
默认情况下,字体信息不包括在hOCR输出中,但如果需要,它是可用的。您可以通过将以下行添加到hocr配置文件(或您使用的任何配置文件)来打开它:
hocr_font_info 1同样的配置变量也可以在命令行上使用(或者,大概是通过Tess4J包装器)。
打开后,输出中将包括字体名称和大小。
<span class='ocrx_word' id='word_3_21' title='bbox 946 1267 1121 1297; x_wconf 91; x_font Courier_New; x_fsize 9' dir='ltr'>without</span>x_font是字体名Courier_New x_fsize是以点9为单位的字体大小
粗体和斜体将在字体名称中以及通过使用<strong>和<em>标记来表示。
https://stackoverflow.com/questions/20016767
复制相似问题