我正在使用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 y高度为58,而span_2的bbox高度为49(没有下行符),span_3的bbox x-width为60,表示文本已旋转。但是,bbox本身不足以准确定位文本或确定文本方向。
我想使用Tess4J并使用任何可以获得这些属性的API。
如果有人已经从Tess4J写过SVG输出,我将不胜感激。 (我的任何代码都是F / OSS)。
答案 0 :(得分:4)
默认情况下,字体信息不包含在hOCR输出中,但如果需要,它可用。您可以通过将以下行添加到lib.mainmenu = HMENU
...{
1 = TMENU
...
2 = TMENU
} # so just two levels
lib.tempmenu <. lib.mainmenu # just save your menu
[PIDinRootline = xxx]
#or [globalVar = TSFE:id=xxx]
lib.mainmenu <. lib.tempmenu
lib.mainmenu.3 = TMENU # just add 3d submenu. Prev menu haven't it
[global]
配置文件(或您正在使用的配置文件中)来启用它:
hocr
也可以在命令行上使用相同的配置变量(或者,可能是通过Tess4J包装器)。
启用此功能后,字体名称和大小将包含在输出中,例如
hocr_font_info 1
<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>
是字体名称Courier_New
x_font
是以磅为单位的字体大小,即9
字体名称以及x_fsize
和<strong>
标记都会显示粗体和斜体。