本人因作業需求,需要一個VB提取cad中文字的代碼程式。例如:CAD圖紙中不同位置處都有一行文字,假如有十行,我想利用VB提取一下這十行文字,而且提取出來之后的文字也有十行,順序無要求,只要能提取出來就行,跪求各路大神,膜拜你們ing!!!!
uj5u.com熱心網友回復:
建議你傳個樣本檔案來看看。
一個檔案樣本、應該提取出哪些內容。
uj5u.com熱心網友回復:
VB實作OCR文字識別
原理: 利用微軟OCR控制元件, 只需要不到10行代碼就能夠實作自已的OCR文字識別軟體.
1. 添加控制元件,需要安裝office2003, 沒有安裝office2003的可以從別人機子上拷貝相關檔案,注冊regsvr32.exe mdivwctl.dll,
控制元件一般在這個目錄下:C:\Program Files\Common Files\Microsoft Shared\MODI\11.0, 只需要相關的幾個檔案就可以了, 此檔案夾全部檔案大概在21M左右.
工程->部件->添加這個控制元件:Microsoft Office Document Imaging 11.0 Type Library
2.在按鈕的Click事件里:
Dim strLayoutInfo As String, strLPN As String
'初始化并加載檔案
Set miDoc = CreateObject("MODI.Document") '創建物件
miDoc.Create "D:\未命名.tif" '加載圖片檔案(必須是黑白二值圖)
Screen.MousePointer = vbHourglass '設定游標忙
'識別
miDoc.Images(0).OCR miLANG_CHINESE_SIMPLIFIED, True, True '有用的就此一句,識別為中文簡體
Set modiLayout = miDoc.Images(0).Layout '讀出資料
strLayoutInfo = _
"Language: " & modiLayout.Language & vbCrLf & _
"Number of characters: " & modiLayout.NumChars & vbCrLf & _
"Number of fonts: " & modiLayout.NumFonts & vbCrLf & _
"Number of words: " & modiLayout.NumWords & vbCrLf & _
"Beginning of text: " & Left(modiLayout.Text, 50) & vbCrLf & _
"First word of text: " & modiLayout.Words(0).Text
MsgBox strLayoutInfo, vbInformation + vbOKOnly, "Layout Information"
Set modiLayout = Nothing
Set miDoc = Nothing
Screen.MousePointer = vbDefault
3. OK了, 是不是很簡單
uj5u.com熱心網友回復:
cad應該集成了vba的吧,你去看看那個類,對于這樣的物件應該有個集合,直接遍歷下好了。類似于ppt的vba里面的shape轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/55850.html
標籤:網絡編程
上一篇:MSHFlexGrid顯示問題
