用多種頁面描述語言描述文檔頁面內容的方法和裝置的製作方法
2023-05-23 22:06:21 2
專利名稱:用多種頁面描述語言描述文檔頁面內容的方法和裝置的製作方法
技術領域:
本發明涉及文檔內容描述技術,特別涉及一種用多種頁面描述語言描述 文檔頁面內容的方法和裝置。
背景技術:
在描述文檔頁面內容時,要用到頁面描述語言(PDL), PDL是指在描述文 檔頁面內容時所採用的已經定義的某種描述方式,比如可升級執行數據(SPD )、 附言(PS, PostScript )、 S2、 S72、印表機指令語言(PCL)、 word和Excel等。當前,在以存儲格式為標準的文檔頁面描述中, 一個文檔頁面內容只能採 用一種類型的PDL指令來描述。比如,word文檔裡面的文檔內容數據只能是 word描述格式,如果嵌入了其它描述格式,如PDF或S2,那麼整個文檔將不 能正常打開。發明內容有鑑於此,本發明的主要目的在於提供一種用多種PDL指令描述文檔 頁面內容的方法,能夠利用多種PDL指令靈活描述文檔頁面內容。本發明的另一個目的在於提供一種用多種PDL指令描述文檔頁面內容 的裝置,能夠利用多種PDL指令靈活描述文檔頁面內容。為達到上述目的,本發明的技術方案是這樣實現的一種用多種頁面描述語言PDL描述文檔頁面內容的方法,該方法包括以下 步驟用多種PDL指令描述文檔頁面內容;分別對不同類型的PDL指令進行解 釋並輸出解釋後的數據。所述不同類型PDL指令之間為順序關係和/或嵌套關係。所述分別對不同類型的PDL指令進行解釋的方式為不同類型的PDL指令調用各自對應的不同解釋引擎進行解釋;或者不同類 型的PDL指令調用同一個解釋引擎,所述解釋引擎根據不同PDL指令類型切 換狀態進行解釋;或者為上述兩種方法的組合。所述不同類型PDL指令之間設置有起始標識和結束標識;在PDL指令解釋過程中,在識別出某種PDL指令的起始標識時,調用該 PDL指令對應的解釋引擎進行解釋,並在識別到結束標識時結束該PDL指令解 釋過程。所述不同類型PDL指令之間不設置區別標識;在PDL指令解釋過程中,各解釋引擎根據各PDL語言標識自動識別出PDL 指令類型並進行解釋。當不同類型PDL指令之間為嵌套關係時,所述不同類型的PDL指令調用 各自對應的解釋引擎進行解釋的方法為在原PDL指令解釋引擎中調用所嵌套 PDL指令的解釋引擎,對所嵌套的PDL指令進行解釋,並在解釋結束後返回到 原PDL指令解釋引擎繼續原PDL指令解釋過程。所述輸出解釋後的數據的方法為調用一個或一個以上指令輸出執行引擎 輸出解釋後的數據;所述一個以上指令輸出執行引擎分別對應輸出多種不同類 型的PDL指令解釋後的數據。進一步地,對於所述文檔頁面內容中的各圖形狀態,在切換到新的PDL指 令後恢復到預設值,或在切換到新的PDL指令後繼承之前的狀態。一種用多種頁面描述語言描述文檔頁面內容的裝置,該裝置包括PDL指令 生成模塊、解釋模塊和輸出接口模塊;所述PDL指令生成模塊,用於生成描述文檔頁面內容的多種PDL指令;所述解釋模塊,用於存儲各PDL指令對應的解釋引擎,並接收來自PDL 指令生成模塊的描述文檔頁面內容的PDL指令,根據不同PDL指令的類型調 用相應的解釋引擎對PDL指令進行解釋,並將各解釋後的數據輸出給輸出接口 模塊;所述輸出接口模塊,用於接收來自解釋模塊的解釋後的數據,並調用預先 存儲的指令輸出執行? 1擎將所述數據輸出到指定設備。進一步地,所述輸出接口模塊中預先存儲有一個或一個以上指令輸出執行引擎;當只存儲一個指令輸出執行引擎時,所述輸出接口模塊調用該指令輸出執 行引擎將不同類型PDL指令解釋後的數據輸出到指定設備;當存儲有一個以上指令輸出執行引擎時,所述輸出接口模塊分別調用不同 的指令輸出執行引擎輸出不同類型PDL指令解釋後的數據到指定設備。可見,採用了本發明的技術方案,同一文檔頁面內容採用不同的PDL 指令進行描述,在文檔輸出時,不同類型的PDL指令調用各自對應的解釋 引擎,將不同的PDL指令解釋為能夠為指令輸出執行引擎識別的統一數據 格式,再將解釋後的數據經同一個指令輸出執行引擎輸出,這樣,原來針對 文檔頁面內容的不同PDL指令在輸出時變為一致,從而擺脫了現有技術中 同一文檔頁面內容只能用一種PDL指令描述的局限,實現了文檔描述中的 互操作和靈活操作,方便了使用。
圖1為本發明裝置組成結構示意圖;圖2為本發明方法總體流程圖;圖3為本發明方法一個較佳實施例的流程圖。
具體實施方式
本發明的核心思想為用多種PDL指令描述文檔頁面內容;分別對不同類 型的PDL指令進行解釋並輸出解釋後的數據。為使本發明的目的、技術方案及優點更加清楚明白,以下參照附圖並舉實 施例,對本發明作進一步地詳細說明。圖1為本發明裝置組成結構示意圖,如圖1所示,該裝置主要包括PDL指令生成模塊101、解釋模塊102和輸出接口模塊103。PDL指令生成模塊101,用於生成描述文檔頁面內容的多種PDL指令; 解釋模塊102,用於存儲各PDL指令對應的解釋引擎,並接收來自PDL指令生成模塊101的描述文檔頁面內容的PDL指令,根據不同PDL指令的類型調用解釋引擎對PDL指令進行解釋,並將解釋後的數據輸出給輸出接口模塊103;輸出接口模塊103,用於接收來自解釋模塊102的解釋後的數據,並調用 預先存儲的指令輸出執行引擎將所述數據輸出給指定設備,如顯示設備或列印 設備等。上述輸出接口模塊103中可以存儲一個或一個以上指令輸出執行引擎,比 如,若描述文檔頁面內容的PDL指令共包含三種數據類型,則輸出接口模塊 103中可設置三個指令輸出執行引擎,每一個指令輸出執行引擎分別接收一種 解釋後的PDL數據並輸出。但是,在實際的應用中,輸出接口模塊103中通常只設置一個指令輸出執 行引擎,由該指令輸出執行引擎接收解釋後的各種PDL數據並統一輸出。這樣 設置的好處在於,如果不同的解釋引擎調用不同的指令輸出執行引擎輸出數據, 不可避免地會造成由於各指令輸出執行引擎格式上的差異而使得輸出的數據格 式不一致,比如,相同的圖形,有的格式顯示出來線條粗,而有的格式顯示出 來線條細等等,所以用一個共同的指令輸出執行引擎可以避免上述問題,本發 明的較佳方案中所採用的方式即為用 一個共同的指令輸出執行引擎輸出解釋後 的所有數據。基於以上裝置,圖2為本發明方法的總體流程圖,如圖2所示,包括以下 步驟步驟201:用多種PDL描述文檔頁面內容。在描述文檔頁面內容時,不同類型的PDL指令之間可以是順序關係和/或 嵌套關係,並且,不同類型的PDL指令之間可以不用專門設置區別標識,而是 由各自的PDL語言標識自動區隔其它類型的PDL,相應地,解釋引擎能夠根據各PDL語言標識自動識別出對應的PDL指令類型進行解釋;當然,也可以在 不同類型PDL指令之間設置起始標識和結束標識,以標識不同PDL的起始和 結束位置。對於文檔頁面內容中的各圖形狀態,在切換到新的PDL指令後可以 恢復到預設值或繼承之前的狀態。這裡提到的圖形狀態,是指頁面描述語言所 需使用的各種狀態值,如字體、字號、線寬、文本顏色、線型、線顏色、填充 顏色、裁減區設置、字符旋轉設置和字符傾斜設置等;頁面描述語言有相應的 指令來設置這些狀態,頁面描述語言中的文字、圖形以及圖像等對象的屬性取 決於當前圖形狀態的設置。步驟202:分別對不同類型的PDL指令進行解釋並輸出解釋後的數據。這裡所述的對不同類型PDL指令進行解釋的方法為對於順序關係的不同 類型PDL指令,針對不同類型PDL指令調用各自對應的解釋引擎進行解釋; 對於嵌套關係的PDL指令,如,在某一種PDL指令解釋過程中遇到嵌套進來 的另外一種類型PDL指令,則當前程序自動調用嵌套PDL指令對應的解釋引 擎對嵌套PDL指令進行解釋,並在嵌套PDL指令解釋完成後返回到原PDL解 釋引擎繼續原PDL指令解釋。對於前述在不同PDL指令之間設置了起始和結 束標識的方式,在PDL指令解釋過程中,遇到某種PDL指令的起始標識,則 系統自動調用該PDL指令對應的解釋引擎進行解釋,並在遇到結束標識時結束 該PDL指令解釋過程。需要說明的是、上述不同類型PDL指令調用各自對應的解釋引擎進行解釋 的方式可以為不同類型的PDL指令調用不同的解釋引擎進行解釋,也可以為不 同類型的PDL指令調用一個共同的解釋引擎進行解釋,比如方正6、方正7和 華光等PDL指令就可以使用同一個解釋引擎,解釋引擎會在識別出不同指令格 式後自動切換解釋狀態,還可以是上述兩種方式的組合。之後,各解釋《J擎將解釋後的數據輸出到 一個共同的指令輸出執行引擎, 並由該指令輸出執行引擎將解釋後的數據以特定的數據格式輸出到指定的輸出 設備中。這裡,解釋引擎可以在數據解釋過程中邊解釋邊輸出解釋後的數據, 也可以等當前全部類型PDL指令解釋完成後,再將全部解釋後的數據輸出給指令輸出執行引擎,具體採用哪種方式根據實際應用中的指令輸出執行引擎模式而定。圖3為本發明方法的一個較佳實施例的流程圖,如圖3所示,包括以下步驟步驟301:採用三種PDL指令描述文檔中某一頁的頁面內容,三種類型的 PDL指令之間既包含順序關係又包含嵌套關係。本實施例中,假設這三種PDL指令分別為SPD、 S2和PS,其中,PS和 SPD為順序描述關係,而SPD和S2為嵌套關係,如SPD指令中嵌套有S2指 令。這裡所說的嵌套也可以是多重嵌套,多重嵌套的處理方式與一重嵌套相同, 為便於描述,此處僅以一重嵌套為例進行說明。步驟302:調用對應的解釋引擎對三種PDL數據進行解釋。在輸出文檔時,根據不同的PDL指令類型調用對應的解釋引擎。本實施例 中,不同的PDL指令對應著不同的解釋引擎首先調用PS指令解釋引擎對PS 指令進行解釋,PS指令解釋完成後再調用SPD指令解釋引擎對SPD指令進行 解釋,在這個過程中,如果遇到S2指令,則系統自動調用S2指令解釋引擎對 S2指令進行解釋,並在S2指令解釋完成後返回到原來的SPD指令解釋過程, 由SPD指令的解釋引擎繼續進行SPD指令解釋,直至結束。步驟303:各解釋引擎調用一個共同的指令輸出執行引擎輸出解釋後的數 據內容。上述PS指令的解釋引擎、SPD指令的解釋引擎以及S2指令的解釋引擎調 用一個共同的指令輸出4丸行引擎輸出解釋後的數據,這樣,原來用不同PDL指 令描述的頁面內容在輸出時就變為一致的了 。可見,採用本發明的技術方案,擺脫了以往只能用一種PDL指令描述文檔 頁面內容的局限,允許用不同PDL指令描述同一文檔頁面內容,實現了文檔描 述中的互操作和靈活操作,方便了使用,同時豐富了文檔的數據表達。綜上所述,以上僅為本發明的較佳實施例而已,並非用於限定本發明的 保護範圍。凡在本發明的精神和原則之內,所作的任何修改、等同替換、改 進等,均應包含在本發明的保護範圍之內。
權利要求
1. 一種用多種頁面描述語言PDL描述文檔頁面內容的方法,其特徵在於,該方法包括以下步驟用多種PDL指令描述文檔頁面內容;分別對不同類型的PDL指令進行解釋並輸出解釋後的數據。
2、 根據權利要求1所述的方法,其特徵在於,所述不同類型PDL指令之 間為順序關係和/或嵌套關係。
3、 根據權利要求2所述的方法,其特徵在於,所述分別對不同類型的PDL 指令進行解釋的方法為不同類型的PDL指令調用各自對應的不同解釋引擎進 行解釋;或者不同類型的PDL指令調用同一個解釋引擎,所述解釋引擎根據不 同PDL指令類型切換狀態進行解釋;或者為上述兩種方法的組合。
4、 根據權利要求3所述的方法,其特徵在於,所述不同類型PDL指令之 間-沒置有起始標識和結束標識;在PDL指令解釋過程中,在識別出某種PDL指令的起始標識時,調用該 PDL指令對應的解釋引擎進行解釋,並在識別到結束標識時結束該PDL指令解 釋過程。
5、 根據權利要求3所述的方法,其特徵在於,所述不同類型PDL指令之 間不設置區別標識;在PDL指令解釋過程中,各解釋引擎根據各PDL語言標識自動識別出PDL指令類型並進行解釋。
6、 根據權利要求3所述的方法,其特徵在於,當不同類型PDL指令之間 為嵌套關係時,所述不同類型的PDL指令調用解釋引擎進行解釋的方法為在 原PDL指令解釋引擎中調用所嵌套PDL指令的解釋引擎,對所嵌套的PDL指 令進行解釋,並在解釋結束後返回到原PDL指令解釋引擎繼續原PDL指令解 釋過程。
7、 根據權利要求1所述的方法,其特徵在於,所述輸出解釋後的數據的方法為調用一個或一個以上指令輸出執行引擎輸出解釋後的數據;所述一個以 上指令輸出執行引擎分別對應輸出多種不同類型的PDL指令解釋後的數據。
8、 根據權利要求1所述的方法,其特徵在於,該方法進一步包括對於所 述文檔頁面內容中的各圖形狀態,在切換到新的PDL指令後恢復到預設值,或 在切換到新的PDL指令後繼承之前的狀態。
9、 一種用多種頁面描述語言描述文檔頁面內容的裝置,其特徵在於,該裝 置包括PDL指令生成模塊、解釋模塊和輸出接口模塊;所述PDL指令生成模塊,用於生成描述文檔頁面內容的多種PDL指令; 所述解釋模塊,用於存儲各PDL指令對應的解釋引擎,並接收來自PDL 指令生成模塊的描述文檔頁面內容的PDL指令,根據不同PDL指令的類型調 用解釋引擎對PDL指令進行解釋,並將各解釋後的數據輸出給輸出接口模塊; 所述輸出接口模塊,用於接收來自解釋模塊的解釋後的數據,並調用預先 存儲的指令輸出執行^ 1擎將所述數據輸出到指定設備。
10、 根據權利要求9所述的裝置,其特徵在於,所述輸出接口模塊中預先 存儲有一個或一個以上指令輸出執行引擎;當只存儲一個指令輸出執行引擎時,所述輸出接口模塊調用該指令輸出執 行引擎將不同類型PDL指令解釋後的數據輸出到指定設備;當存儲有 一個以上指令輸出執行引擎時,所述輸出接口模塊分別調用不同 的指令輸出執行引擎輸出不同類型PDL指令解釋後的數據到指定設備。
全文摘要
本發明公開了一種用多種頁面描述語言(PDL)描述文檔頁面內容的方法,用多種PDL指令描述文檔頁面內容;分別對不同類型的PDL指令進行解釋並輸出解釋後的數據。本發明還同時公開了一種用多種PDL指令描述文檔頁面內容的裝置,應用該方法和裝置擺脫了以往只能用一種PDL指令來描述同一文檔頁面內容的局限,實現了用多種PDL指令靈活描述文檔頁面內容。
文檔編號G06F17/30GK101221563SQ20071006265
公開日2008年7月16日 申請日期2007年1月12日 優先權日2007年1月12日
發明者劉昌偉, 王東臨, 鄒開紅 申請人:北京書生國際信息技術有限公司