以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- [求助]使用office2007 OCR组件识别文字后的分段问题 (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=121070) |
||||
-- 作者:天一生水 -- 发布时间:2018/6/28 16:00:00 -- [求助]使用office2007 OCR组件识别文字后的分段问题 通过测试,发现直接运行Office2007 OCR 图文识别组件-- Microsoft Office Document Imaging进行文字识别后,结果中产生了分行符(软回车),如果把分行符替换为换行符(硬回车),那么就把识别的文字进行了分段。 请老师看一下第二段代码怎样修改? 谢谢! 图1,测试的原始图片:
1、foxtable运用的识别代码: Dim doc = CreateObject("MODI.Document")
2、识别后将软回车替换为硬回车vbcrlf? Dim str As String = layout.text Dim ary() = str.replace(chr(10), "").split(new Char() {chr(13),chr(11)}) \'清除段落空行
msgbox(?)
|
||||
-- 作者:有点甜 -- 发布时间:2018/6/28 17:21:00 -- 这个意思?改成
Dim ary() = str.split(new Char() {chr(13),chr(11),chr(10)}) \'清除段落空行 |
||||
-- 作者:jyh7081 -- 发布时间:2018/6/28 17:48:00 -- 两处显示的没变化。 还有解吗? Dim doc = CreateObject("MODI.Document") doc.Create("d:\\test.jpg") doc.OCR(2052, True, True) Dim layout = doc.images(0).Layout msgbox(layout.text) Dim str As String = layout.text Dim ary() = str.split(new Char() {chr(13),chr(11),chr(10)}) \'清除段落空行 Dim ls As new List(Of String) For Each s As String In ary If s.trim() > "" Then ls.add(s) End If msgbox(s) Next |
||||
-- 作者:有点甜 -- 发布时间:2018/6/28 18:02:00 -- 执行下面代码,软回车是什么字符?
Dim str As String \'= layout.text |
||||
-- 作者:天一生水 -- 发布时间:2018/6/28 18:31:00 -- 好像没有软回车,在图2的第二个软回车处显示32,不知是不是? [此贴子已经被作者于2018/6/28 18:33:08编辑过]
|
||||
-- 作者:有点甜 -- 发布时间:2018/6/28 22:21:00 -- 我这边测试不了。你执行这个获取到的数据是什么?
Dim doc = CreateObject("MODI.Document")
doc.Create("d:\\test.jpg") doc.OCR(2052, True, True) Dim layout = doc.images(0).Layout ClipBoard.SetText(layout.text) 得到的结果,粘贴到记事本或者word发上来看看。
|
||||
-- 作者:天一生水 -- 发布时间:2018/6/29 8:03:00 --
|
||||
-- 作者:有点甜 -- 发布时间:2018/6/29 9:06:00 -- 你给的结果没有回车或者特殊字符,无法分割的。 |