以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  关于读取PDF文件的问题2  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=194515)

--  作者:hongye
--  发布时间:2024/12/18 12:29:00
--  关于读取PDF文件的问题2
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:问题代码.txt

这个是我写的PDF读取的代码


图片点击可在新窗口打开查看此主题相关图片如下:提问图片1.jpg
图片点击可在新窗口打开查看


我想把图片中圈出的文本变成一行(如下图所示)请问怎么写这个代码


图片点击可在新窗口打开查看此主题相关图片如下:提问图片2.jpg
图片点击可在新窗口打开查看




--  作者:碾作尘
--  发布时间:2024/12/18 13:51:00
--  
告诉你一个比较沮丧的事,你这种做法并不好,可能你能识别处理某个指定的发票,可是发票有很多种,每个省生成的电子发票格式都未必一致,而想通过文本来处理、识别的话,用过一段时间你就会发现有不兼容的电子发票出现。
我也做了一个识别电子发票的功能,但是只能保证主要信息的正确。电子发票的明细识别有一些场景会出现误差(重复)。
我的做法是通过电子发票中的二维码识别来获得发票的主要信息,其他信息通过文本来获取验证与补充。(电子发票主要三种格式PDF\\XML\\OFD格式都可以支持)
图片点击可在新窗口打开查看

--  作者:有点蓝
--  发布时间:2024/12/18 14:07:00
--  
试试把回车和括号一起替换掉,大概

dim s as string = "解析出来的文本"
s = s.replace(vbcrlf & "(","(").replace(")" & vbcrlf,")")

--  作者:hongye
--  发布时间:2024/12/18 14:37:00
--  
dim s as string = "解析出来的文本"
s = s.replace(vbcrlf & "(","(").replace(")" & vbcrlf,")")
这个不行,首先并不知道是什么字符后或前换行,第二点有时是三行怎么办?

二楼的碾作尘可以分享一下你做识别发票的经验和代码吗?

--  作者:有点蓝
--  发布时间:2024/12/18 14:40:00
--  
没有规律的东西无法使用代码控制
--  作者:hongye
--  发布时间:2024/12/18 15:03:00
--  
规律其实也有,就是vbcrlf &“*”,到下一组vbcrlf &“*”,常规发票就是8列数据,由空格隔开的
也就是有几个vbcrlf &“*”,就有几行数据
[此贴子已经被作者于2024/12/18 15:05:11编辑过]

--  作者:有点蓝
--  发布时间:2024/12/18 15:06:00
--  
那就搜索*号,把2个*号之间的回车符去掉:IndexOfSubStringhttp://www.foxtable.com/webhelp/topics/1338.htm
--  作者:hongye
--  发布时间:2024/12/18 15:09:00
--  
不会,写一个例子看看吧
--  作者:有点蓝
--  发布时间:2024/12/18 15:19:00
--  
不对,1楼字符里服装前后都有*号,如果【服装】这2个字不是固定的,这种仍然不属于有规律
--  作者:hongye
--  发布时间:2024/12/18 16:57:00
--  
唯一算规律的只有vbcrlf &“*”和这个后7个空格