鄭海燕,吳為團(tuán)
(海軍航空工程學(xué)院青島校區(qū),山東 青島 266041)
基于Delphi平臺(tái)的機(jī)務(wù)工作文件檢索系統(tǒng)開發(fā)與研制
鄭海燕,吳為團(tuán)
(海軍航空工程學(xué)院青島校區(qū),山東 青島 266041)
本系統(tǒng)采用Delphi程序開發(fā)平臺(tái),嵌入CAJViewer和Adobe Reader插件作為PDF閱讀器和OCR文字識(shí)別工具,使用Access作為文件目錄信息數(shù)據(jù)庫文件,對(duì)歷年來的機(jī)務(wù)工作文件進(jìn)行電子化管理,旨在提高機(jī)務(wù)工作文件管理水平。
機(jī)務(wù)文件;Delphi;文件檢索;文字識(shí)別
機(jī)務(wù)工作文件主要包括技術(shù)通報(bào)、通知、規(guī)定等技術(shù)類法規(guī)文件,實(shí)現(xiàn)機(jī)務(wù)工作文件的電子化和自動(dòng)化管理,可從根本上解決目前技術(shù)通報(bào)使用不夠規(guī)范、管理手段落后、檢索查詢煩瑣、使用效率不高等問題,提高機(jī)務(wù)工作文件的管理水平和裝備維修保障能力,推進(jìn)部隊(duì)信息化工作的進(jìn)程。
1.1 機(jī)務(wù)工作文件的電子化處理
往年的機(jī)務(wù)工作文件大多以紙介質(zhì)形式保存和管理,本系統(tǒng)的首要工作就是將這些大量的紙介質(zhì)文檔收集整理后通過掃描、識(shí)別、校審和修正后轉(zhuǎn)換為文字和數(shù)字圖表,形成規(guī)范的電子文檔。
1.2 機(jī)務(wù)工作文件數(shù)據(jù)庫的建立
機(jī)務(wù)工作文件數(shù)據(jù)庫不僅要將歷年的機(jī)務(wù)工作文件管理起來,更要為今后機(jī)務(wù)工作文件的錄入提供方便的手段和操作平臺(tái),要保證在日常工作中能夠方便地添加新的機(jī)務(wù)工作文件。數(shù)據(jù)庫內(nèi)容主要包括機(jī)務(wù)工作文件類型、時(shí)間、發(fā)文單位、字號(hào)、專業(yè)、機(jī)種、機(jī)型和文件具體內(nèi)容等。
1.3 文件檢索軟件系統(tǒng)開發(fā)
“機(jī)務(wù)工作文件檢索系統(tǒng)”的功能主要體現(xiàn)在軟件系統(tǒng)的設(shè)計(jì)和實(shí)現(xiàn)上,通過軟件系統(tǒng)對(duì)電子化的文件實(shí)施科學(xué)管理和有效使用,其中檢索、閱讀功能是核心,必須做到簡便、靈活、準(zhǔn)確、可靠。
機(jī)務(wù)工作文件的管理和有效使用是系統(tǒng)研制的主要目的,系統(tǒng)在性能上應(yīng)具有實(shí)用性、安全保密性、先進(jìn)性、可維護(hù)性和可擴(kuò)充性,同時(shí)注意美觀性和操作使用的簡捷方便,提高系統(tǒng)使用壽命。
機(jī)務(wù)工作文件檢索系統(tǒng)功能包括:
(1)機(jī)務(wù)工作文件的采集錄入、修改;
(2)文件發(fā)布和分類瀏覽;
(3)按文件名稱、日期、機(jī)型、專業(yè)等按關(guān)鍵字進(jìn)行檢索;
(4)文件閱讀、文字識(shí)別和摘錄等。檢索軟件系統(tǒng)的模塊設(shè)計(jì)如圖1所示。
圖1 系統(tǒng)功能結(jié)構(gòu)圖
“系統(tǒng)管理”模塊:主要包括密碼的管理和重新登陸等;
“文件檢索”模塊:系統(tǒng)的核心模塊,主要包括文件的檢索和閱讀,以及同義詞設(shè)置等。其中文件的閱讀包括瀏覽窗口的任意調(diào)整、文字放大縮小、文字圖像提取和文字識(shí)別、頁面打印和導(dǎo)出等;
“文件管理”模塊:主要包括文件匯編的信息、文件目錄信息和字典信息等管理功能;
“使用幫助”模塊:主要提供系統(tǒng)的操作使用說明等。
3.1 系統(tǒng)開發(fā)工具
3.1.1 電子化處理工具
2000年前機(jī)務(wù)工作文件均為紙質(zhì)文檔,需要通過逐頁掃描等方式生成PDF格式文件。其中Adobe Acrobat 8.0以上工具是較為常用的PDF編輯軟件,可以將同一匯編的各頁掃描文件進(jìn)行合并、優(yōu)化等處理。2001年之后的機(jī)務(wù)工作文件匯編有word格式文件,可利用word和Adobe Acrobat相結(jié)合,或用文電通PDF Gold(編輯轉(zhuǎn)換器) V9.51直接轉(zhuǎn)換為PDF格式。
3.1.2 檢索軟件開發(fā)平臺(tái)
考慮到部隊(duì)當(dāng)前網(wǎng)絡(luò)使用還受到很多限制以及保密工作需要等方面的因素,本系統(tǒng)設(shè)計(jì)主要以滿足分散使用的要求并兼顧未來網(wǎng)絡(luò)使用的可能,因此,系統(tǒng)設(shè)計(jì)采用c/s結(jié)構(gòu)的方式,為簡便安裝,使用Access作為文件目錄信息數(shù)據(jù)庫文件。軟件工具采用Delphi7.0作為程序開發(fā)平臺(tái)。
3.1.3 文件閱讀器和文字識(shí)別工具
本系統(tǒng)將同方知網(wǎng)CAJViewer7.1.2的CAJAX. OCX插件作為PDF閱讀器和OCR文字識(shí)別工具,直接嵌入到應(yīng)用程序中,除了可以對(duì)由Word轉(zhuǎn)換而來的文本進(jìn)行直接提取外,還可以對(duì)通過掃描生成的PDF中的文字進(jìn)行自動(dòng)識(shí)別。系統(tǒng)附帶提供嵌入式Adobe Reader作為備選閱讀器。
3.2 功能設(shè)計(jì)
系統(tǒng)功能的實(shí)現(xiàn)主要體現(xiàn)在“文件檢索”和“文件管理”模塊。其中,“文件檢索”模塊是核心,主要功能包括:單個(gè)和多個(gè)關(guān)鍵詞(含同義詞)檢索、二次檢索、文件閱覽、文字圖像提取、文字識(shí)別、目錄導(dǎo)出等。
3.2.1 文件檢索與二次檢索
系統(tǒng)檢索可以按某個(gè)數(shù)據(jù)項(xiàng)檢索,也可以混合模糊檢索,還可以重復(fù)二次檢索和退回上次檢索,同時(shí)提供有同義詞檢索功能。
在“文件范圍”中選擇“全部”或某個(gè)匯編,再在“搜索關(guān)鍵詞”中輸入某關(guān)鍵詞等,點(diǎn)擊“搜索”按鈕即可對(duì)目錄信息進(jìn)行檢索。若點(diǎn)擊“結(jié)果中搜索”按鈕,則在上次檢索結(jié)果范圍內(nèi)按新的條件進(jìn)行二次檢索,而若點(diǎn)擊“高級(jí)搜索”則可以設(shè)置其它限定條件。
3.2.2 文件瀏覽
雙擊文件目錄列表中某目錄行,將自動(dòng)打開匯編并跳轉(zhuǎn)到對(duì)應(yīng)的文件頁。若選中“目錄跟隨”,則當(dāng)文件瀏覽頁面翻頁時(shí),目錄指針將自動(dòng)隨之定位。
文件瀏覽工具欄包括:瀏覽導(dǎo)航工具、放大縮小工具、顯示模式選擇等。
3.2.3 文字提取
2001年之后的文檔是由Word轉(zhuǎn)換為PDF格式的,兩種閱讀器均提供有T工具,可以直接選擇其中的段落文字,然后復(fù)制到剪貼板,粘貼到Word中進(jìn)行編輯使用。
3.2.4 文字識(shí)別
使用CAJViewer閱讀器時(shí),利用文件閱讀工具欄中的文字選擇、文字識(shí)別、圖像處理工具可以提取文件中的文字或圖像等,并可將其復(fù)制到word文檔中進(jìn)行再處理。
3.2.5 提取打印頁面
點(diǎn)擊文件瀏覽工具欄右上角的提取打印工具,即可打開“打印”對(duì)話框。若只是提取頁面另存為PDF文件,則先選擇打印機(jī)名稱為“Adobe PDF”,然后在“打印范圍”中指定擬提取的頁號(hào)(單頁或多頁。注意是PDF文件頁號(hào),而不是頁面下方的頁碼)。如圖2所示。
圖2 提取/打印頁面操作
點(diǎn)擊“確定”,然后指定保存位置和保存文件名即可。
3.2.6 目錄導(dǎo)出
在檢索出的目錄列表右上角,點(diǎn)擊“導(dǎo)出”按鈕,可以將當(dāng)前列表中的所有目錄信息導(dǎo)出為Excel格式的文件并保存到指定位置。
3.3 關(guān)鍵技術(shù)
“機(jī)務(wù)工作文件檢索系統(tǒng)”的關(guān)鍵技術(shù)主要是動(dòng)態(tài)嵌入技術(shù)。將Adobe Reader和Cajviwer閱讀器嵌入系統(tǒng),并進(jìn)行自定義控制和實(shí)現(xiàn)無縫連接。
3.3.1 動(dòng)態(tài)嵌入第三方軟件
Adobe Reader和Cajviwer提供的嵌入式控件文件分別是AcroPDF.dll和CAJAX.ocx及其附屬文件等。為了能夠適應(yīng)不同版本的使用,這里采用動(dòng)態(tài)嵌入的方法,在程序啟動(dòng)后調(diào)用創(chuàng)建,而不是在程序設(shè)計(jì)階段創(chuàng)建,相關(guān)代碼如下:
AcroPDF1 := TAcroPDF.Create(nil) ;
圖3
圖4
(AcroPDF1 as TAcroPDF).parent:=PviewAdobe;
(AcroPDF1 as TAcroPDF).aLign:=alClient;
PviewAdobe.Align:=alClient;
(AcroPDF1 as TAcroPDF).SendToBack;…
CAJAX1 := TCAJAX.Create(nil) ;
(CAJAX1 as TCAJAX).parent :=PCAJAX;
(CAJAX1 as TCAJAX).aLign:=alClient;
(CAJAX1 as TCAJAX).OnMouseMove := CAJAX1MouseMove;
(CAJAX1 as TCAJAX).OnMouseUp := CAJAX1MouseUp;
(CAJAX1 as TCAJAX).OnMouseWheel := CAJAX1MouseWheel;
(CAJAX1 as TCAJAX).SendToBack;
以上代碼若執(zhí)行成功,則表示相應(yīng)的瀏覽器已安裝,否則沒有安裝,在錯(cuò)誤捕獲代碼中可視情給出提示。
3.3.2 自定義工具欄設(shè)計(jì)
該檢索系統(tǒng)使用時(shí)需要對(duì)瀏覽器的控制操作主要有:打開文件、翻頁、跳轉(zhuǎn)、顯示比例、顯示模式、區(qū)域選擇、文字選擇、文字識(shí)別、頁面提取/打印等,這些可通過在程序中使用控件的方法或?qū)傩栽O(shè)置進(jìn)行控制。
Adobe Reader ActiveX控件的常用方法有:
LoadFile:打開文件
GotoFirstPage:到第一頁。
GotoLastPage:到最后一頁。
GotoNextPape:到下一頁。
GotoPriciousPape:到上一頁。
Print:打印文件。
PrintPages:打印指定頁。帶2個(gè)參數(shù),第一個(gè)參數(shù)指定起始頁,第一個(gè)參數(shù)指定結(jié)束頁。
PrintWithDialog:打印文件前先顯示打印機(jī)屬性對(duì)話框。
SetCurrentpage:到指定頁。帶一個(gè)參數(shù),該參數(shù)指定要跳轉(zhuǎn)到的頁數(shù)。
SetShowScrollBars:設(shè)置是否顯示Acrobat Reader的滾動(dòng)條。帶一個(gè)參數(shù),該參數(shù)設(shè)為0時(shí)不顯示滾動(dòng)條,設(shè)為1時(shí)顯示滾動(dòng)條。
SetShowTOolbar:設(shè)置是否顯示 Acrobat Reader的工具欄。帶一個(gè)參數(shù),該參數(shù)設(shè)為0時(shí)不顯示,設(shè)為1時(shí)顯示。
SetView:設(shè)置顯示效果。帶一個(gè)參數(shù),該參數(shù)是一個(gè)字符串,設(shè)為fit時(shí)將達(dá)到最佳顯示效果。
SetZoom:設(shè)置文件的顯示比例。帶一個(gè)參數(shù),該值為一個(gè)數(shù)值,比如設(shè)為90時(shí),即為原窗口大小的90%。
由于Adobe Reader ActiveX控件顯示時(shí)已包含有基本的工具欄,這里只添加“打印/提取頁面”工具(圖3)。
Cajviwer控件(CAJAX.ocx)常用方法和屬性有:
Open:打開文件。
Close:關(guān)閉打開的文件。
TurnToPage:到指定頁。
GetCurPage:當(dāng)前頁碼。
GetPageCount:總頁數(shù)。
CursorType:置鼠標(biāo)操作類型,0-手型工具1-選擇文字 2-選擇區(qū)域 3-文字識(shí)別。
SetPageBrowseType:置顯示模式,0-單頁 1-連續(xù) 2-對(duì)開 3-連續(xù)對(duì)開。
Ocr:對(duì)選擇區(qū)域進(jìn)行文字識(shí)別。
Copy:復(fù)制當(dāng)前選擇區(qū)域到剪切板。
Zoom:設(shè)置文件自適應(yīng)顯示。1-實(shí)際大小 2-適合寬度 3-適合頁面。
ZoomRatio:設(shè)置文件的顯示比例。
Print:打印文件。
據(jù)此可以設(shè)計(jì)Cajviwer瀏覽器的自定義工具欄如圖4。
如文字識(shí)別工具的事件處理代碼為:
(CAJAX1 as TCAJAX).CursorType := 3 ;
置適合寬度顯示工具的事件處理代碼為:
(CAJAX1 as TCAJAX).Zoom(2,0) ;
選擇圖像的復(fù)制工具事件處理代碼為:
(CAJAX1 as TCAJAX).Copy ;
經(jīng)過兩年多的實(shí)際使用,該系統(tǒng)提升了機(jī)務(wù)工作文件的管理水平,有利于日常機(jī)務(wù)工作快速準(zhǔn)確地掌握每架飛機(jī)的配置、固有技術(shù)性能和技術(shù)數(shù)據(jù)變更情況等,為保障維護(hù)和改裝等工作提供了第一手資料,提高了裝備維修質(zhì)量和維護(hù)效益。
TP311.13;U269.2
A
1671-0711(2017)04(下)-0146-03