專利名稱:一種剪貼板控制方法及系統的制作方法
技術領域:
本發明涉在線辦公自動化技術,尤其涉及文檔防復制的一種剪貼板控制方法及系統。
背景技術:
OpenOffice. org是一套開源免費的跨平臺辦公室軟件套件,且與MS office Word、Excel、PowerPoint完全兼容。基于OpenOffice. org辦公自動化系統相比基于收費軟件的辦公自動化系統在成本優勢凸顯,成為眾多企業在部署辦公自動化系統的首選。在網絡技術與辦公自動化系統結合運用日益普及、成熟的情況下,網絡平臺成為了辦公信息發布的主要窗口,如何使發布的內容僅供瀏覽而不被任意復制傳播日益受到人們關注。目前常見的辦公信息發布平臺都沒有一種有效的方法系統來限制瀏覽者做復制操作,文檔內容防復制功能還處于空白缺失狀態。因此,亟需一種防止文檔復制的方法來解決現有系統的缺陷,實現對文檔內容的控制,達到在未授權情況下限制復制的目的。
發明內容
本發明所要解決的技術問題之一是需要提供一種剪貼板控制方法及系統。為了解決上述技術問題,本發明提供了一種剪貼板控制方法,該方法包括在文檔中設置防復制開關屬性;當用戶對所述文檔進行了復制或剪切操作時,基于所述防復制開關屬性來判斷是否對所復制或剪切的內容進行加密;其中,如果判斷結果為是,則對所復制或剪切的內容進行加密,將加密后的內容存儲到系統剪切板和/或程序的內存區域中;如果判斷結果為否,則直接將所復制或剪切的內容存儲到系統剪切板和/或程序的內存區域中。根據本發明另一方面的剪貼板控制方法,還包括在所述加密后的內容中設置加密標志位。根據本發明另一方面的剪貼板控制方法,還包括在用戶對存儲在程序的內存區域中的所復制或剪切的內容進行粘貼操作時,基于所述加密標志位判斷所復制或剪切的內容是否為已進行加密的復制或剪切的內容,其中,如果判斷結果為是,則基于所述防復制開關屬性來判斷是否對已加密的所復制或剪切的內容進行解密處理;如果判斷結果為否,則直接對所復制或剪切的內容進行粘貼操作,其中,在基于所述防復制開關屬性來判斷是否對已加密的所述復制或剪切的內容進行解密處理的步驟中如果判斷結果為是,則對所述復制或剪切的內容進行解密處理以進行粘貼操作;如果判斷結果為否,則對所述復制或剪切的內容不進行解密處理,不執行粘貼操作。根據本發明另一方面的剪貼板控制方法,還包括基于自定義編碼格式對要進行加密的內容進行格式化操作,將格式化后的所復制或剪切的內容存儲到系統剪切板和/或程序的內存區域中,和/或基于通用編碼格式對不需要進行加密的內容進行格式化操作,將格式化后的內容存儲到程序共享內存區域中,其中,所述通用編碼格式包括針對文本內容的TXT、HTML或 RTF的編碼格式、針對圖片的GDI METAFILE和BMP的編碼格式以及針對對象的編碼格式,所述自定義編碼格式除了通用編碼格式外的所設置的編碼格式。根據本發明另一方面的剪貼板控制方法,在同系列軟件或相同軟件中,將加密后的內容存儲到程序劃分的內存區域中;以及在不同系列軟件中,將加密后的內容存儲到系統剪貼板中。根據本發明另一方面的剪貼板控制方法,所復制或剪切的內容包括文本、表格、圖片和/或對象。根據本發明的另一方面,還提供了一種剪貼板控制系統,該系統包括設置模塊,其用于在文檔中設置防復制開關屬性;加密模塊,其用于當用戶對所述文檔進行了復制或剪切操作時,基于所述防復制開關屬性來判斷是否對所復制或剪切的內容進行加密;其中,如果判斷結果為是,則對所復制或剪切的內容進行加密,將加密后的內容存儲到系統剪切板和/或程序的內存區域中;如果判斷結果為否,則直接將所復制或剪切的內容存儲到系統剪切板和/或程序的內存區域中。根據本發明另一方面的剪貼板控制系統,所述加密模塊,其還用于在所述加密后的內容中設置加密標志位。根據本發明另一方面的剪貼板控制系統,還包括解密模塊,其用于當用戶對存儲在程序的內存區域中的所復制或剪切的內容進行粘貼操作時,基于所述加密標志位判斷所復制或剪切的內容是否為已進行加密的復制或剪切的內容,其中,如果判斷結果為是,則基于所述防復制開關屬性來判斷是否對已加密的所復制或剪切的內容進行解密處理;如果判斷結果為否,則直接對所復制或剪切的內容進行粘貼操作,其中,在基于所述防復制開關屬性來判斷是否對已加密的所述復制或剪切的內容進行解密處理中如果判斷結果為是,則對所復制或剪切的內容進行解密處理以進行粘貼操作;如果判斷結果為否,則對所復制或剪切的內容不進行解密處理,不執行粘貼操作。根據本發明另一方面的剪貼板控制系統,在所述加密模塊中,其還用于基于自定義編碼格式對要進行加密的所復制或剪切的內容進行格式化操作,將格式化后的所復制或剪切的內容存儲到系統剪切板和/或程序的內存區域中,和/或基于通用編碼格式對不需要進行加密的內容進行格式化操作,將格式化后的內容存儲到程序共享內存區域中,其中,所述通用編碼格式包括針對文本內容的TXT、HTML或RTF的編碼格式、針對圖片的 GDI METAFILE和BMP的編碼格式以及針對對象的編碼格式,所述自定義編碼格式除了通用編碼格式外的所設置的編碼格式。與現有技術相比,本發明可以具有以下優點本發明為一種剪貼板控制方法,通過對剪貼板內容的加密和對內容格式的控制來實現對文件內容的保護,達到文件內容在未授權情況下不被復制的目的,本發明擴展了在互聯網協同辦公的應用,提高了對文件內容的保護,可以防止文件內容在未授權情況下被復制。
本發明的其它特征和優點將在隨后的說明書中闡述,并且,部分地從說明書中變得顯而易見,或者通過實施本發明而了解。本發明的目的和其他優點可通過在說明書、權利要求書以及附圖中所特別指出的結構來實現和獲得。
附圖用來提供對本發明的進一步理解,并且構成說明書的一部分,與本發明的實施例一起用于解釋本發明,并不構成對本發明的限制。在附圖中圖I是根據本發明第一實施例的剪貼板控制方法的流程示意圖;圖2為根據本發明第一實施例的對復制或剪切內容進行粘貼操作的流程示意圖;圖3是根據本發明第二實施例的剪貼板控制系統的結構示意圖。
具體實施例方式以下將結合附圖及實施例來詳細說明本發明的實施方式,借此對本發明如何應用技術手段來解決技術問題,并達成技術效果的實現過程能充分理解并據以實施。需要說明的是,只要不構成沖突,本發明中的各個實施例以及各實施例中的各個特征可以相互結合, 所形成的技術方案均在本發明的保護范圍之內。另外,在附圖的流程圖示出的步驟可以在諸如一組計算機可執行指令的計算機系統中執行,并且,雖然在流程圖中示出了邏輯順序,但是在某些情況下,可以以不同于此處的順序執行所示出或描述的步驟。第一實施例圖I是根據本發明第一實施例的剪貼板控制方法的流程示意圖,請參考圖1,詳細說明該實施例的各個步驟。步驟110,在文檔中設置防復制開關屬性。本發明實施例中,所涉及的文檔是遵循OpenDocument Format (ODF)標準格式的文檔° 該文檔主要由 content, xml、setting, xml、meta. xml、stypes. xml 文件,Pictures 和 META-INF文件夾組成,通過使用解壓縮工具打開即可查看其內部結構。防復制開關屬性值,簡稱CanCopyOut,將其保存在文檔的setting, xml文件中。由于Openoffice. org提供對ODF標準格式的文檔原生支持,且開源免費,將此作為本發明實施例支撐的平臺。由于防復制開關屬性值是存儲在XML文件,因此會涉及XML文件的解析存取過程。 在本發明實施例中加載一個文件和保存文件都會對xml文件進行解析操作。在防復制開關屬性值的設置上,由于提供了二次開發接口,用戶可以通過VBA宏調用中的屬性設置函數setPropertyValue函數來對屬性CanCopyOut進行賦值。步驟120,當用戶對所述文檔進行了復制或剪切操作時,基于所述防復制開關屬性來判斷是否對所復制或剪切的內容進行加密。如果判斷結果為否,則直接將所復制或剪切的內容存儲到系統剪切板和/或程序的內存區域中。具體地,在打開文件時,通過對setting, xml文件進行解析,將防復制開關屬性 CanCopyOut值讀入內存,通過getPropertyValue函數獲得CanCopyOut屬性的屬性值。若CanCopyOut屬性的屬性值為真,即TRUE,則表示所復制或剪切的內容不做加密處理,直接將所復制或剪切的內容存儲到系統剪切板和/或程序的內存區域中。 如果判斷結果為是,則對所復制或剪切的內容進行加密,將加密后的內容存儲到系統剪切板和/或程序的內存區域中。具體地,在打開文件時,通過對setting, xml文件進行解析,將防復制開關屬性 CanCopyOut值讀入內存,通過getPropertyValue函數獲得CanCopyOut屬性的屬性值。若 CanCopyOut屬性的屬性值為假,即FALSE,則表示所復制或剪切的內容標記為禁止復制且需要進行加密處理,則對所復制或剪切的內容(亦可稱為操作數據)作加密處理并將加密后的所復制或剪切的內容存儲到系統剪切板和/或程序的內存區域中。需要說明的是,同系列軟件或相同軟件中,將加密后的內容存儲到程序劃分的內存區域中。例如辦公室軟件套件OpenOffice. org在該軟件套件之間的復制粘貼操作都是通過程序劃分的內存區域來交換復制粘貼的內容(亦稱為操作數據)。因此只需將放入程序劃分的內存區域的操作數據加密即可達到限制復制的目的。在本實施例中,通過由該軟件的應用程序所創建的程序劃分的內存區域來存儲已加密的內容,該劃分的內存區域由應用程序獨享,而不是系統剪貼板所使用的共享內存區域。需要說明的是,對于同系列軟件或相同軟件,可以在已加密的內容中設置加密標志位,以表示該內容進行過加密操作。另外,對于不同系列軟件,將加密后的內容存儲到系統剪貼板中。需要說明的是,在本實施例中所復制或剪切的內容可以為文本、表格、圖片和/或對象等操作數據。在完成步驟120后,還可以進一步進行步驟130的操作。步驟130,對所復制或剪切的內容進行格式化操作。具體地,基于自定義編碼格式對要進行加密的內容進行格式化操作,將格式化后的所復制或剪切的內容存儲到系統剪切板和/或程序的內存區域中。將不加密的內容排除在外,采用自定義的特殊編碼格式(除了通用編碼格式外) 對要加密的內容進行格式化處理,這種自定義的特殊編碼格式支持同系列軟件或相同軟件。例如,可以自定義這樣一種編碼格式FormatA,該格式由文件頭、數據和文件尾組成。文件頭處存放一種自定義的數據結構,該種數據結構包括格式標識信息以及信息長度; 文件數據是在BMP編碼格式基礎上去掉其文件頭部分后所剩余部分數據;文件尾存放同系列軟件或相同軟件的標識符。在同系列軟件或相同軟件增加對應的解析過程。按照格式FormatA進行格式化后,在同系列軟件或相同軟件執行粘貼時調用 FormatA格式對應的解析過程進行解析還原。在不同系列軟件執行粘貼時,由于缺少對該格式的解析方法,即使剪貼板有數據,也無法識別,因此無法粘貼。另外,還可以基于通用編碼格式對不需要進行加密的內容進行格式化操作,將格式化后的內容存儲到程序共享內存區域中。所述通用編碼格式包括針對文本內容的TXT、HTML或RTF的編碼格式、針對圖片的 GDI METAFILE和BMP的編碼格式以及針對對象的編碼格式。由于在復制剪貼板的操作數據時,將剪貼板中的操作數據按照某種通用編碼進行格式化,通用編碼可以為針對文本內容的TXT,HTML或RTF的編碼格式,通過該操作可以使格式化后的操作數據能被各應用程序識別,因此只需將不需要進行加密的內容進行格式化,將禁止復制的操作數據排除在外,即可以防止復制。舉例而言,Openoffice. org在執行復制操作時,會將復制的內容格式化后存入系統剪貼板的共享內存區域,因此可以通過對格式化的結果進行篩選,即可達到限制復制的目的。更具體地,先獲得操作數據,操作數據可以為文本、表格、圖片、對象等操作數據, 然后通過getPropertyValue函數獲得CanCopyOut屬性的屬性值,若CanCopyOut屬性值為 FALSE,表示當前文檔內容已標記為禁止復制,清空當前系統的剪貼板;不進行對復制的操作數據按照通用編碼格式格式化的操作,阻止其將結果寫入系統剪貼板共享內存區域;步驟140,對復制或剪切的內容進行粘貼操作。具體地,當用戶對存儲在程序的內存區域中的所述復制或剪切的內容進行粘貼操作時,可以通過基于所述加密標志位判斷是否所述復制或剪切的內容為已進行加密的復制或剪切的內容。需要說明的是,由于限制復制的文檔已無法往系統剪貼板存放數據,系統剪貼板為空,因此與系統剪貼板相關的粘貼操作都已被禁用。該步驟是指針對存儲在在同系列軟件或相同軟件內的程序的內存區域中的加密內容的解密過程。圖2為根據本發明第一實施例的對復制或剪切內容進行粘貼操作的流程示意圖, 請參考圖2,下面詳細說明各個步驟。步驟210,獲取程序的內存區域中的所復制或剪切的內容,基于加密標志位判斷是否所復制或剪切的內容為已進行加密的復制或剪切的內容。如果判斷結果為否,即加密標志位為假,則直接對所復制或剪切的內容進行粘貼操作。如果判斷結果為是,即加密標志位為真,則進入步驟220,執行步驟220的操作。步驟220,基于防復制開關屬性來判斷是否對已加密的所復制或剪切的內容進行解密。如果判斷結果為是,則對所復制或剪切的內容進行解密處理以進行粘貼操作。具體地,防復制開關屬性值為假,即CanCopyOut屬性值為False,對程序共享內存區域的操作數據進行解密處理,然后進行粘貼操作。如果判斷結果為否,則對所復制或剪切的內容不進行解密處理,退出粘貼操作。具體地,防復制開關屬性值為真,即CanCopyOut屬性值為True,不作解密處理,并且在用戶進行粘貼操作時提示用戶源內容已被限制復制。另外,還可以通過判斷所述復制或剪切的內容中是否含有加密標志位來判斷復制或剪切的內容是否已進行加密,或者通過判斷所復制或剪切的內容的格式化處理方式來判斷復制或剪切的內容是否已進行加密,在此不再詳細贅述。需要說明的是,本發明實施例可以用于Openoffice. org以及基于Openoffice. org所研發的各種延伸產品。其套件內模塊=Writer (文本文檔)、Impress (演示文稿)、 Calc (電子表格)均能實現相同的效果。 本發明方法通過對剪貼板內容的加密和對內容格式的控制來實現對文件內容的保護,達到文件內容在未授權情況下不被復制的目的,本發明擴展了在互聯網協同辦公的應用,提高了對文件內容的保護,可以防止文件內容在未授權情況下被復制。第二實施例圖3是根據本發明第二實施例的剪貼板控制系統的結構示意圖,下面參考圖3詳細說明該系統的各組成部分。剪貼板控制系統包括設置模塊31、加密模塊32以及解密模塊33,設置模塊31與加密模塊32連接,加密模塊32與解密模塊33連接,下面詳細說明各個模塊的功能。設置模塊31,其用于在文檔中設置防復制開關屬性,對于防復制開關屬性值進行控制。加密模塊32,其用于當用戶對所述文檔進行了復制或剪切操作時,基于防復制開關屬性來判斷是否對所復制或剪切的內容進行加密;其中,如果判斷結果為是,則對所復制或剪切的內容進行加密,將加密后的內容存儲到系統剪切板和/或程序的內存區域中;如果判斷結果為否,則直接將所復制或剪切的內容存儲到系統剪切板和/或程序的內存區域中。加密模塊32,其還用于在加密后的內容中設置加密標志位。在加密模塊32中,其還用于基于自定義編碼格式對要進行加密的所復制或剪切的內容進行格式化操作,將格式化后的所復制或剪切的內容存儲到系統剪切板和/或程序的內存區域中。加密模塊32還可以基于通用編碼格式對不需要進行加密的內容進行格式化操作,將格式化后的內容存儲到程序共享內存區域中。其中,通用編碼格式包括針對文本內容的TXT、HTML或RTF的編碼格式、針對圖片的GDI METAFILE和BMP的編碼格式以及針對對象的編碼格式,自定義編碼格式除了通用編碼格式外的所設置的編碼格式。解密模塊33,其用于當用戶對存儲在程序的內存區域中的所復制或剪切的內容進行粘貼操作時,基于加密標志位判斷所復制或剪切的內容是否為已進行加密的復制或剪切的內容,其中,如果判斷結果為是,則基于防復制開關屬性來判斷是否對已加密的所復制或剪切的內容進行解密;如果判斷結果為否,則直接對所復制或剪切的內容進行粘貼操作,其中,在基于防復制開關屬性來判斷是否對已加密的所復制或剪切的內容進行解密處理時如果判斷結果為是,則對所復制或剪切的內容進行解密處理以進行粘貼操作;如果判斷結果為否,則對所復制或剪切的內容不進行解密處理,不執行粘貼操作。本發明系統通過對剪貼板內容的加密和對內容格式的控制來實現對文件內容的保護,達到文件內容在未授權情況下不被復制的目的,本發明擴展了在互聯網協同辦公的應用,提高了對文件內容的保護,可以防止文件內容在未授權情況下被復制。本領域的技術人員應該明白,上述的本發明的各模塊或各步驟可以用通用的計算裝置來實現,它們可以集中在單個的計算裝置上,或者分布在多個計算裝置所組成的網絡上,可選地,它們可以用計算裝置可執行的程序代碼來實現,從而,可以將它們存儲在存儲裝置中由計算裝置來執行,或者將它們分別制作成各個集成電路模塊,或者將它們中的多個模塊或步驟制作成單個集成電路模塊來實現。這樣,本發明不限制于任何特定的硬件和軟件結合。雖然本發明所揭露的實施方式如上,但所述的內容只是為了便于理解本發明而采用的實施方式,并非用以限定本發明。任何本發明所屬技術領域內的技術人員,在不脫離本發明所揭露的精神和范圍的前提下,可以在實施的形式上及細節上作任何的修改與變化, 但本發明的專利保護范圍,仍須以所附的權利要求書所界定的范圍為準。
權利要求
1.一種剪貼板控制方法,其特征在于,包括在文檔中設置防復制開關屬性;當用戶對所述文檔進行了復制或剪切操作時,基于所述防復制開關屬性來判斷是否對所復制或剪切的內容進行加密;其中,如果判斷結果為是,則對所復制或剪切的內容進行加密,將加密后的內容存儲到系統剪切板和/或程序的內存區域中;如果判斷結果為否,則直接將所復制或剪切的內容存儲到系統剪切板和/或程序的內存區域中。
2.根據權利要求I所述的方法,其特征在于,還包括在所述加密后的內容中設置加密標志位。
3.根據權利要求2所述的方法,其特征在于,還包括在用戶對存儲在程序的內存區域中的所復制或剪切的內容進行粘貼操作時,基于所述加密標志位判斷所復制或剪切的內容是否為已進行加密的復制或剪切的內容,其中,如果判斷結果為是,則基于所述防復制開關屬性來判斷是否對已加密的所復制或剪切的內容進行解密處理;如果判斷結果為否,則直接對所復制或剪切的內容進行粘貼操作,其中,在基于所述防復制開關屬性來判斷是否對已加密的所復制或剪切的內容進行解密處理的步驟中如果判斷結果為是,則對所復制或剪切的內容進行解密處理以進行粘貼操作;如果判斷結果為否,則對所復制或剪切的內容不進行解密處理,不執行粘貼操作。
4.根據權利要求I所述的方法,其特征在于,還包括基于自定義編碼格式對要進行加密的內容進行格式化操作,將格式化后的所復制或剪切的內容存儲到系統剪切板和/或程序的內存區域中,和/或基于通用編碼格式對不需要進行加密的內容進行格式化操作,將格式化后的內容存儲到程序共享內存區域中,其中,所述通用編碼格式包括針對文本內容的TXT、HTML或RTF的編碼格式、針對圖片的⑶I METAFILE和BMP的編碼格式以及針對對象的編碼格式,所述自定義編碼格式除了通用編碼格式外的所設置的編碼格式。
5.根據權利要求I所述的方法,其特征在于,在同系列軟件或相同軟件中,將加密后的內容存儲到程序劃分的內存區域中;以及在不同系列軟件中,將加密后的內容存儲到系統剪貼板中。
6.根據權利要求I至5任一項所述的方法,其特征在于,所復制或剪切的內容包括文本、表格、圖片和/或對象。
7.—種剪貼板控制系統,其特征在于,包括設置模塊,其用于在文檔中設置防復制開關屬性;加密模塊,其用于當用戶對所述文檔進行了復制或剪切操作時,基于所述防復制開關屬性來判斷是否對所復制或剪切的內容進行加密;其中,如果判斷結果為是,則對所復制或剪切的內容進行加密,將加密后的內容存儲到系統剪切板和/或程序的內存區域中;如果判斷結果為否,則直接將所復制或剪切的內容存儲到系統剪切板和/或程序的內存區域中。
8.根據權利要求7所述的系統,其特征在于,所述加密模塊,其還用于在所述加密后的內容中設置加密標志位。
9.根據權利要求8所述的系統,其特征在于,還包括解密模塊,其用于當用戶對存儲在程序的內存區域中的所復制或剪切的內容進行粘貼操作時,基于所述加密標志位判斷所復制或剪切的內容是否為已進行加密的復制或剪切的內容,其中,如果判斷結果為是,則基于所述防復制開關屬性來判斷是否對已加密的所復制或剪切的內容進行解密處理;如果判斷結果為否,則直接對所復制或剪切的內容進行粘貼操作,其中,在基于所述防復制開關屬性來判斷是否對已加密的所復制或剪切的內容進行解密處理時如果判斷結果為是,則對所復制或剪切的內容進行解密處理以進行粘貼操作;如果判斷結果為否,則對所復制或剪切的內容不進行解密處理,不執行粘貼操作。
10.根據權利要求7所述的系統,其特征在于,在所述加密模塊中,其還用于基于自定義編碼格式對要進行加密的所復制或剪切的內容進行格式化操作,將格式化后的所復制或剪切的內容存儲到系統剪切板和/或程序的內存區域中,和/或基于通用編碼格式對不需要進行加密的內容進行格式化操作,將格式化后的內容存儲到程序共享內存區域中,其中,所述通用編碼格式包括針對文本內容的TXT、HTML或RTF的編碼格式、針對圖片的⑶I METAFILE和BMP的編碼格式以及針對對象的編碼格式,所述自定義編碼格式除了通用編碼格式外的所設置的編碼格式。
全文摘要
本發明公開了一種剪貼板控制方法及系統,該方法包括在文檔中設置防復制開關屬性;當用戶對所述文檔進行了復制或剪切操作時,基于所述防復制開關屬性來判斷是否對所復制或剪切的內容進行加密;其中,如果判斷結果為是,則對所復制或剪切的內容進行加密,將加密后的內容存儲到系統剪切板和/或程序的內存區域中;如果判斷結果為否,則直接將所復制或剪切的內容存儲到系統剪切板和/或程序的內存區域中。本發明通過對剪貼板內容的加密和對內容格式的控制來實現對文件內容的保護,達到文件內容在未授權情況下不被復制的目的,本發明擴展了在互聯網協同辦公的應用,提高了對文件內容的保護,可以防止文件內容在未授權情況下被復制。
文檔編號G06F21/00GK102609642SQ20121000555
公開日2012年7月25日 申請日期2012年1月9日 優先權日2012年1月9日
發明者吳國榮, 張智鵬, 杜明釗, 陳羽淏, 陳路 申請人:中標軟件有限公司