趙 亮,張德林,童 強,徐文皓,趙新林
(1.烏魯木齊市科信恒達信息科技有限責任公司,新疆 烏魯木齊 830000;2.兵團科技發(fā)展促進中心)
近年來國家大力推動科技創(chuàng)新。各級科技部門不斷加大科研投入的規(guī)模和強度,項目數(shù)量持續(xù)增加。項目中的申報書、任務書、結(jié)題驗收材料、獎勵材料等,形成了數(shù)以萬計的檔案資料,其中保存著大量有價值的文字、圖表以及數(shù)據(jù)信息,這些數(shù)據(jù)信息是科技計劃項目管理的重要依據(jù),具有極高保存價值和分析、利用價值。這些資料以紙件、圖片、word等多種載體形式存放,由于紙質(zhì)資料的日積月累和保存不當、硬件設備老化,造成大量文檔資料遺失在繁雜工作中,是科技管理部門的重大損失。同時,在日??萍加媱澒芾砉ぷ髦?,存在著許多項目多頭申報、重復立項、經(jīng)費分布不均等情況,以人工記憶、手動篩查,無法實現(xiàn)準確有效的科學化管理。如果只是將檔案簡單的儲存為電子文件格式,無法解決上述問題,目前國內(nèi)使用OCR作為檔案數(shù)字化手段的機構(gòu)大多是使用需要下載或者安裝的掃描儀軟件、第三方掃描軟件等。這類軟件不但操作繁瑣,而且識別區(qū)域局限。這在對于用戶操作方面來說極為不便,因此通過互聯(lián)網(wǎng)和信息開發(fā)技術(shù)建立一種能在實現(xiàn)科技項目檔案數(shù)字化存儲,對項目基本信息進行采集和標準化的功能就迫在眉睫[1]。這種功能可以通過網(wǎng)頁快速、便捷地將各類項目文檔轉(zhuǎn)換為標準的數(shù)字化數(shù)據(jù),為科技管理部門后期檔案借閱管理、數(shù)據(jù)統(tǒng)計、查重分析等精準、高效的項目管理服務奠定基礎。
本文將介紹使用Vue框架、Vue -cropper插件、ElementUI框架、JavaScript語言、OCR接口、MySQL數(shù)據(jù)庫存儲等技術(shù),通過用戶上傳電子文檔附件完成紙質(zhì)科技計劃項目檔案數(shù)字化采集的過程。
我們設計將紙質(zhì)檔案采集功能封裝成一個獨立組件,在不同項目中均可調(diào)用,項目使用主流的漸進式Vue框架。它是一套構(gòu)建用戶界面的前端框架,Vue中兩個技術(shù)特點是紙質(zhì)檔案采集功能的核心部分:一是響應式數(shù)據(jù)綁定,當數(shù)據(jù)發(fā)生變化時,Vue自動更新視圖,它的原理是利用了Object.definedProperty中的setter/getter 代理數(shù)據(jù),監(jiān)控對數(shù)據(jù)的操作,即用戶無需刷新或跳轉(zhuǎn)即可及時獲取最新數(shù)據(jù);二是組合的視圖組件,每個UI頁面映射為組件樹,組件可獨立維護、可復用。
檔案數(shù)字化其中方法函數(shù)使用JavaScript進行編寫,JavaScript是一種可以被瀏覽器解析的解釋型腳本語言,常用來為網(wǎng)頁添加各式各樣的動態(tài)功能,通常JavaScript腳本是通過嵌入在HTML中來實現(xiàn)自身功能,為用戶提供更流暢美觀的瀏覽效果。
為提高產(chǎn)品設計效率以及交互效果,我們使用ElementUI作為UI框架。它是一套為開發(fā)者、設計師和產(chǎn)品經(jīng)理準備的基于Vue 2.0 的桌面端組件庫。它封裝了各種DOM組件,用其快速搭建頁面原型或高保真視覺稿。
紙質(zhì)檔案采集功能中選取識別區(qū)域使用Vuecropper截圖插件作為底層基礎,它是基于Vue的一個圖片剪裁插件,該插件支持圖片放大縮小,支持圖片旋轉(zhuǎn),支持觸摸屏設備,支持canvas,并且支持跨瀏覽器使用。其原理為形成裁剪區(qū)域,裁剪區(qū)域的大小和用戶鼠標移動的距離相關(guān)聯(lián)。獲取到裁剪區(qū)域后通過canvas繪制成圖片。
OCR接口用于經(jīng)費下達文件及檔案材料的掃描采集。表格OCR采用成熟的運營商接口,支持中英文圖片/PDF內(nèi)常規(guī)表格、無線表格、多表格的檢測和識別,支持日文有線表格識別,返回每個單元格的文字內(nèi)容,支持旋轉(zhuǎn)的表格圖片識別,且支持將識別結(jié)果保存為Excel 格式。圖片OCR采用成熟的運營商接口,可以識別中文、英文等20種語言,且各種語言均支持與英文混合的文字識別。適用于印刷文檔識別、網(wǎng)絡圖片識別、廣告圖文字識別、菜單識別、視頻標題識別、頭像文字識別等場景。
采集到的文檔數(shù)據(jù)及其他相關(guān)信息的存儲及讀取使用采用MySQL數(shù)據(jù)庫。MySQL是一款精巧且流行的關(guān)系型數(shù)據(jù)庫管理系統(tǒng),由于它的強大功能、靈活性、豐富的應用編程接口(API)以及成熟的系統(tǒng)結(jié)構(gòu),有著龐大的用戶數(shù)基礎,為建立基于數(shù)據(jù)庫的動態(tài)網(wǎng)站提供了強大動力。MySQL 主要目標是快速、健壯和易用,能夠提供多用戶、多線程SQL數(shù)據(jù)庫服務器,它所使用的SQL 語言是用于訪問數(shù)據(jù)庫的最流行的和最標準化的語言,使得存儲、更新和存取信息更容易。
科技項目紙質(zhì)檔案多為項目材料,含少量政策性文件。需提前人工掃描紙質(zhì)檔案,通過掃描設備轉(zhuǎn)換為PDF格式或者常用圖片格式(如JPG、PNG等)文件。再將文件通過平臺內(nèi)上傳功能發(fā)送至服務器,服務器獲取到文件后,分析文件類型調(diào)用不同的OCR接口,返回OCR識別后的數(shù)據(jù)至前端。再由前端渲染到網(wǎng)頁中,根據(jù)用戶操作,提交到服務器數(shù)據(jù)庫保存,目的是存儲電子檔案并將電子文檔中的數(shù)據(jù)采集提取后存儲至數(shù)據(jù)庫,生成完整電子和數(shù)字檔案。見圖1。
該組件集成了指定種類文件上傳、進度條、起止頁碼輸入框組功能。若用戶采集科技計劃項目的總條目,則需要上傳相應的經(jīng)費下達文件,因此我們設計由<el-up load >組件作為出發(fā)點,經(jīng)費下達文件一般為PDF格式包含該年度申報的所有項目,將accept設置為“.pdf”確保用戶只能上傳PDF文件。由于PDF文件大小、質(zhì)量不一致,導致上傳時間可能過長,為此加入頁碼輸入框組,包含起始頁碼和結(jié)束頁碼。用戶填寫需要識別的頁碼(即項目列表頁),上傳指定頁碼的文件到后端,進行OCR識別。此處通過頁碼控制對不需要的頁面進行忽略處理,大大減少了數(shù)據(jù)體積。上傳時為增加用戶體驗及防止用戶誤操作,增加了<el-progress >進度條。該組件目的是提供Excel轉(zhuǎn)Table組件功能的前置數(shù)據(jù)。
后端包括文件接收并保存、文檔類型轉(zhuǎn)換和OCR識別功能。
后端通過前端發(fā)出的API請求中傳遞的Form-Data對象獲取到上傳文件及起止頁碼;判斷傳入文件大小和類型是否符合要求,只有100 Mb以下的PDF文件才可以進入識別;因為對于圖片進行OCR識別后的結(jié)果更為精準有效,所以要將需要識別的非圖片文件轉(zhuǎn)換成圖片。將獲取的文件每頁進行拆分,調(diào)整分辨率和縮放比例,轉(zhuǎn)存成圖片格式;文檔拆分為圖片格式,如圖2。取得起止頁碼對應的圖片,進行OCR文字識別,將識別后結(jié)果返回至前端,進行處理或展示。
該組件集成表格展示、表單填寫提交、表格快速復制、ExcelBase64轉(zhuǎn)DOM功能。當后端將表格OCR轉(zhuǎn)換完成的數(shù)據(jù)返回至前端時,用戶需要一個頁面來瀏覽和操作該數(shù)據(jù)。后端返回數(shù)據(jù)格式為ExcelBase64,通過xlsx.js轉(zhuǎn)換成DOM字符串,我們使用Vue里的V-html方法將其渲染在<el-dialog >彈窗組件中。若數(shù)據(jù)為多頁,則通過JS中replace方法進行組合拼接后進行渲染。即用戶上傳完經(jīng)費下達文件點擊下一步,將彈出一個含有項目列表的表格彈窗。此時用戶需求為通過該表格創(chuàng)建相應項目文件夾。我們設計將<el-dialog >通過ElementUI中Layout 左右布局,左側(cè)為表格面板,右側(cè)為用戶輸入表單,即項目主要信息采集面板。采集信息均為經(jīng)費下達文件中包含項,例如:項目編號、項目名稱、主要承擔單位等。為了方便用戶操作,我們在Vue的Update生命周期中遍歷表格中<td >元素,并為其綁定樣式及點擊復制事件。用戶點擊單元格時,將該單元格中的文本數(shù)據(jù)復制到剪貼板并顯示提示信息。該事件調(diào)用Vue -clipboard2插件。該組件目的是為了通過經(jīng)費下達文件快速建立數(shù)字化的項目文檔列表。
Vue-cropper是一個開源截圖插件,由于地域、年份不同,項目附件格式并非統(tǒng)一,所以需要使用Vue-cropper用于截取需要的內(nèi)容進行OCR識別,我們在Vue-cropper中添加確定按鈕,按鈕隨拖動框移動,避免用戶找不到確定按鈕。其功能為點擊確定發(fā)送截取后的圖片至后端。同時也添加頁面跳轉(zhuǎn)輸入框及功能按鈕組,例如旋轉(zhuǎn)、放大縮小、上一頁下一頁等,便于用戶在該組件中對轉(zhuǎn)換為圖片的項目檔案進行翻頁操作。當后端返回截圖圖片識別結(jié)果后,添加一個彈框用于展示識別的截取圖片及轉(zhuǎn)換文字信息,上面附有復制按鈕。該組件目的是為通過項目附件快速提取數(shù)字化項目詳情信息數(shù)據(jù)。
科技計劃項目檔案數(shù)字化功能的設計目標就是針對現(xiàn)有科技項目紙質(zhì)文檔進行電子介質(zhì)轉(zhuǎn)化和儲存,形成電子檔案,以面向科技計劃管理和科技創(chuàng)新為需求導向,利用網(wǎng)絡信息技術(shù)手段,對科技項目電子檔案中的信息進行數(shù)字化采集和標準化處理,利用數(shù)據(jù)庫軟件存儲項目基本信息數(shù)據(jù)。而本文中所設計、論述的將Vue框架、Vue -cropper插件、JavaScript語言、OCR接口、MySQL數(shù)據(jù)存儲等技術(shù)組合的方法用于開發(fā)構(gòu)建的系統(tǒng)功能,通過研究、設計、實例開發(fā)和數(shù)據(jù)測試,得到驗證,確實可以高效、準確的解決科技項目檔案數(shù)字化采集難題,提高檔案采集效率,減輕檔案管理人員的工作壓力。
依托科技項目數(shù)字檔案的數(shù)據(jù)資源,通過數(shù)據(jù)標準化處理和儲存,在后續(xù)的數(shù)據(jù)的共享和利用中,可以無縫對接各類科技管理部門的業(yè)務系統(tǒng)和科技資源大數(shù)據(jù)云平臺,不僅可以實現(xiàn)各類科技信息數(shù)據(jù)的匯聚,進一步深度挖掘和分析科技數(shù)據(jù)資源,使科研人員能夠快捷的獲得科技項目資源統(tǒng)計、分析數(shù)據(jù),為科技管理部門的高效決策提供數(shù)據(jù)支撐和理論依據(jù);還可以實現(xiàn)檔案資源共享空間拓展,延伸擴充科技管理輔助服務的鏈路,提高科研管理部門、科技檔案管理部門和科技咨詢機構(gòu)的服務能力。