亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        超聲探頭校準(zhǔn)中信息管理自動(dòng)化的研究

        2015-01-29 02:57:56孫景峰劉慧英唐瑞琨
        電子設(shè)計(jì)工程 2015年13期
        關(guān)鍵詞:光標(biāo)書簽調(diào)用

        孫景峰,劉慧英,周 新,唐瑞琨,紀(jì) 超

        (西北工業(yè)大學(xué) 陜西 西安 710072)

        計(jì)量工作的最后要根據(jù)檢定數(shù)據(jù)出具檢定證書,該證書格式相對(duì)固定,只是其中的數(shù)據(jù)、圖表等不同,對(duì)于重復(fù)性的檢定工作,每次手工編寫證書,既浪費(fèi)時(shí)間又容易出錯(cuò)。因此,自動(dòng)生成規(guī)范準(zhǔn)確的Word證書具有重要的應(yīng)用價(jià)值。鑒于檢定證書的特殊性,未經(jīng)允許不得部分復(fù)制,若將可編輯的Word文檔轉(zhuǎn)換成圖片格式,既方便查看又可避免隨意更改。概述Word自動(dòng)化原理的基礎(chǔ)之上,在Visual C++2008平臺(tái)下,導(dǎo)入Word 2010的類庫,在程序中調(diào)用OLE自動(dòng)化對(duì)象的方法來改變其屬性以完成對(duì)Word文檔的自動(dòng)化操作。

        采用文檔模板技術(shù),避免了反復(fù)執(zhí)行相同操作;綜合運(yùn)用書簽定位和光標(biāo)跳轉(zhuǎn)等方法,實(shí)現(xiàn)圖表、文字并茂的規(guī)范檢定證書的自動(dòng)生成,減少了錯(cuò)誤率并有效地提高了工作效率。同時(shí)利用Microsoft Office提供的虛擬打印機(jī)組件,將Word文檔轉(zhuǎn)換為TIFF或JPEG等圖片格式,實(shí)現(xiàn)了文檔批量圖片化。

        1 Word自動(dòng)化原理概述

        1.1 OLE自動(dòng)化

        OLE(Object Linking and Embedding,對(duì)象鏈接與嵌入)自動(dòng)化是Windows應(yīng)用程序操縱另一個(gè)程序的一種機(jī)制。該技術(shù)允許在一個(gè)程序的內(nèi)部操控另一個(gè)程序所提供的對(duì)象,被操控的一端稱為自動(dòng)化服務(wù)器或自動(dòng)化對(duì)象,操控的一端稱為自動(dòng)化控制器或自動(dòng)化客戶端。自動(dòng)化服務(wù)器是一個(gè)擁有IDispatch接口的特殊組件,自動(dòng)化控制器通過IDispatch接口可以調(diào)用自動(dòng)化對(duì)象的所有方法和屬性。以Microsoft Word為例,其自動(dòng)化模型可簡(jiǎn)化為如圖1所示。

        圖1 Word自動(dòng)化模型Fig.1 Model of word automation

        1.2 MFC對(duì)自動(dòng)化對(duì)象的支持

        自動(dòng)化技術(shù)有自己的一套數(shù)據(jù)類型,在使用自動(dòng)化對(duì)象時(shí)必須使用自動(dòng)化兼容的數(shù)據(jù)類型[1-2]。自動(dòng)化對(duì)象使用的基本數(shù)據(jù)類型為VARIANT結(jié)構(gòu)類型,該結(jié)構(gòu)包含兩個(gè)有意義的域:一是數(shù)據(jù)的確切類型,二是具體數(shù)據(jù)或數(shù)據(jù)指針。MFC對(duì)VARIANT數(shù)據(jù)類型進(jìn)行封裝提供了COleVariant類。對(duì)于每一個(gè)自動(dòng)化兼容的數(shù)據(jù)類型,COleVariant類都有相應(yīng)的構(gòu)造函數(shù)。需要引起注意的是在使用COleVariant類時(shí)[3],很多方法的參數(shù)為可選,但不能為空,此時(shí)可使用如下的COleVariant對(duì)象:

        COleVariant covOptional((long)DISP_E_PARAMNOTFOUND,VT_ERROR);

        這個(gè)對(duì)象的值的確切類型為VT_ERROR,具體值為DISP_E_PARAMNOTFOUND,即被標(biāo)記為可選參數(shù)。更重要的是,MFC也對(duì)自動(dòng)化服務(wù)器的IDispatch接口進(jìn)行了封裝,提供了COleDispatchDriver類來處理該接口。編程者只需要定義COleDispatchDriver子類的對(duì)象,然后訪問該對(duì)象的成員函數(shù),改變對(duì)象的屬性即可完成自動(dòng)化操作。MFC庫封裝了所有自動(dòng)化對(duì)象所必需的一些代碼,編程者只需把注意力集中在對(duì)象的方法和屬性上面,不必過多關(guān)注自動(dòng)化對(duì)象的參數(shù)處理以及調(diào)用傳遞過程。

        2 Word自動(dòng)化功能的實(shí)現(xiàn)

        2.1 Word中的自動(dòng)化對(duì)象

        Word本身提供了對(duì)象庫(Object Library)文件,在Visual C++2008下,導(dǎo)入Word 2010安裝路徑下的類庫MSWORD.OLB,使之成為VC中可用的類文件,在程序中即可調(diào)用Word中相應(yīng)的OLE對(duì)象,如Application對(duì)象、Documents對(duì)象等[4-6]。每一個(gè)對(duì)象都有自己的方法和屬性,都包含了Word的部分功能。事實(shí)上,對(duì)Word文檔的每一次可視操作都與修改對(duì)象有關(guān)。為了更有邏輯,更有層次地操作Word,Microsoft把應(yīng)用(Application)按邏輯功能劃分為如圖所示的樹形結(jié)構(gòu),構(gòu)成了Word對(duì)象模型。

        圖2 Word對(duì)象的層次結(jié)構(gòu)Fig.2 Hierarchy of word objects

        2.2 數(shù)據(jù)庫支持

        為了實(shí)現(xiàn)檢定數(shù)據(jù)信息的快速錄入,在后臺(tái)維護(hù)一個(gè)ADO數(shù)據(jù)庫,建立了檢定儀器表、制造單位表、檢定依據(jù)表及檢定員表等作為生成檢定證書的必要參數(shù),供生成證書時(shí)選擇,從而避免了每次手工輸入。文檔模板亦可視為數(shù)據(jù)庫的擴(kuò)展部分,在程序外部設(shè)計(jì)好文檔風(fēng)格,充分利用Word手工編輯證書的靈活性,減少代碼量,提高了執(zhí)行效率。

        2.3 證書生成實(shí)例

        以自動(dòng)生成證書部分為例,介紹在VC中Word的自動(dòng)化創(chuàng)建和數(shù)據(jù)填充功能的實(shí)現(xiàn)。實(shí)例的內(nèi)容來自于為某公司研發(fā)的超聲設(shè)備自動(dòng)檢定系統(tǒng),在檢定工作的最后,根據(jù)檢定數(shù)據(jù)出具檢定證書。其原理如圖3所示,以下將按照創(chuàng)建順序給出主要實(shí)現(xiàn)步驟。

        圖3 文檔自動(dòng)生成原理圖Fig.3 Schematic diagram of word automation

        2.3.1 創(chuàng)建工程,引入類庫

        創(chuàng)建一個(gè)基于對(duì)話框的工程,在工程中導(dǎo)入Word類型庫,根據(jù)需要添加相應(yīng)接口即生成對(duì)應(yīng)的類,如CApplication類,CDocument0類,CSelection類,CBookmarks類等,再包含相關(guān)頭文件。

        2.3.2 初始化COM庫

        OLE自動(dòng)化技術(shù)建立在COM基礎(chǔ)之上,只是簡(jiǎn)化了COM的一些底層實(shí)現(xiàn)細(xì)節(jié)。因此,在項(xiàng)目的應(yīng)用程序類的InitInstance()成員函數(shù)中,調(diào)用AfxOleInit()函數(shù),完成COM初始化。

        2.3.3 創(chuàng)建Word服務(wù)并引用模板

        要操作Word,首先要?jiǎng)?chuàng)建Word服務(wù),之后再通過Add方法引用模板,即:

        wordDocs=wordApp.get_Documents();

        COleVariant WordTemplate=_T("D:\檢定證書_模板.dot");

        wordDoc=wordDocs.Add(&WordTemplate,covOptional,covOptional,covOptional);

        2.3.4 填寫內(nèi)容

        與手動(dòng)操作Word一樣,先要將光標(biāo)移動(dòng)到目標(biāo)位置,填寫的內(nèi)容才有意義。書簽定位法與光標(biāo)跳轉(zhuǎn)法相結(jié)合能達(dá)到理想的效果。此處以填寫表格內(nèi)容為例,首先用Selection對(duì)象的Goto()方法使光標(biāo)跳轉(zhuǎn)至指定書簽位置,然后采用光標(biāo)移動(dòng)的方法,完成表格內(nèi)容填寫工作[7]。

        wordSel=wordApp.get_Selection();

        wordSel.GoTo (COleVariant((short)wdGoToBookmark),COleVariant((short)0),COleVariant((short)0),

        COleVariant(_T("bk_SentBy"))); //轉(zhuǎn)到書簽處

        wordSel.TypeText(m_strSentBy);//填寫送檢單位名稱

        wordSel.MoveDown(COleVariant((short)wdLine),COleVariant((short)1),COleVariant((short)0));

        不論是文字錄入,表格填寫還是圖片的插入,都可以采用這種方法實(shí)現(xiàn)精準(zhǔn)定位。經(jīng)過以上步驟,即可自動(dòng)生成規(guī)范、美觀的證書文檔。

        2.3.5 運(yùn)行界面

        程序運(yùn)行界面如圖4所示。

        圖4 程序運(yùn)行界面Fig.4 Interface of the program

        3 文檔圖片化

        檢定證書具有法律效力,未經(jīng)書面許可不得部分復(fù)制。將Word版本證書轉(zhuǎn)換為圖片格式發(fā)布可以防止使用者輕易改變證書內(nèi)容,對(duì)版權(quán)保護(hù)起到積極作用。

        將Word文檔手動(dòng)轉(zhuǎn)換為圖片格式的方法較多。文獻(xiàn)[8]提出了一種在WPS文字中安裝“輸出為圖片格式”插件的方法,不適合MSWord環(huán)境;文獻(xiàn)[9]提出了在Word中將文本選擇性粘貼為增強(qiáng)型圖元文件的方法實(shí)現(xiàn)文檔圖片化,該法一次最多只能轉(zhuǎn)換一頁文檔;文獻(xiàn)[10]提出了借助于第三方虛擬打印技術(shù)將文檔轉(zhuǎn)換為圖片的方法,值得借鑒。綜合考慮兼容性、簡(jiǎn)便程度及能否批量轉(zhuǎn)換等因素,本文采取調(diào)用MS Office 2010提供的Microsoft Office Document Image Writer虛擬打印機(jī)的方法,將Word文檔批量轉(zhuǎn)換為TIFF或JEPG等格式的圖片文件。實(shí)現(xiàn)流程及核心代碼如下。

        圖5 文檔圖片化流程圖Fig.5 Flow chart of document imaging

        1)得到系統(tǒng)默認(rèn)打印機(jī)名稱并保存;

        PRINTDLG printDlg; //該結(jié)構(gòu)包含了打印對(duì)話框中的所有信息

        AfxGetApp()->GetPrinterDeviceDefaults(&printDlg);

        lpDevMode= (LPDEVMOD)::GlobalLock (printDlg.hDevMode);

        strDefualtDev=lpDevMode->dmDeviceName;

        2)設(shè)定新的默認(rèn)打印機(jī)

        ::SetDefaultPrinter(_T("Microsoft Office Document Image Writer"));

        3)取得默認(rèn)打印機(jī)的屬性,根據(jù)需要修改屬性,如打印分辨率、打印方向等;

        調(diào)用DocumentProperties()函數(shù)設(shè)置打印機(jī)屬性,并用API函數(shù)SetPrinter()使更改生效。

        4)打印到文件

        調(diào)用文檔的PrintOut方法,其中第一個(gè)參數(shù)設(shè)為False,表示非后臺(tái)打印,即使關(guān)閉word,打印也不會(huì)停止;第四個(gè)參數(shù)為保存路徑;第四個(gè)參數(shù)指定輸出文件的路徑和文件名;第十一個(gè)參數(shù)為True,表示打印到文件。

        5)還原默認(rèn)打印設(shè)備

        ::SetDefaultPrinter(strDefualtDev);

        6)退出 Word

        wordDoc.Close(covFalse,covOptional,covOptional);//關(guān)閉文檔,不保存

        wordApp.Quit(covOptional,covOptional,covOptional);//退出Word

        wordDoc.ReleaseDispatch();//斷開與Word服務(wù)器的關(guān)聯(lián)

        wordApp.ReleaseDispatch();

        上述方法實(shí)現(xiàn)了在不阻塞程序運(yùn)行的情況下,靜默地將Word文檔批量轉(zhuǎn)換為多張圖片并保存在一個(gè)圖像文件中,避免了對(duì)用戶的不良打擾,在保護(hù)證書版權(quán)的同時(shí),便于證書歸檔及查看。圖6為生成的圖片格式證書。為了保證插入文字后格式依然規(guī)整,圖4中“送檢單位”及以下各欄是由去掉邊框的表格構(gòu)成。

        圖6 圖片格式的檢定證書Fig.6 Image format of verification certificate

        4 結(jié)論

        本文在闡釋W(xué)ord自動(dòng)化編程原理的基礎(chǔ)上,例舉了一個(gè)在VC平臺(tái)下,基于OLE技術(shù)的應(yīng)用案例,展示了書簽定位與光標(biāo)跳轉(zhuǎn)技術(shù)在生成規(guī)范文檔上的靈活性;利用Office自帶的虛擬打印機(jī)組件,實(shí)現(xiàn)了不借助第三方軟件支持,將Word文檔批量轉(zhuǎn)換為圖片的功能,解決了工程實(shí)踐上的突出問題。本文對(duì)工程中的報(bào)表生成有很大的參考價(jià)值,同時(shí)為版權(quán)保護(hù)提供了一個(gè)簡(jiǎn)便高效的方法。

        [1]潘愛民.COM原理與應(yīng)用[M].北京:清華大學(xué)出版社,1999.

        [2]金良鋒,周文詳.WORD試驗(yàn)報(bào)告的自動(dòng)生成[J].中國測(cè)試技術(shù),2007,33(4):112-115.JIN Liang-feng,ZHOU Wen-xiang.Auto generation of experiment report in Word form[J].China Measurement Technology,2007,33(4):112-115.

        [3]徐格寧,馮曉蕾,陶元芳,等.基于COM+VC+Word技術(shù)的產(chǎn)品設(shè)計(jì)說明書自動(dòng)化研究[J].中國工程機(jī)械學(xué)報(bào)ISTIC,2009,7(3):294-299.XUGe-ning,FENGXiao-lei,TAOYuan-fang,et al.Automation on product design manual via COM,VC and Word[J].Chinese Journal of Construction Machiner,2009,7(3):294-299.

        [4]車曉波,王知學(xué),王磊.在實(shí)現(xiàn) Word自動(dòng)化操作中書簽的應(yīng)用[J].信息技術(shù),2013(8):148-150.CHE Xiao-bo,WANG Zhi-xue,WANG Lei.Application of bookmark in Word automatic opetation[J].Information Technology,2009,26(9):123-125.

        [5]陳特放,方斌.VC平臺(tái)下基于OLE的Word自動(dòng)化操作應(yīng)用[J].計(jì)算機(jī)應(yīng)用與軟件,2009,26(9):123-125.CHEN Te-fang,FANG Bin.Applying OLE-based word automation on VC platform[J].Computer Application and Software,2009,26(9):123-125.

        [6]熊瑜容,柴毅,王淑娟,等.基于VC++的WORD文檔自動(dòng)生成技術(shù)[J].計(jì)算機(jī)時(shí)代,2010(1):52-54.XIONGYu-rong,CHAI Yi,WANG Shu-juan,et va.Word document automatically generated technology based on VC++[J].Computer Era,2010(1):52-54.

        [7]劉春雷,吳重光.用 VC實(shí)現(xiàn) Word自動(dòng)化操作的研究與應(yīng)用[J].計(jì)算機(jī)工程與設(shè)計(jì),2004,25(9):1594-1596.LIU Chun-lei,WU Chong-guang.Study and realization of Word automation operation in VC[J].Computer Engineering and Design,2004,25(9):1594-1596.

        [8]劉長(zhǎng)德.文檔轉(zhuǎn)圖片,打印、保護(hù)兩相宜 [J].電腦愛好者,2010(3):16-16.LIU Chang-de.Document to image[J].Computer fans,2010(3):16-16.

        [9]長(zhǎng)江水.利用Word實(shí)現(xiàn)文檔轉(zhuǎn)圖片[J].電腦迷,2011(12):63-63.CHANGJiang-shui.Implementation of document transfer into pictures with Word[J].Computer Fans,2011(12):63-63.

        [10]王杰.將Word文檔“打印”為圖片[J].網(wǎng)友世界,2011(22):33-34.WANG Jie.Word document printed as a picture[J].Net world,2011(22):33-34.

        猜你喜歡
        光標(biāo)書簽調(diào)用
        透明書簽
        十一月書簽
        文苑·感悟(2019年11期)2019-12-05 02:50:31
        核電項(xiàng)目物項(xiàng)調(diào)用管理的應(yīng)用研究
        十一月書簽
        文苑(2019年21期)2019-11-04 09:16:40
        貳月書簽
        文苑·感悟(2019年2期)2019-02-18 02:10:40
        LabWindows/CVI下基于ActiveX技術(shù)的Excel調(diào)用
        基于系統(tǒng)調(diào)用的惡意軟件檢測(cè)技術(shù)研究
        Mac OS X系統(tǒng)中Delete刪除鍵的5種用法
        電腦迷(2015年4期)2015-05-30 10:48:04
        Mac OS X系統(tǒng)中Delete刪除鍵的5種用法
        電腦迷(2015年8期)2015-05-30 08:36:03
        Mac OS X系統(tǒng)中Delete刪除鍵的5種用法
        電腦迷(2015年10期)2015-04-29 15:14:20
        浪货趴办公桌~h揉秘书电影| 天堂av在线一区二区| 国产日产高清一区二区三区| 亚洲a无码综合a国产av中文| 好看的欧美熟妇www在线| 久久这里只有精品9| 91大神蜜桃视频在线观看| 水蜜桃精品视频在线观看| 久久久老熟女一区二区三区| 欧美自拍区| 亚洲av一二三又爽又爽又色| 久久婷婷综合激情五月| 偷偷色噜狠狠狠狠的777米奇| 久久精品片| 97中文字幕一区二区| 国产一区二区视频免费在线观看| 亚洲国产天堂一区二区三区| 久久综合成人网| 日本高清免费播放一区二区| 日本妇人成熟免费2020| 精品人妻人人做人人爽| 国产免费看网站v片不遮挡| 国产激情视频高清在线免费观看 | 国产爆乳无码一区二区麻豆 | 最新精品亚洲成a人在线观看| 国产一区二区三区免费小视频| 美女午夜福利视频网址| 国产无遮挡又黄又爽在线观看 | 欧美大屁股xxxxhd黑色| 欧美日韩性高爱潮视频| 美女一区二区三区在线视频| 伊甸园亚洲av久久精品| 亚洲成在人线av| 激情人妻中出中文字幕一区| 中文字幕女优av在线| 国产又爽又粗又猛的视频| 无码Av在线一区二区三区| 日本频道一区二区三区| 国产人妻熟女高跟丝袜图片| 午夜精品久久久| 在线亚洲精品一区二区三区|