999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

一種基于PDF動態標注的遠程維修指導系統

2015-09-21 01:29:54婁景藝屈曉旭海軍工程大學電子工程學院湖北武漢430033
網絡安全與數據管理 2015年11期
關鍵詞:故障用戶

婁景藝,屈曉旭(海軍工程大學 電子工程學院,湖北 武漢 430033)

0 引言

目前,短波通信因其應用范圍廣、抗毀性強、通信距離遠(可全球通信)、運行成本低等特點,仍是船舶遠洋航行中不可或缺的通信手段[1]。依托短波通信系統構建基于計算機輔助協同工作(Computer Supported Cooperative Work,CSCW)[2-3]技術的遠程維修指導平臺,對于保持和提高船舶的持續運行能力具有顯著意義。但是,由于短波信道環境惡劣,短波通信帶寬一般較窄,在美國國防部最新提出的MIL-STD-188-141C短波組網協議中,最大信道帶寬也只有24 kHz[4],通常僅能支持話音和低速數據業務。現有基于語音的遠程維修指導方式主要存在以下兩方面問題:一是維修指導雙方難以快速準確地描述指示燈和故障模塊的位置、具體檢修的方法和位置、顯示的具體情況等輔助信息;二是通常短波語音通信可懂度低,維修指導過程開展困難。相比話音通信,短波低速數據通信的實時性稍差,但可靠性高。本文利用短波低速數據通信設備,基于PDF動態標注技術實現了一種窄帶通信條件下的所見即所得(What You See Is What You Get,WYSIWYG)的高效維修信息描述和傳遞手段。

1 平臺總體設計

維修指導過程中常見的信息包括故障位置、故障狀態、自檢結果、檢修位置等,在低通信帶寬條件下,將維修信息進行合理編碼能夠有效壓縮數據流量,提高遠程維修指導效率。維修信息編碼過程本質上是一種信源編碼過程,平臺針對維修交互信息的特點,利用模型基壓縮編碼理論對維修交互信息進行高碼率壓縮,有效降低了信息碼率。模型基信源編碼的基本思想是在收發信者之間共享信源模型,將信源產生的原始消息建模為某種激勵信號作用于信源模型,并在通信時僅傳輸此激勵信號。理論研究表明,如果信源模型構建合理,所提取的激勵信號碼率將遠低于原始消息碼率。

本系統中將維修現場的裝備相關信息(包括裝備內外部結構、組成、連接關系、工作狀態、維修手冊、電路圖冊等)建模為信源模型,并從收發雙方圍繞裝備展開的故障描述和維修指導信息中提取激勵信號。具體設計中采用PDF文檔承載信源模型,收發雙方保存相同PDF文檔庫,利用PDF標注技術描述激勵信號,使維修指導雙方可以高效準確地描述各類維修信息,保證了低信道帶寬條件下的維修信息交互效率。

遠程維修指導平臺依托普遍安裝的陸地和船舶通信設施實現,由陸地部分和海上部分兩部分組成,如圖1所示。陸地部分和海上部分內部都使用以太網作為網絡載體,二者之間經短波無線網關控制器利用短波數字通信設備互連互通。

圖1 平臺總體結構

廠家客戶端和船舶客戶端采用一致的架構設計。維修專家可利用PDF動態標注技術、實時VoIP語音和文本聊天等形式展開遠程維修指導。基于以太網絡的實時VoIP語音通信和文本聊天技術已很成熟,本文不再贅述。本文重點分析客戶端中PDF動態標注技術的實現,這也是平臺設計中的重點。

2 PDF動態標注技術的實現原理

便攜式文檔格式(PDF)是由 Adobe公司于 1993年開發出的一種文件格式,能容納電子表單、網頁、視頻、音頻、3D虛擬現實等豐富內容,便于集成各種媒體格式的維修資料。根據PDF文檔規范,一個PDF文檔(document)是由若干對象(object)組成的,這些對象共同組成了文檔的頁面(pages)。 PDF標注(annotation,也稱附注)是一類特殊的PDF對象。要對PDF標注進行動態控制,需要對PDF文檔的結構進行解析。目前,PDF文檔的解析工具有多種,主流的解析工具包括Apache公司推出的開源工具 PDFBox[5]、著名開源站點Sourceforge的iTEXT[6]以及 Adobe公司提供的 Acrobat SDK[7]。 前兩者是開源項目,但功能有限,系統設計中選用Adobe SDK開發。

Acrobat SDK采用OLE對象(SDK中稱作IAC對象)實現Windows平臺下的PDF文檔顯控[8]。IAC對象分兩個層次,一是 Application View(AV)層,使用該層控制PDF文檔的顯示,該層中包括 AVDoc、AVPageView、AVMenu等對象,顯示的文檔形式與Acrobat reader顯示非常相似,用戶界面友好;二是 Portable Document(PD)層,使用該層提供的對象可操作PDF文檔中的內容,例如增減頁面、操作PDF文檔中的標注等。

需要指出的是,Acrobat SDK中PDF文檔在客戶程序中的顯示是以COM接口形式實現的,該接口提供了PDF文檔操作需要的基本功能,但是未提供鼠標響應事件。

實現PDF標注動態控制的過程須解決以下四個問題:(1)PDF文檔在用戶程序中的動態加載;(2)為顯示的PDF文檔增加鼠標響應等用戶交互能力;(3)以所見即所得的方式添加PDF標注;(4)實現 PDF標注文本的動態修改功能。

3 PDF文檔動態加載的實現

PDF文檔的加載流程如下:

//創建AVDoc對象,用于控制 PDF文檔的顯示

AVDoc=new AcroAVDocClass();

//打開PDF文檔,并將其關聯至 tabPage

AVDoc.OpenInWindowEx (fileFullName,tp1.Handle.ToInt32(),..);

//創建PDDoc對象,用于解析和控制PDF文檔的內容

PDDoc=(AcroPDDoc)AVDoc.GetPDDoc();

//獲取當前文檔的AVPageView對象

AVPageView=(AcroAVPageView)AVDoc.GetAVPageView();

//導航至首頁

AVPageView.GoTo(0);

本設計中采用多標簽頁形式顯示不同PDF文檔,即每個TabPage上顯示一個PDF文件。PDF文檔顯示到客戶端TabPage上后,在TabPage的大小發生變化時,其上顯示的PDF文檔不會自動同步變化,需要程序自行控制。控制方法是在TabPage所在的TabControl的Resize事件中重設PDF視窗大小和位置,具體方法是首先使用系統API函數GetWindow獲取PDF顯示視窗句柄,然后利用系統API函數SetWindowPos將該窗體調整至合適位置。

4 基于Windows鉤子技術的PDF文檔鼠標響應處理

在PDF標注編輯過程中,采用鼠標指定標注所在位置的所見即所得的方法是最高效的方法,但Acrobat SDK未提供鼠標響應機制。為此,本系統設計中利用Windows的全局鼠標鉤子機制為PDF文檔視窗加入了鼠標事件。

鉤子(Hook)是一種 Windows消息處理機制,用戶程序可在鉤子上掛載自定義函數監視指定窗口的某種消息,被監視的窗口可以是其他線程創建的[9]。當指定消息發出時,在沒有到達目的窗口前,鉤子程序可以先捕獲該消息。圖2為鼠標鉤子的實現流程圖。

圖2 鼠標鉤子實現流程圖

設計MouseHook類掛載和卸載鼠標鉤子,捕獲Windows標準鼠標事件及觸發自定義的.Net事件OnMouse-Activity。PDF顯示窗口類訂閱.Net事件響應鼠標事件。在鉤子回調函數中,若滿足以下條件,則觸發鼠標事件MouseHookProc:(1)顯示 PDF的窗體可見且處于最上層;(2)鼠標位置在PDF窗體區域范圍內。

鉤子的掛載和卸載采用Windows API函數SetWindowsHookEx和UnhookWindowsHookEx實現。

5 PDF標注動態操作中不同坐標系間映射的實現

在對PDF標注進行添加、選中、修改過程中,需要解決屏幕坐標系、用戶坐標系及設備坐標系間的相互映射問題。

在Windows操作系統中,屏幕坐標系以屏幕左上角為原點,向右、向下分別為橫縱兩個坐標軸的正方向。鼠標鉤子返回的鼠標位置就是相對于此坐標系的。而用戶坐標系 (User Space) 和設備坐標系 (Device Space)是PDF文檔操作中兩個重要概念。用戶坐標系如圖3所示,缺省的用戶坐標系為每次頁面剛剛加載時的坐標系。該坐標系的原點位于該頁媒體框(Media Box)的左下角。圖中的 Crop Box為PDF文件顯示的區域,而Media Box則包含了PDF文件四周的灰色邊框。缺省的用戶坐標系的單位為1/72英寸。在Acrobat SDK中,PD層的各種對象均使用該坐標系,這是因為該坐標系與實現無關。

圖3 用戶坐標系

設備坐標系是PDF文件顯示于屏幕上時使用的坐標系,其單位為像素,坐標軸取向與屏幕坐標軸取向相同,如圖4所示。與用戶坐標系不同,該坐標系用于PDF文件的顯示。設備坐標系的原點位于Crop Box的左上角。眾所周知,隨著PDF文檔的縮放,該區域的位置在屏幕上是變化的。

作為PDF文檔的一種對象,PDF標注的位置和大小采用的坐標系為用戶坐標系。由上可見,為了以一種所見即所得的方式添加標注,即將標注添加到鼠標指示的PDF文檔位置上,必須將鼠標位置坐標(屏幕坐標系)映射到用戶坐標系上,但Acrobat SDK未提供該映射接口,而是提供了設備坐標系到用戶坐標系的接口。為了實現所見即所得的鼠標操作,需執行如下步驟:

圖4 設備坐標系

(1)獲取鼠標在屏幕上的位置Pm(屏幕坐標系);

(2)將 Pm映射到設備坐標系Pd;

(3)將 Pd映射到用戶坐標系 Pu。

Pm到Pd的映射可采用以下公式實現:

Pd.x=Pm.X-PdfWindowRect.Left+PdfWindowDeviceRect.Left

Pd.y=Pm.Y-PdfWindowRect.Top+PdfWindowDeviceRect.Top

其中,PdfWindowRect為 PDF顯示窗體中 Media Box的矩形區域(采用屏幕坐標系),可直接根據Tabpage窗體客戶區矩形獲得;PdfWindowDeviceRect為PDF窗體Crop Box的矩形區域(采用用戶坐標系),可利用 AVPageView.GetAperture()函數獲得。Pd到 Pu的映射可直接調用 AVPageView.DevicePointToPage()函數實現。

6 PDF標注文本的動態修改

PDF標注在添加到PDF頁面上時,可以指定其對應的文本內容。但與Acrobat Reader中不同,該內容可以閱覽,但不支持現場編輯。雖然如此,Acrobat SDK預留了PDF標注文本的設置接口,即AcroPDAnnot對象的Set-Contents和GetContents函數。系統設計中,使用此接口解決該問題。用戶在指定文本框中輸入的文本內容自動添加到PDF文件上選中的標注上。PDF文檔標注本身并無選中與否的屬性。為此,系統設計中為文檔標注加入了選中屬性,方法是當鼠標點擊PDF文檔時,自動判定當前位置是否有PDF標注,如果有,則在程序中記錄該標注作為當前選中標注,同時更改該標注的顏色以突出顯示。

7 平臺應用效果及分析

圖5為應用基于PDF動態標注技術的遠程維修指導平臺的用戶界面示例。維修船員首先利用文本聊天和表單對故障進行了描述。陸地工程師根據故障現象,打開設備圖冊(一個PDF文件),并在“電源穩壓單元內部結構圖”頁面的電源輸出連接頭處添加標注(圖中左上方標注),指導船員檢查連接器處是否損壞。船員客戶端會自動同步打開同一PDF文件,并同步添加相同標注。船員檢查后發現電源板中一個電解電容器損壞,故障排查完成。

圖5 基于PDF動態標注的遠程維修指導平臺

由于在陸/船雙方保存了相同的PDF文件資料庫,上述過程中僅需傳遞PDF文件編號、標注頁碼、標注內容等信息,需要交互的信息量大大壓縮,且故障位置、檢修位置、維修手冊翻閱等均以所見即所得的形式實現,提高了遠程指導效率。由于PDF文件不僅可以存儲裝備使用說明書、技術說明書、檢修手冊、實物照片等靜態信息,還可以存儲視頻、虛擬實境等動態對象,資源豐富,能夠保證遠程維修指導的順利開展。

利用該平臺進行維修指導時,陸地和海上部分之間的交互信息中既包含了故障現象,又包含了故障檢測、分析和維修流程,因此可以作為設備維修案例庫使用,用于類似故障維修的參考或設備維修教學中的生動素材。

8 結論

由于短波裝備在各類軍民用船只上安裝廣泛,且各種維修相關的紙質或電子版資料、照片甚至視頻信息均可方便地集成于PDF文檔中,平臺的文檔資料資源可以得到充分保證,因此平臺的實際應用前景廣闊。該方法亦可推廣應用于帶寬受限的基于衛星通信的遠程維修指導平臺,由于需要的通信帶寬窄,成本低,可作為一種低成本的常規遠程維修指導手段。

[1]羅利春,王越.短波通信100年與通信電子戰的新課題[J].系統工程與電子技術,1998,20(11):42-44.

[2]王旭輝,王彤.CSCW技術在裝備遠程維修支持信息系統中的應用 [J].火力與指揮控制,2010,35(1):132-135.

[3]劉建輝,張俊利,王爽.基于 Agent的遠程協同故障診斷系統研究[J].計算機測量與控制,2006,14(1):39-42.

[4]鄭雅敏.基于非連續頻譜的短波傳輸技術研究 [D].杭州:浙江大學,2014.

[5]王曉娟,譚建龍,劉燕兵,等.基于自動機理論的 PDF文本內容抽取[J].計算機應用,2012,32(9):2491-2495.

[6]王鵬飛,楊和梅,丁俊松.利用 Struts+iText在 J2EE中實現 PDF 報表[J].現代電子技術,2006,29(22):46-48.

[7]張英杰.快速批處理文件編輯系統的設計與實現[D].成都:電子科技大學,2012.

[8]Adobe.Acrobat XI SDK 10.1[EB/OL].[2014-12-01].http://www.adobe.com/devnet/acrobat/sdk/eula.html,2014.

[9]郭津之,龍海,黃皓.Windows消息鉤子的攔截和清除[J].計算機工程與設計,2009,30(18):4201-4206.

猜你喜歡
故障用戶
故障一點通
關注用戶
商用汽車(2016年11期)2016-12-19 01:20:16
奔馳R320車ABS、ESP故障燈異常點亮
關注用戶
商用汽車(2016年6期)2016-06-29 09:18:54
關注用戶
商用汽車(2016年4期)2016-05-09 01:23:12
故障一點通
故障一點通
故障一點通
江淮車故障3例
Camera360:拍出5億用戶
創業家(2015年10期)2015-02-27 07:55:08
主站蜘蛛池模板: 欧美第二区| 美女裸体18禁网站| 无码国产伊人| 国产在线精彩视频论坛| 黄片在线永久| 国产91熟女高潮一区二区| 在线无码九区| 欧美日本激情| 91毛片网| a级毛片在线免费| 亚洲国产成人自拍| 欧美亚洲日韩不卡在线在线观看| 国产人人乐人人爱| 久久黄色免费电影| 91av成人日本不卡三区| 亚洲国产黄色| 日韩黄色大片免费看| 日韩在线观看网站| 91福利一区二区三区| 日本欧美精品| 色欲色欲久久综合网| 亚洲国产AV无码综合原创| 无码免费视频| 91精品啪在线观看国产| 刘亦菲一区二区在线观看| 呦女亚洲一区精品| 日本国产精品| 日本一区中文字幕最新在线| 亚洲国产精品人久久电影| 国产一区二区三区日韩精品| 天堂在线视频精品| 手机成人午夜在线视频| 日韩精品一区二区三区swag| 日韩欧美国产区| 亚洲最大福利网站| 国产一级二级在线观看| 精品国产黑色丝袜高跟鞋| 久久99国产精品成人欧美| 欧洲欧美人成免费全部视频| 热99re99首页精品亚洲五月天| a级毛片免费网站| 亚洲国语自产一区第二页| 日韩在线成年视频人网站观看| 老司国产精品视频91| 萌白酱国产一区二区| 丝袜久久剧情精品国产| 日韩视频免费| 亚洲AⅤ永久无码精品毛片| 国产美女精品一区二区| 日韩在线第三页| 国产精品极品美女自在线看免费一区二区| 午夜久久影院| 国产在线观看第二页| 国产成人在线小视频| 久久亚洲国产一区二区| 国产美女精品在线| 欧美自慰一级看片免费| 无码区日韩专区免费系列| 国产玖玖视频| 欧美精品黑人粗大| 中文字幕在线观看日本| AV网站中文| 国产一区二区精品福利| 亚洲综合久久一本伊一区| 国产波多野结衣中文在线播放| 亚洲欧美日本国产专区一区| 浮力影院国产第一页| 亚洲精品国偷自产在线91正片| 欧美人在线一区二区三区| 国产日韩欧美精品区性色| 在线观看精品自拍视频| 超清无码熟妇人妻AV在线绿巨人| 国产三区二区| 在线视频97| 亚洲品质国产精品无码| 最近最新中文字幕免费的一页| 中文字幕色在线| 18禁高潮出水呻吟娇喘蜜芽| 国产原创自拍不卡第一页| 久久99国产综合精品1| 亚洲Va中文字幕久久一区 | 亚洲日韩国产精品综合在线观看|