本發(fā)明涉及計(jì)算機(jī),尤其涉及一種開放版式文檔ofd中頁(yè)面對(duì)象的權(quán)限控制方法及裝置。
背景技術(shù):
1、開放版式文檔(open?fixed-layout?document,ofd)支持設(shè)置文檔權(quán)限聲明(permissions)節(jié)點(diǎn),以達(dá)到文檔防擴(kuò)散等應(yīng)用目的。為提高權(quán)限控制的粒度,對(duì)ofd文檔中的特定對(duì)象進(jìn)行權(quán)限控制成為了研究熱點(diǎn)。
2、現(xiàn)有技術(shù)中,通過將ofd文檔需要控制權(quán)限的對(duì)象,從對(duì)應(yīng)頁(yè)面中摘除,并完整地復(fù)制到第一頁(yè)面對(duì)象中;同時(shí),創(chuàng)建一個(gè)與該對(duì)象對(duì)應(yīng)的第二頁(yè)面對(duì)象,但內(nèi)容修改為權(quán)限受限用戶能看到或能操作的內(nèi)容,同時(shí)記錄該對(duì)象在頁(yè)面中的層標(biāo)識(shí)、索引標(biāo)識(shí)等。用戶打開該ofd文檔后,閱讀器可根據(jù)用戶角色,決定是將第一頁(yè)面對(duì)象還是第二頁(yè)面對(duì)象完整復(fù)制再插入原文檔中進(jìn)行顯示,從而達(dá)到了對(duì)不同角色,表現(xiàn)出了不同的顯示效果和操作效果。
3、然而,上述方法易出現(xiàn)復(fù)制時(shí)遺漏屬性和數(shù)據(jù)的情況,結(jié)構(gòu)較為復(fù)雜,可理解和可維護(hù)性不佳,還改變了文檔的結(jié)構(gòu)等。因此,急需一種有效的方案以解決上述問題。
技術(shù)實(shí)現(xiàn)思路
1、針對(duì)上述現(xiàn)有技術(shù)中的缺陷,本發(fā)明提供一種開放版式文檔ofd中頁(yè)面對(duì)象的權(quán)限控制方法及裝置。
2、本發(fā)明提供一種開放版式文檔ofd中頁(yè)面對(duì)象的權(quán)限控制方法,包括:
3、獲取ofd文檔對(duì)應(yīng)的語(yǔ)義樹文件,所述語(yǔ)義樹文件包括至少一個(gè)語(yǔ)義節(jié)點(diǎn),所述語(yǔ)義節(jié)點(diǎn)包含所述ofd文檔中的至少一個(gè)頁(yè)面對(duì)象;
4、在檢測(cè)到針對(duì)任一所述語(yǔ)義節(jié)點(diǎn)的權(quán)限設(shè)置操作時(shí),對(duì)所述語(yǔ)義節(jié)點(diǎn)設(shè)置對(duì)應(yīng)的目標(biāo)權(quán)限;
5、在所述語(yǔ)義節(jié)點(diǎn)下,根據(jù)所述目標(biāo)權(quán)限和各所述頁(yè)面對(duì)象對(duì)應(yīng)的備份文檔,對(duì)各所述頁(yè)面對(duì)象的對(duì)象內(nèi)容和對(duì)象權(quán)限屬性進(jìn)行權(quán)限控制操作。
6、根據(jù)本發(fā)明提供的一種開放版式文檔ofd中頁(yè)面對(duì)象的權(quán)限控制方法,所述目標(biāo)權(quán)限為隱藏權(quán)限;
7、所述在所述語(yǔ)義節(jié)點(diǎn)下,根據(jù)所述目標(biāo)權(quán)限和各所述頁(yè)面對(duì)象對(duì)應(yīng)的備份文檔,對(duì)各所述頁(yè)面對(duì)象的對(duì)象內(nèi)容和對(duì)象權(quán)限屬性進(jìn)行權(quán)限控制操作,包括:
8、針對(duì)所述語(yǔ)義節(jié)點(diǎn)下的每個(gè)所述頁(yè)面對(duì)象執(zhí)行以下操作:
9、為所述頁(yè)面對(duì)象創(chuàng)建備份文件;
10、在所述語(yǔ)義節(jié)點(diǎn)下,將所述頁(yè)面對(duì)象的對(duì)象內(nèi)容和對(duì)象權(quán)限屬性復(fù)制到所述備份文檔;
11、將所述備份文檔的標(biāo)識(shí)作為所述頁(yè)面對(duì)象對(duì)應(yīng)的文檔標(biāo)識(shí)記錄在所述語(yǔ)義節(jié)點(diǎn)下;
12、根據(jù)所述目標(biāo)權(quán)限,在所述語(yǔ)義節(jié)點(diǎn)下對(duì)所述頁(yè)面對(duì)象的所述對(duì)象內(nèi)容進(jìn)行隱藏操作,并變更所述頁(yè)面對(duì)象的所述對(duì)象權(quán)限屬性。
13、根據(jù)本發(fā)明提供的一種開放版式文檔ofd中頁(yè)面對(duì)象的權(quán)限控制方法,所述對(duì)各所述頁(yè)面對(duì)象的對(duì)象內(nèi)容和對(duì)象權(quán)限屬性進(jìn)行權(quán)限控制操作之后,還包括:
14、響應(yīng)于針對(duì)所述ofd文檔的輸出類操作:
15、針對(duì)授權(quán)用戶,基于所述語(yǔ)義樹文件以及記錄的所有文檔標(biāo)識(shí)對(duì)應(yīng)的備份文檔,對(duì)所述ofd文檔執(zhí)行所述輸出類操作;
16、針對(duì)非授權(quán)用戶,基于所述語(yǔ)義樹文件,對(duì)所述ofd文檔執(zhí)行所述輸出類操作。
17、根據(jù)本發(fā)明提供的一種開放版式文檔ofd中頁(yè)面對(duì)象的權(quán)限控制方法,所述輸出類操作為文檔顯示和/或文檔打??;
18、所述針對(duì)授權(quán)用戶,基于所述語(yǔ)義樹文件以及記錄的所有文檔標(biāo)識(shí)對(duì)應(yīng)的備份文檔,對(duì)所述ofd文檔執(zhí)行所述輸出類操作,包括:
19、針對(duì)授權(quán)用戶,讀取所述語(yǔ)義樹文件;
20、針對(duì)所述語(yǔ)義樹文件中的每個(gè)所述語(yǔ)義節(jié)點(diǎn)包含的任一頁(yè)面對(duì)象,查看所述頁(yè)面對(duì)象是否有對(duì)應(yīng)的文檔標(biāo)識(shí);
21、若有,則從所述文檔標(biāo)識(shí)對(duì)應(yīng)的備份文件中讀取所述頁(yè)面對(duì)象的對(duì)象內(nèi)容,并從所述語(yǔ)義節(jié)點(diǎn)下讀取所述頁(yè)面對(duì)象的顯示屬性;
22、若無,則從所述語(yǔ)義節(jié)點(diǎn)下讀取所述頁(yè)面對(duì)象的對(duì)象內(nèi)容和顯示屬性;
23、根據(jù)所述頁(yè)面對(duì)象的所述對(duì)象內(nèi)容和所述顯示屬性,對(duì)所述頁(yè)面對(duì)象進(jìn)行輸出類操作。
24、根據(jù)本發(fā)明提供的一種開放版式文檔ofd中頁(yè)面對(duì)象的權(quán)限控制方法,所述輸出類操作為文檔顯示和/或文檔打?。?/p>
25、所述針對(duì)非授權(quán)用戶,基于所述語(yǔ)義樹文件,對(duì)所述ofd文檔執(zhí)行所述輸出類操作,包括:
26、針對(duì)非授權(quán)用戶,讀取所述語(yǔ)義樹文件;
27、針對(duì)所述語(yǔ)義樹文件中的每個(gè)所述語(yǔ)義節(jié)點(diǎn)包含的任一頁(yè)面對(duì)象,從所述語(yǔ)義節(jié)點(diǎn)下讀取所述頁(yè)面對(duì)象的對(duì)象內(nèi)容和顯示屬性;
28、根據(jù)所述頁(yè)面對(duì)象的所述對(duì)象內(nèi)容和所述顯示屬性,對(duì)所述頁(yè)面對(duì)象進(jìn)行輸出類操作。
29、根據(jù)本發(fā)明提供的一種開放版式文檔ofd中頁(yè)面對(duì)象的權(quán)限控制方法,所述輸出類操作為語(yǔ)義樹導(dǎo)出;
30、所述針對(duì)授權(quán)用戶,基于所述語(yǔ)義樹文件以及記錄的所有文檔標(biāo)識(shí)對(duì)應(yīng)的備份文檔,對(duì)所述ofd文檔執(zhí)行所述輸出類操作,包括:
31、針對(duì)授權(quán)用戶,讀取所述語(yǔ)義樹文件;
32、針對(duì)所述語(yǔ)義樹文件中的每個(gè)所述語(yǔ)義節(jié)點(diǎn)包含的任一頁(yè)面對(duì)象,查看所述頁(yè)面對(duì)象是否有對(duì)應(yīng)的文檔標(biāo)識(shí);
33、若有,則從所述文檔標(biāo)識(shí)對(duì)應(yīng)的備份文件中讀取所述頁(yè)面對(duì)象的對(duì)象內(nèi)容并導(dǎo)出;
34、若無,則從所述語(yǔ)義節(jié)點(diǎn)下讀取所述頁(yè)面對(duì)象的對(duì)象內(nèi)容并導(dǎo)出。
35、根據(jù)本發(fā)明提供的一種開放版式文檔ofd中頁(yè)面對(duì)象的權(quán)限控制方法,所述輸出類操作為語(yǔ)義樹導(dǎo)出;
36、所述針對(duì)非授權(quán)用戶,基于所述語(yǔ)義樹文件,對(duì)所述ofd文檔執(zhí)行所述輸出類操作,包括:
37、針對(duì)所述語(yǔ)義樹文件中的每個(gè)所述語(yǔ)義節(jié)點(diǎn),從所述語(yǔ)義節(jié)點(diǎn)的節(jié)點(diǎn)權(quán)限屬性中讀取導(dǎo)出屬性;
38、若所述導(dǎo)出屬性為拒絕,則跳過所述語(yǔ)義節(jié)點(diǎn);
39、若所述導(dǎo)出屬性為允許,則從所述語(yǔ)義節(jié)點(diǎn)下讀取所述頁(yè)面對(duì)象的對(duì)象內(nèi)容并導(dǎo)出。
40、根據(jù)本發(fā)明提供的一種開放版式文檔ofd中頁(yè)面對(duì)象的權(quán)限控制方法,所述對(duì)各所述頁(yè)面對(duì)象的對(duì)象內(nèi)容和對(duì)象權(quán)限屬性進(jìn)行權(quán)限控制操作之后,還包括:
41、響應(yīng)于授權(quán)用戶針對(duì)所述ofd文檔的恢復(fù)操作,針對(duì)所述語(yǔ)義樹文件中的每個(gè)所述語(yǔ)義節(jié)點(diǎn)執(zhí)行以下操作:
42、清空所述語(yǔ)義節(jié)點(diǎn)的節(jié)點(diǎn)權(quán)限屬性;
43、針對(duì)所述語(yǔ)義節(jié)點(diǎn)包含的任一頁(yè)面對(duì)象,查看所述頁(yè)面對(duì)象是否有對(duì)應(yīng)的文檔標(biāo)識(shí);
44、若有,則使用所述文檔標(biāo)識(shí)對(duì)應(yīng)的備份文件中所述頁(yè)面對(duì)象的對(duì)象內(nèi)容和權(quán)限屬性,替換所述語(yǔ)義節(jié)點(diǎn)下所述頁(yè)面對(duì)象的對(duì)象內(nèi)容和權(quán)限屬性,并刪除所述語(yǔ)義節(jié)點(diǎn)下所述頁(yè)面對(duì)象對(duì)應(yīng)的文檔標(biāo)識(shí)。
45、根據(jù)本發(fā)明提供的一種開放版式文檔ofd中頁(yè)面對(duì)象的權(quán)限控制方法,所述在所述語(yǔ)義節(jié)點(diǎn)下,將所述頁(yè)面對(duì)象的對(duì)象內(nèi)容和權(quán)限屬性復(fù)制到所述備份文檔之后,還包括:
46、使用與用戶相關(guān)聯(lián)的密鑰,對(duì)所述備份文檔進(jìn)行加密,所述用戶為授權(quán)用戶或非授權(quán)用戶。
47、本發(fā)明還提供一種開放版式文檔ofd中頁(yè)面對(duì)象的權(quán)限控制裝置,包括:
48、獲取模塊,被配置為獲取ofd文檔對(duì)應(yīng)的語(yǔ)義樹文件,所述語(yǔ)義樹文件包括至少一個(gè)語(yǔ)義節(jié)點(diǎn),所述語(yǔ)義節(jié)點(diǎn)包含所述ofd文檔中的至少一個(gè)頁(yè)面對(duì)象;
49、設(shè)置模塊,被配置為在檢測(cè)到針對(duì)任一所述語(yǔ)義節(jié)點(diǎn)的權(quán)限設(shè)置操作時(shí),對(duì)所述語(yǔ)義節(jié)點(diǎn)設(shè)置對(duì)應(yīng)的目標(biāo)權(quán)限;
50、控制模塊,被配置為在所述語(yǔ)義節(jié)點(diǎn)下,根據(jù)所述目標(biāo)權(quán)限和各所述頁(yè)面對(duì)象對(duì)應(yīng)的備份文檔,對(duì)各所述頁(yè)面對(duì)象的對(duì)象內(nèi)容和對(duì)象權(quán)限屬性進(jìn)行權(quán)限控制操作。
51、本發(fā)明還提供一種電子設(shè)備,包括存儲(chǔ)器、處理器及存儲(chǔ)在存儲(chǔ)器上并可在處理器上運(yùn)行的計(jì)算機(jī)程序,所述處理器執(zhí)行所述計(jì)算機(jī)程序時(shí)實(shí)現(xiàn)如上述任一種所述開放版式文檔ofd中頁(yè)面對(duì)象的權(quán)限控制方法。
52、本發(fā)明還提供一種非暫態(tài)計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),其上存儲(chǔ)有計(jì)算機(jī)程序,該計(jì)算機(jī)程序被處理器執(zhí)行時(shí)實(shí)現(xiàn)如上述任一種所述開放版式文檔ofd中頁(yè)面對(duì)象的權(quán)限控制方法。
53、本發(fā)明還提供一種計(jì)算機(jī)程序產(chǎn)品,包括計(jì)算機(jī)程序,所述計(jì)算機(jī)程序被處理器執(zhí)行時(shí)實(shí)現(xiàn)如上述任一種所述開放版式文檔ofd中頁(yè)面對(duì)象的權(quán)限控制方法。
54、本發(fā)明提供的開放版式文檔ofd中頁(yè)面對(duì)象的權(quán)限控制方法及裝置,通過獲取ofd文檔對(duì)應(yīng)的語(yǔ)義樹文件,所述語(yǔ)義樹文件包括至少一個(gè)語(yǔ)義節(jié)點(diǎn),所述語(yǔ)義節(jié)點(diǎn)包含所述ofd文檔中的至少一個(gè)頁(yè)面對(duì)象;在檢測(cè)到針對(duì)任一所述語(yǔ)義節(jié)點(diǎn)的權(quán)限設(shè)置操作時(shí),對(duì)所述語(yǔ)義節(jié)點(diǎn)設(shè)置對(duì)應(yīng)的目標(biāo)權(quán)限;在所述語(yǔ)義節(jié)點(diǎn)下,根據(jù)所述目標(biāo)權(quán)限和各所述頁(yè)面對(duì)象對(duì)應(yīng)的備份文檔,對(duì)各所述頁(yè)面對(duì)象的對(duì)象內(nèi)容和對(duì)象權(quán)限屬性進(jìn)行權(quán)限控制操作。本發(fā)明無需復(fù)制復(fù)雜且數(shù)量眾多的顯示屬性,進(jìn)一步也無需處理其引用的公共繪制參數(shù),這就避免了復(fù)制完整對(duì)象遺漏或錯(cuò)誤導(dǎo)致的問題;本發(fā)明無需將原頁(yè)面對(duì)象摘除,而是將受權(quán)限影響的數(shù)據(jù)直接在頁(yè)面對(duì)象上修改,使頁(yè)面對(duì)象位置未發(fā)生變化,無需記錄和維護(hù)對(duì)象的層標(biāo)識(shí)、方向索引等,較大地簡(jiǎn)化了系統(tǒng)結(jié)構(gòu)和邏輯。