專利名稱::一種嵌入式多格式電子文檔標注方法
技術領域:
:本發(fā)明涉及計算機應用
技術領域:
,尤其涉及為各種嵌入式電子文檔閱讀軟件提供一種進行全文隨意標注的方法。
背景技術:
:隨著技術的進步和需求的不斷變化,基于嵌入式設備的電子文檔閱讀器受到越來越的人們的接受和喜愛,小巧便攜的電子文檔閱讀器代替?zhèn)鹘y(tǒng)的紙質文檔也將是未來的趨勢。目前電子文檔才各式種類繁多,使用較多的是PDF、HTML、DOC、PPT等。每種電子文檔都有特定的格式,人們在使用相應的閱讀軟件打開電子文檔閱讀時,可能^^有進行標注的需求,比如看到精彩或重要的內容,需要隨意將它們圈出來或劃出來,或者添加自己的評論總結。從人類通過筆和紙的交互隱喻出發(fā),在電子文檔上做閱讀、標注也應該類似于日常生活中的使用紙作為閱讀載體、筆作為標注載體那樣方便自然。從這個角度出發(fā),開始了筆式用戶界面的研究和開發(fā)。筆式界面的開發(fā)研究給基于筆交互的應用提供了很大的便利,如基于筆交互的白板系統(tǒng)、基于筆交互的教學系統(tǒng)、筆式編輯系統(tǒng)等。這些和標注系統(tǒng)在操作層面上有些類似,但它們不涉及到其他的文檔格式問題,在基于簡單獨立的文字內容基礎上,做一些勾畫、手勢等交互。目前也有一些標注系統(tǒng)存在,但這些系統(tǒng)中有些依賴于特殊的硬件如智能筆,有些依賴于特殊固定的文檔內容組織和定義,因此它們都不具有通用性,一旦脫離了特殊硬件或格式就無法使用。
發(fā)明內容本發(fā)明提出了一種嵌入式多格式電子文檔標注方法,不依賴具體的電子文檔格式,也不依賴特殊硬件,既能在傳統(tǒng)的GUI交互界面中使用,也能應用到更為自然的PUI(Pen-baseduserinterfaces)中,能夠滿足用戶在閱讀各類電子文檔上進;f亍隨意標注的需求,并且能夠將標注凄t據(jù)和原始文檔數(shù)據(jù)有機結合為一體進行保存。嵌入式多格式電子文檔標注方法,包括以下步驟(1)通過文檔容器操作模塊從文檔容器中分別讀取文檔內容數(shù)據(jù)和標注數(shù)據(jù)并對其進行顯示。al.用戶通過用戶界面選擇需要打開的文檔;通過用戶界面接口獲得文檔路徑,調用文檔才喿作才莫塊中的繪圖方法,用戶可以選擇不同類型的文檔進行打開。a2.文檔操作模塊調用文檔格式解析引擎組和標注引擎,傳入文檔路徑。a3.文檔容器操作模塊接口根據(jù)所述的文檔路徑,打開文檔容器,讀取文檔頭信息獲取文檔類型,讀取文檔數(shù)據(jù)索引和標注數(shù)據(jù)索引,根據(jù)文檔數(shù)據(jù)索引和標注數(shù)據(jù)索引分別獲取文檔數(shù)據(jù)和標注凄史才居,通過函數(shù)調用分別返回給文檔格式解析引擎組和標注引擎。a4.文檔格式引擎組根據(jù)文檔類型,調用對應文檔的格式引擎,對文檔數(shù)據(jù)進行渲染,獲得文檔頁顯示位圖。a5.標注引擎將標注數(shù)據(jù)讀入內存數(shù)據(jù)結構中,再在文檔格式引擎返回的位圖&出上,對內存中標注點坐標進行坐標轉換計算。設內存中標注的某點的坐標為(x,y),當前文檔頁縮^L率r,點(x,y)平移(Ax,Ay),則該點通過式(l)轉換到文檔顯示區(qū)域的點坐標(x',y');X,=rx乂-義,—(1)a6.將文檔頁顯示位圖和經(jīng)坐標轉換后的標注數(shù)據(jù)通過用戶界面接口進行繪制顯示。(2)對讀取的文檔數(shù)據(jù)和標注數(shù)據(jù)進行操作,實現(xiàn)文檔的標注、縮放、平移和標注的擦除功能。所述的對讀取的文檔數(shù)據(jù)和標注數(shù)據(jù)進行操作,實現(xiàn)文檔的標注功能包括以下步驟bl.用戶通過用戶界面設定標注操作模式,選定筆劃顏色和粗細值,再用筆針或鼠標在界面上進行筆劃標注,通過用戶界面接口獲得標注筆劃的點坐標,調用并傳遞筆劃顏色、粗細、點坐標等參數(shù)給文檔4乘作模塊中的標注方法。7b2.文檔操作模塊接口中標注方法調用標注引擎并傳入筆劃顏色、粗細、點坐標等參數(shù)。b3.標注引擎通過用戶界面接口即時繪制顯示用戶當前標注筆劃。b4.標注引擎才艮據(jù)當前文檔頁顯示大小、平移位置,對傳入的標注筆劃點坐標進行坐標轉換計算,并更新內存中標注筆劃鏈表;設用戶界面獲得的某一標注點坐標為(x,y),當前文檔頁縮放率r,標注點(x,y)已經(jīng)平移(Ax,Ay),則該點通過式(2)轉換到標注點坐標(x',y');X,—i廣、+y一廠義_,(2)b5.調用用戶界面提供的方法將內存中當前頁標注筆劃進行重繪顯示。所述的對讀取的文檔數(shù)據(jù)和標注數(shù)據(jù)進行操作,實現(xiàn)標注的擦除功能包括以下步驟cl.用戶通過用戶界面設定擦除標注操作模式,用筆針或鼠標在界面上擦除標注,通過用戶界面接口獲得用戶點擊的點坐標,調用并傳遞點坐標參數(shù)給文檔操作才莫塊中的擦除標注方法。c2.文檔操作模塊接口中標注方法調用標注引擎并傳入坐標參數(shù)。c3.標注引擎根據(jù)當前文檔頁顯示大小、平移位置,對傳入的點坐標進行坐標轉換計算獲得點坐標z;設用戶界面獲得的擦除操作點坐標為(x,y),當前文檔頁縮放率r,已經(jīng)平移(Ax,Ay),則該點通過式(3)轉換到標注點坐標z=(x',y');一1「+、陽,乂(3)c4.順序搜索內存中當前頁標注筆劃鏈表,計算筆劃中所有點的坐標w與z的距離,當w與z的距離值小于預定值時,在鏈表中刪除該標注筆劃,該預定值可以根據(jù)具體需求在軟件實現(xiàn)中設定;c5.將內存中當前頁標注筆劃通過坐標轉換后,調用用戶界面提供的方法進行重繪顯示。所述的對讀取的文檔數(shù)據(jù)和標注數(shù)據(jù)進行操作,實現(xiàn)文檔的縮放功能包括以下步驟dl.用戶通過用戶界面選擇縮小或放大操作,用戶界面響應并調用文檔8操作模塊中的縮放方法,并傳入默認的縮放比例值,該默認值可以根據(jù)具體需求在軟件實現(xiàn)中"^殳定,比如設為1.25。d2.文檔操作模塊調用文檔格式解析引擎組和標注引擎,傳入上述默認縮放值。d3.文檔格式引擎組根據(jù)文檔類型,調用對應的文檔格式引擎,傳入上述默認縮》文值,對文檔當前頁重新進行渲染,獲得新的文檔頁顯示位圖。d4.標注引擎根據(jù)文檔格式引擎返回的新位圖,重新對內存中標注點坐標進行坐標轉換計算。設內存中某標注點的坐標為(x,y),當前文檔頁縮方丈率r,標注點(x,y)已平移(Ax,Ay),則該點通過式(4)轉換到文檔顯示區(qū)域的點坐標(x',y');<formula>formulaseeoriginaldocumentpage9</formula>(4)d5.將新的文檔頁顯示位圖以及坐標轉換后的標注數(shù)據(jù)通過用戶界面接口進行重新繪制顯示;所述的對讀取的文檔數(shù)據(jù)和標注數(shù)據(jù)進行操作,實現(xiàn)文檔的平移功能包括以下步驟el.用戶使用筆針或鼠標通過用戶界面進行文檔頁平移操作,用戶界面獲得x方向、y方向平移值,調用文檔l喿作才莫塊接口中的平移方法并傳入平移值;e2.文檔操作^t塊接口的平移方法調用用戶界面接口對文檔數(shù)據(jù)進行平移;e3.文檔操作模塊接口的平移方法調用標注引擎,并傳入平移值;e4.標注引擎根據(jù)平移值以及坐標轉換規(guī)則,重新對內存中標注點坐標進行坐標轉換計算;設內存中某標注點的坐標為(x,y),當前文檔頁縮》文率r,標注點(x,y)(是哪點平移?)已平移(Ax,Ay),則該點通過式(5)轉換到文檔顯示區(qū)域的點坐標(x',y');<formula>formulaseeoriginaldocumentpage9</formula>(5)e5.將坐標轉換后的標注數(shù)據(jù)通過用戶界面接口進行重新繪制顯示。(3)將操作后的文檔數(shù)據(jù)和標注數(shù)據(jù)通過文檔容器操作模塊保存在文檔容器中。一種用于嵌入式多格式電子文檔標注系統(tǒng)由以下結構模塊構成(1)用戶界面,主要負責用戶和標注系統(tǒng)的交互操作的捕捉、分析和結果的反饋;對基于不同交互界面的交互操作進行了抽象類比,將用戶在閱讀設備上的標注操作類比為用筆在紙上進行勾畫,由此定義了通用的標注輸入事件描述,將標注輸入基本動作定義為移筆、落筆、抬筆。(2)文檔操作模塊,定義了一系列文檔操作,包括文檔頁面的繪制、縮放、平移、翻頁、標注、擦除標注等基本文檔操作,規(guī)定了文檔閱讀的接口,為文檔格式引擎組和標注引擎的具體實現(xiàn)提供依據(jù),可以定義操作原語來描述基本文檔^^喿作;繪制原語包括繪圖原語doc_draw;縮放原語doc一zoom;平移原語doc一drag;翁3頁原i吾doc—new_page;標注原語doc—annotate;擦除標注doc一del一annotation;(3)文檔、標注解析模塊,由文檔格式解析引擎組和標注引擎兩部分組成,文檔格式引擎組和標注引擎互相獨立;文檔格式引擎組包括文檔的常用格式,可以根據(jù)用戶選擇的打開格式選擇響應的格式引擎對文檔數(shù)據(jù)進行渲染顯示。標注引擎中標注數(shù)據(jù)的定義組織包括以下結構點(Point),筆劃(Stroke)。其中點結構包含了點的坐標值;筆劃由一系列點結構構成,并且包括了可選的顏色值和筆劃粗細值。在此基礎上,標注數(shù)據(jù)以文檔頁為組織單位,每個文檔頁上的所有標注筆劃以鏈表形式保存,全文標注通過文檔頁來索引這些標注筆劃鏈表;標注引擎實現(xiàn)對標注數(shù)據(jù)的渲染、坐標轉換和擦除。(4)文檔容器操作模塊,定義了對文檔容器的解析,通過它獲得獨立的原始文檔內容數(shù)據(jù)和標注數(shù)據(jù),提供給上層不同的解析引擎進行解析并最終展示給用戶;(5)文檔容器,在存儲層面將文檔數(shù)據(jù)和標注數(shù)據(jù)通過有效的手段10結合起來,文檔容器由文檔頭、文檔數(shù)據(jù)、標注數(shù)據(jù)和文檔尾組成;1)文檔頭包括文檔類型的信息以及原始文檔數(shù)據(jù)內容以及標注數(shù)據(jù)內容的便捷索引;2)文檔數(shù)據(jù)是指電子文檔的原始數(shù)據(jù)內容;3)標注數(shù)據(jù)是指用戶在文檔上做標注操作所形成的數(shù)據(jù);標注數(shù)據(jù)的組織方式以標注筆劃為基本單位,根據(jù)文檔頁碼保存對應文檔頁中的標注筆劃,標注筆劃由標注時所采集的一系列標注點坐標組成;4)文檔尾則用于標記文檔的結束。本發(fā)明嵌入式多格式電子文檔標注方法講標注數(shù)據(jù)和文檔數(shù)據(jù)分別存儲、顯示,適用于各種格式的電子文檔閱讀,可以隨意進行全文標注,使用各種顏色、粗細的筆跡來進行標注,使得電子文檔的閱讀更加自然方便,增強了用戶在閱讀過程中的主觀能動性;標注數(shù)據(jù)可以隨意擦除,并可以與電子文檔進行統(tǒng)一存儲,可以在下一次打開文檔閱讀時再現(xiàn);用戶既可以選擇基于傳統(tǒng)的鼠標鍵盤交互方式,也可以選擇基于更為智能方便的筆式交互,對交互硬件無特殊要求,應用范圍廣。圖1是本發(fā)明方法的流程示意圖2是本發(fā)明方法標注坐標轉換示意圖3是本發(fā)明方法文檔容器結構示意圖4是本發(fā)明方法標注引擎結構示意圖5是本發(fā)明方法標注操作流程圖6是本發(fā)明方法擦除標注操作流程圖。具體實施例方式下面結合附圖對本發(fā)明嵌入式平臺的電子文檔標注方法及系統(tǒng)通過實施例進行詳細i兌明。如圖l所示,嵌入式多格式電子文檔標注方法,包括以下步驟(1)用戶(UI)通過文檔容器操作模塊從文檔容器中分別讀取文檔內容數(shù)據(jù)和標注數(shù)據(jù)并對其進行顯示。al.用戶通過用戶界面選擇需要打開的文檔;通過用戶界面接口獲得文ii檔路徑,調用文檔操作模塊中的繪圖方法,用戶可以選擇不同類型的文檔進行打開。a2.文檔操作模塊調用文檔格式解析引擎組和標注引擎,傳入文檔路徑。a3.文檔容器操作模塊接口根據(jù)所述的文檔路徑,打開文檔容器,讀取文檔頭信息獲取文檔類型,讀取文檔數(shù)據(jù)索引和標注數(shù)據(jù)索引,根據(jù)文檔數(shù)據(jù)索引和標注翁:據(jù)索引分別獲取文檔數(shù)據(jù)和標注數(shù)據(jù),通過函數(shù)調用分別返回給文檔格式解析引擎組和標注引擎。a4.文檔格式引擎組根據(jù)文檔類型,調用對應文檔的格式引擎,對文檔數(shù)據(jù)進行渲染,獲得文檔頁顯示位圖。a5.標注引擎將標注數(shù)據(jù)讀入內存數(shù)據(jù)結構中,再在文檔格式引擎返回的位圖基礎上,對內存中標注點坐標進行坐標轉換計算。如圖2所示,A區(qū)域為整個文檔頁,B區(qū)域為文檔顯示區(qū)域,設內存中標注的某點的坐標為(x,y),當前文檔頁縮方丈率r,點(x,y)平移(Ax,Ay),則該點通過式(l)轉換到文檔顯示區(qū)域的點坐標(x',y');X,=rx乂義々—(1)文檔顯示區(qū)域中的某一標注點(xo,yo)需要轉換到文檔頁面坐標系中,才能賦值存儲到標注數(shù)據(jù)結構中。a6.將文檔頁顯示位圖和經(jīng)坐標轉換后的標注數(shù)據(jù)通過用戶界面接口進行繪制顯示。(2)對讀取的文檔數(shù)據(jù)和標注數(shù)據(jù)進行操作,實現(xiàn)文檔的標注、縮放、平移和標注的擦除功能。如圖5所述,對讀取的文檔數(shù)據(jù)和標注數(shù)據(jù)進行操作,實現(xiàn)文檔的標注功能包括以下步驟bl.用戶通過用戶界面設定標注操作4莫式,選定筆劃顏色和粗細值,再用筆針或鼠標在界面上進行筆劃標注,通過用戶界面接口獲得標注筆劃的點坐標,調用并傳遞筆劃顏色、粗細、點坐標等參數(shù)給文檔操作模塊中的標注方法。b2.文檔操作模塊接口中標注方法調用標注引擎并傳入筆劃顏色、粗細、點坐標等參數(shù)。b3.標注引擎通過用戶界面接口即時繪制顯示用戶當前標注筆劃。b4.標注引擎根據(jù)當前文檔頁顯示大小、平移位置,對傳入的標注筆劃點坐標進行坐標轉換計算,并更新內存中標注筆劃鏈表;設用戶界面獲得的某一標注點坐標為(x,y),當前文檔頁縮放率r,標注點(x,y)已經(jīng)平移(Ax,Ay),則該點通過式(2)轉換到標注點坐標(x',y');一1+、、義.,(2)b5.調用用戶界面提供的方法將內存中當前頁標注筆劃進行重繪顯如圖6所示,對讀取的文檔數(shù)據(jù)和標注數(shù)據(jù)進行4喿作,實現(xiàn)標注的擦除功能包括以下步驟cl.用戶通過用戶界面設定擦除標注操作模式,用筆針或鼠標在界面上擦除標注,通過用戶界面接口荻得用戶點擊的點坐標,調用并傳遞點坐標參數(shù)給文檔操作模塊中的擦除標注方法。c2.文檔操作模塊接口中標注方法調用標注引擎并傳入坐標參數(shù)。c3.標注引擎根據(jù)當前文檔頁顯示大小、平移位置,對傳入的點坐標進行坐標轉換計算獲得點坐標z;設用戶界面獲得的擦除操作點坐標為(x,y),當前文檔頁縮放率r,已經(jīng)平移(Ax,Ay),則該點通過式(3)轉換到標注點坐標z=(x',y');V—_1「、+乂陽尺,乂(3)c4.順序搜索內存中當前頁標注筆劃鏈表,計算筆劃中所有點的坐標w與z的距離,當w與z的距離值小于預定值時,在鏈表中刪除該標注筆劃;c5.將內存中當前頁標注筆劃通過坐標轉換后,調用用戶界面提供的方法進行重繪顯示。對讀取的文檔數(shù)據(jù)和標注數(shù)據(jù)進行操作,實現(xiàn)文檔的縮放功能包括以下步驟dl.用戶通過用戶界面選擇縮小或放大操作,用戶界面響應并調用文檔操作模塊中的縮放方法,并傳入默認的縮放比例值。d2.文檔操作模塊調用文檔格式解析引擎組和標注引擎,傳入上述默認縮放值。13d3.文檔格式引擎組根據(jù)文檔類型,調用對應的文檔格式引擎,傳入上述默認縮放值,對文檔當前頁重新進行渲染,獲得新的文檔頁顯示位圖。d4.標注引擎根據(jù)文檔格式引擎返回的新位圖,重新對內存中標注點坐標進行坐標轉換計算。設內存中某標注點的坐標為(x,y),當前文檔頁縮》文率r,標注點(x,y)已平移(Ax,Ay),則該點通過式(4)轉換到文檔顯示區(qū)域的點坐標(x',y');<formula>formulaseeoriginaldocumentpage14</formula>(4)d5.將新的文檔頁顯示位圖以及坐標轉換后的標注lt據(jù)通過用戶界面接口進行重新繪制顯示,對讀取的文檔數(shù)據(jù)和標注數(shù)據(jù)進行操作,實現(xiàn)文檔的平移功能包括以下步驟el.用戶使用筆針或鼠標通過用戶界面進行文檔頁平移搡作,用戶界面獲得x方向、y方向平移值,調用文檔操作才莫塊接口中的平移方法并傳入平移值;e2.文檔操作模塊接口的平移方法調用用戶界面接口對文檔數(shù)據(jù)進行平移;e3.文檔才喿作才莫塊接口的平移方法調用標注引擎,并傳入平移值;e4.標注引擎根據(jù)平移值以及坐標轉換規(guī)則,重新對內存中標注點坐標進行坐標轉換計算;設內存中某標注點的坐標為(x,y),當前文檔頁縮方文率r,標注點(x,y)已平移(Ax,Ay),則該點通過式(5)轉換到文檔顯示區(qū)域的點坐標(x',y');<formula>formulaseeoriginaldocumentpage14</formula>(5)e5.將坐標轉換后的標注數(shù)據(jù)通過用戶界面接口進行重新繪制顯示。(3)將操作后的文檔數(shù)據(jù)和標注數(shù)據(jù)通過文檔容器操作模塊保存在文檔容器中。一種用于嵌入式多格式電子文檔標注系統(tǒng)由以下結構模塊構成(l)用戶界面,主要負責用戶和標注系統(tǒng)的交互才喿作的捕捉、分析和結果的反饋;對基于不同交互界面的交互操作進行了抽象類比,將用戶在閱讀設備上的標注操作類比為用筆在紙上進行勾畫,由此定義了通用的標注輸入事件描述,在傳統(tǒng)的嵌入式平臺中,可以使用筆針來代替鼠標進行界面交互操作,筆針在觸摸屏上的移筆、落筆、抬筆可以通過操作系統(tǒng)提供的API獲得點、筆跡的坐標值。(2)文檔操作模塊,定義了一系列文檔操作,包括文檔頁面的繪制、縮放、平移、翻頁、標注、擦除標注等基本文檔操作,規(guī)定了文檔閱讀的接口,為文檔格式引擎組和標注引擎的具體實現(xiàn)提供依據(jù),可以定義操作原語來描述基本文檔操作;繪制原語包括繪圖原語doc一draw;輸入page_num(頁號),zoom—ratio(縮放率);〗渝出doc_page—bitmap(電子文檔頁的4立圖),annotation—data(電子文檔頁上的標注);若需要顯示電子文檔頁首先需要從格式引擎中獲得電子文檔頁的位圖數(shù)據(jù),并且根據(jù)標注引擎進行相關標注計算獲取標注數(shù)據(jù)和屬性,返回結果交由用戶界面層來進行繪制顯示。電子文檔以頁的形式進行組織,需要明確指出顯示的頁號??s放率默認為1,表示無縮放,保持原始大小??s放原語doc_zoom;輸入zoom_ratio;輸出電子文檔頁的位圖以及當前頁上的標注;縮放操作涉及到顯示效果。如果電子文檔格式為矢量保存的格式,那么需要通過格式引擎解析出新的位圖,否則會導致文檔顯示效果變差。另外標注數(shù)據(jù)也要重新進行解析。平移原語doc—drag;輸入delta—x(x方向移動值),delta_y(y方向移動ii);用戶顯示區(qū)域可能比經(jīng)過^L大后的文檔頁面小,因此通過交互對文檔顯示部分進行移動,使得原先被遮蓋的部分進行顯示。由于繪制過程中已獲得文檔頁的原始位圖,平移則只需調用用戶界面接口即可完成。翁3頁原i吾doc—new_page;輸入page—num,zoom—ratio;車餘出doc_page—bitmap,annotation—data;翻頁操作也可以歸結為繪圖操作,因此翻頁原語的輸入輸出都和繪圖原語一樣,只不過作為一種基本操作單獨提出來。標注原語doc—annotate;輸入x,y;標注操作主要通過用戶界面獲取用戶所做標注筆劃的坐標數(shù)據(jù),因此輸入為基于顯示區(qū)域的筆劃點的坐標值,通過標注引擎進行相關標注計算從而更新當前標注數(shù)據(jù)。在做標注過程中,可以使用繪圖原語重新繪制顯示區(qū)域就可以即時顯示標注的結果。擦除才示S主doc—del—annotation;輸入x,y;擦除標注指在當前標注的J^出上,用戶通過用戶界面選中某些標注進行擦除。在獲得當前坐標后,通過標注引擎更新當前標注數(shù)據(jù),再使用繪圖原語重新繪制顯示區(qū)域即可進行實時刷新顯示。(3)文檔、標注解析模塊,由文檔格式解析引擎組和標注引擎兩部分組成,文檔^f各式引擎組和標注引擎互相獨立;文檔格式引擎組包括文檔的常用格式,可以根據(jù)用戶選擇的打開格式選擇響應的格式引擎對文檔數(shù)據(jù)進行渲染顯示。如圖4所示,標注引擎中標注數(shù)據(jù)的定義組織包括以下結構點(Point),筆劃(Stroke)。其中點結構包含了點的坐標值;筆劃由一系列點結構構成,并且包括了可選的顏色值和筆劃粗細值。筆劃中點可以調用操作系統(tǒng)API獲得。由于電子文檔以頁為基本單位,每頁中使用標注筆劃鏈表來記錄文檔頁中的標注數(shù)據(jù),整個文檔使用"^合希表來維護所有標注數(shù)據(jù)。通過操作系統(tǒng)提供的API獲得的標注點坐標無法直接使用,需要進行標注坐標計算。用戶界面是以文檔顯示區(qū)域(即用戶交互區(qū)域)左上角為原點,向右為X坐標正方向,向下為Y坐標正方向,可以稱之為顯示坐標系。由于有限的用戶界面一般無法顯示電子文檔頁的全部內容,通過用戶界面開發(fā)工具提供的接口所獲得的標注筆劃點的坐標值不能直接賦值存儲到標注相關數(shù)據(jù)結構中。為了可以使用戶所做的標注能夠再現(xiàn),筆劃16中點的坐標值應該是以電子文檔頁作為參考坐標系所得到的坐標值。首先定義文檔頁面坐標系它以文檔左上角為坐標原點,向右為X坐標正方面,向下為Y坐標正方向。坐標的轉換計算就是顯示坐標系與文檔頁面坐標系的坐標相互轉換。除了對文檔進行標注外,還可以擦除標注內容。在擦除操作模式下,用戶可以通過用戶界面選中標注筆劃,該標注筆劃就被擦除。擦除標注的實現(xiàn)方法如下獲得點擊的坐標值,同樣需要進行坐標轉換,轉換到文檔頁面坐標系下坐標。在當前頁中的標注筆劃列表中尋找符合要求的標注筆劃,并刪除符合要求的某條標注筆劃。這個過程較為關鍵,步驟如下順序遍歷當前頁中的筆劃列表,計算筆劃中所有點與上一步驟中獲得的點之間的距離,考慮到用戶界面的因素,只要該距離滿足一個預定值即可認為選中的是該條標注筆劃,并進行刪除。在實現(xiàn)過程中,預定值可大可小,根據(jù)實際需要進行設定,設置較大的話可以減少計算工作量但可能會造成不精確,設置較小的話增加了精確度但也增加了計算量,但要是設置太小的話可能造成多次點擊某條標注筆劃進行擦除操作卻無法擦除的狀況,因此該值的設置需要考慮實際情況。標注引擎實現(xiàn)對標注數(shù)據(jù)的渲染、坐標轉換和擦除。(4)文檔容器操作模塊,定義了對文檔容器的解析,通過它獲得獨立的原始文檔內容數(shù)據(jù)和標注數(shù)據(jù),提供給上層不同的解析引擎進行解析并最終展示給用戶P(5)如圖3所示,文檔容器,在存儲層面將文檔凄t據(jù)和標注數(shù)據(jù)通過有效的手段結合起來,文檔容器由文檔頭、文檔體和文檔尾組成。1)文檔頭為文檔結構信息區(qū),包含文檔類型信息、原始文檔索引、標注數(shù)據(jù)索引。2)文檔體為文檔內容信息區(qū),包含文檔數(shù)據(jù)區(qū)和標注數(shù)據(jù)區(qū)。文檔數(shù)據(jù)是指電子文檔的原始數(shù)據(jù)內容;標注數(shù)據(jù)是指用戶在文檔上做標注操作所形成的數(shù)據(jù);標注數(shù)據(jù)的組織方式以標注筆劃為基本單位,根據(jù)文檔頁碼保存對應文檔頁中的標注筆劃,標注筆劃由標注時所采集的一系列標注點坐標組成。對于原始電子文檔數(shù)據(jù)內容,無需修改也無需理解其存儲方式;對于標注數(shù)據(jù),根據(jù)前面的定義,在具體實現(xiàn)中,可以使用內容與呈現(xiàn)分離的17XML格式來存儲標注數(shù)據(jù)。釆用以下的XML標簽集合來表示存儲標注數(shù)據(jù)<point>x,y</point><strokecolo產(chǎn)"..."pen="..."><point、..</point><point>...</point></stroke>〈A麗OTAT腹pagenum="..."><stroke>...</stroke></ANNOTATION>3)文檔尾則用于標記文檔的結束。權利要求1.一種嵌入式多格式電子文檔標注方法,包括以下步驟(1)通過文檔容器操作模塊從文檔容器中分別讀取文檔內容數(shù)據(jù)和標注數(shù)據(jù)并對其進行顯示;(2)對讀取的文檔數(shù)據(jù)和標注數(shù)據(jù)進行操作,實現(xiàn)文檔的標注、縮放、平移和標注的擦除功能;(3)將操作后的文檔數(shù)據(jù)和標注數(shù)據(jù)通過文檔容器操作模塊保存在文檔容器中。2.根據(jù)權利要求1所述的嵌入式多格式電子文檔標注方法,其特征在于步驟(1)所述的通過文檔容器操作模塊從文檔容器中分別讀取文檔內容數(shù)據(jù)和標注數(shù)據(jù)并對其進行顯示,包括以下步驟al.用戶通過用戶界面選擇需要打開的文檔;a2.文檔操作模塊接口調用文檔格式解析引擎組和標注引擎,傳入文檔路徑;a3.文檔容器操作模塊接口根據(jù)所述的文檔路徑,打開文檔容器,讀取文檔頭信息獲取文檔類型,讀取文檔數(shù)據(jù)索引和標注數(shù)據(jù)索引,根據(jù)文檔數(shù)據(jù)索引和標注數(shù)據(jù)索引分別獲取文檔數(shù)據(jù)和標注數(shù)據(jù),通過函數(shù)調用分別返回給文檔格式解析引擎組和標注引擎;a4.文檔格式引擎組根據(jù)文檔類型,調用對應文檔的格式引擎,對文檔數(shù)據(jù)進行渲染,獲得文檔頁顯示位圖;a5.標注引擎將標注數(shù)據(jù)讀入內存數(shù)據(jù)結構中,再在文檔格式引擎返回的位圖&出上,對內存中標注點坐標進行坐標轉換計算;設內存中標注的某點的坐標為(x,y),當前文檔頁縮放率r,點(x,y)平移(Ax,Ay),則該點通過式(l)轉換到文檔顯示區(qū)域的點坐標(x',y');<table>tableseeoriginaldocumentpage2</column></row><table>a6.將文檔頁顯示位圖和經(jīng)坐標轉換后的標注數(shù)據(jù)通過用戶界面接口進行繪制顯示。3.根據(jù)權利要求1所述的嵌入式多格式電子文檔標注方法,其特征在于步驟(2)所述的對讀取的文檔數(shù)據(jù)和標注數(shù)據(jù)進行操作,實現(xiàn)文檔的標注功能包括以下步驟M.用戶通過用戶界面設定標注操作模式,選定筆劃顏色和粗細值,再用筆針或鼠標在界面上進行筆劃標注,通過用戶界面接口獲得標注筆劃的點坐標,調用并傳遞筆劃顏色、粗細、點坐標等參數(shù)給文檔操作模塊接口中的標注方法;b2.文檔操作模塊接口中標注方法調用標注引擎并傳入筆劃顏色、粗細、點坐標等參數(shù);b3.標注引擎通過用戶界面接口即時繪制顯示用戶當前標注筆劃;b4.標注引擎根據(jù)當前文檔頁顯示大小、平移位置,對傳入的標注筆劃點坐標進^f亍坐標轉換計算,并更新內存中標注筆劃鏈表;設用戶界面獲得的某一標注點坐標為(x,y),當前文檔頁縮放率r,標注點(x,y)已經(jīng)平移(Ax,Ay),則該點通過式(2)轉換到標注點坐標(x',y');<formula>formulaseeoriginaldocumentpage3</formula>b5.調用用戶界面提供的方法將內存中當前頁標注筆劃進行重繪顯示。4.根據(jù)權利要求1所述的嵌入式多格式電子文檔標注方法,其特征在于步驟(2)所述的對讀取的文檔數(shù)據(jù)和標注數(shù)據(jù)進行操作,實現(xiàn)標注的擦除功能包括以下步驟cl.用戶通過用戶界面設定擦除標注操作模式,用筆針或鼠標在界面上擦除標注,通過用戶界面接口獲得用戶點擊的點坐標,調用并傳遞點坐標參數(shù)給文檔操作模塊中的擦除標注方法;c2.文檔操作模塊接口中標注方法調用標注引擎并傳入坐標參數(shù);c3.標注引擎根據(jù)當前文檔頁顯示大小、平移位置,對傳入的點坐標進行坐標轉換計算獲得點坐標z;設用戶界面獲得的擦除操作點坐標為(x,y),當前文檔頁縮放率r,已經(jīng)平移(Ax,Ay),則該點通過式(3)轉換到標注點坐標z=(x',y');<formula>formulaseeoriginaldocumentpage3</formula>c4.順序搜索內存中當前頁標注筆劃鏈表,計算筆劃中所有點的坐標w與z的距離,當w與z的距離值小于預定值時,在鏈表中刪除該標注筆劃;c5.將內存中當前頁標注筆劃通過坐標轉換后,調用用戶界面提供的方法進行重繪顯示。5.根據(jù)權利要求1所述的嵌入式多格式電子文檔標注方法,其特征在于步驟(2)所述的對讀取的文檔數(shù)據(jù)和標注數(shù)據(jù)進行操作,實現(xiàn)文檔的縮放功能包括以下步驟dl.用戶通過用戶界面選擇縮小或放大操作,用戶界面響應并調用文檔操作模塊中的縮放方法,并傳入默認的縮放比例值;d2.文檔操作模塊調用文檔格式解析引擎組和標注引擎,傳入新的縮放值;d3.文檔格式引擎組根據(jù)文檔類型,調用對應的文檔格式引擎,傳入新的縮放值,對文檔當前頁重新進行渲染,獲得新的文檔頁顯示位圖;d4.標注引擎根據(jù)文檔格式引擎返回的新位圖,重新對內存中標注點坐標進行坐標轉換計算;設內存中某標注點的坐標為(x,y),當前文檔頁縮方文率r,標注點(x,y)已平移(Ax,Ay),則該點通過式(4)轉換到文檔顯示區(qū)域的點坐標(x',y');<formula>formulaseeoriginaldocumentpage4</formula>d5.將新的文檔頁顯示位圖以及坐標轉換后的標注數(shù)據(jù)通過用戶界面接口進行重新繪制顯示。6.根據(jù)權利要求1所述的嵌入式多格式電子文檔標注方法,其特征在于步驟(2)所述的對讀取的文檔數(shù)據(jù)和標注數(shù)據(jù)進行操作,實現(xiàn)文檔的平移功能包括以下步驟el.用戶使用筆針或鼠標通過用戶界面進行文檔頁平移操作,用戶界面獲得x方向、y方向平移值,調用文檔才喿作接口中的平移方法并傳入平移值;e2.文檔操作模塊接口的平移方法調用用戶界面接口對文檔數(shù)據(jù)進行平移;e3.文檔操作才莫塊接口的平移方法調用標注引擎,并傳入平移值;e4.標注引擎根據(jù)平移值以及坐標轉換規(guī)則,重新對內存中標注點坐標進行坐標轉換計算;設內存中某標注點的坐標為(x,y),當前文檔頁縮放率r,標注點(x,y)已平移(Ax,Ay),則該點通過式(5)轉換到文檔顯示區(qū)域的點坐標(x',y');<formula>formulaseeoriginaldocumentpage5</formula>(5)e5.將坐標轉換后的標注數(shù)據(jù)通過用戶界面4矣口進行重新繪制顯示。全文摘要本發(fā)明公開了一種嵌入式多格式電子文檔標注方法,包括以下步驟1)通過文檔容器操作模塊從文檔容器中分別讀取文檔內容數(shù)據(jù)和標注數(shù)據(jù)并對其進行顯示;2)對讀取的文檔數(shù)據(jù)和標注數(shù)據(jù)進行操作,實現(xiàn)文檔的標注、縮放、平移和標注的擦除功能;3)將操作后的文檔數(shù)據(jù)和標注數(shù)據(jù)通過文檔容器操作模塊保存在文檔容器中。本發(fā)明嵌入式多格式電子文檔標注方法將標注數(shù)據(jù)和文檔數(shù)據(jù)分別存儲、顯示,適用于各種格式的電子文檔閱讀,可以隨意進行全文標注,標注數(shù)據(jù)可以隨意擦除,并可以與電子文檔進行統(tǒng)一存儲,可以在下一次打開文檔閱讀時再現(xiàn),使得電子文檔的閱讀更加自然方便,增強了用戶在閱讀過程中的主觀能動性,應用范圍廣。文檔編號G06F17/24GK101539905SQ20091009805公開日2009年9月23日申請日期2009年4月27日優(yōu)先權日2009年4月27日發(fā)明者曹曉東,董亞波,魯東明申請人:浙江大學