<rt id="mbsj1"></rt>

<rp id="mbsj1"></rp>
    1. 基于asp.net平臺ps反解原理

      來源: 萬方數據

      廣告:阿里云新人專場

      基于asp.net平臺PostScript文件解析標引系統設計與實現

      吳一民朱漾羅綿J

      (華南理工大學計算機科學與工程學院廣州510640)

      摘要:從PostScript文件中提取文字及圖片信息,是電子出版領域一個新的研究方向。介紹了在.NET平臺下設計的PostScript文件解析、標引系統,首先根據系統的實際需求及當前該領域已有的系統研究設計了標引解析系統的架構及功能;接著采用 了面向對象、計算機圖形學及計算機輔助設計等多種技術實現了關鍵的數據結構及方法;最后采用.NET設計了PostScript文件解析標引系統框架。實踐表明,系統具有更好的文件解析質量及更豐富的功能,有效解決了目前市場上同類系統軟件的功能匱乏、操作不便等問題。

      關鍵詞:PostScript解析標引柵格層

      Design and Implementation of PostScript Documents Parsing

      Indexing System In.NET Framework

      WU Yimin,ZHU Meng,LUO Mianchuan

      (College of Computer Science and Engineering,South China University of Technology,Guangzhou,510640,China)

      Abstract:Extracting words and images from PostScript documents is a new research in the domain of Electronic—Publish.The paper

      introduced a late—model PostScript documents parsing indexing system designed in.NET Framework.First of all,the framework and

      the main functions of the system were researched and designed according tO the requirement and the current systems.Then,the pivotal

      data—structure and method were implemented with object—oriented technique,computer graphics and computer aided design.Finally,

      the framework of the system was implemented in.NET framework..It is approved that the system solved the problem of function and

      operation existing in the current similar systems.

      Keywords:PostScript,parse,indexing

      1 引言

      目前,在印刷出版業主要用PostScript(簡稱Ps)文件來描述印前需要印刷出版的信息:關于PostScript可以參考文獻[1]及文獻[2,3]。PostScript文件使用的廣泛性給通過對PostScript文件的反向解析獲得報刊

      雜志內容并用于其他非印刷用途提供了可能,即通過提取PS文件中的文字或者圖片用于其他的非印刷媒體(如制作網絡電子雜志、報紙等)一。。

      現在,伴隨著網絡媒體、電子出版的快速發展,如何開發出一套能夠直接將PostScript文件進行解析以進行電子出版的功能完善、性能優秀且具有編輯、發布等擴展性功能的解析系統是目前各電子出版商競爭的

      目標。我們在深入研究PostScript文件顯示機制、系統需求及目前該領域已有的PostScript解析系統的基礎上,設計了一種新的基于.NET平臺開發的PostScript文件解析標引系統,該系統綜合采用了面向對象、多種

      設計模式、計算機圖形學及計算機輔助設計技術(CAD),有效解決了已有系統解析效果較差、標引編輯功能缺乏、操作不便等多種問題,系統已經投入實際的數字報紙、雜志系統使用較長時間且效果較好。本文主要介

      紹該解析標引系統的系統架構及系統設計中的關鍵技術。

      2 系統結構

      2.1系統工作流程

      本系統主要用于解析PostScript文件并提取出文件中的文字塊、圖片塊的位置及具體文字、圖片內容”1,并對解析提取出的內容重構生成版面的形式,對解析出的數據塊進行標引,然后通過文字、圖片區域編輯之后最后將數據進行發布,發布的數據可以用于在WEB上顯示電子版的報紙或者雜志。

      系統的工作流程主要分為四步:①導人PostScript文件及圖片文件;②解析PostScript文件得出初步數據;③對解析出的結果進行標引、編輯,或者插入其他元素(音頻、視頻等);④發布數據。

      (1)PostScript文件是系統的主要數據流來源。PostScript文件中包括了需要印刷出版的版面的文字的

      內容及坐標、圖片的坐標及圖片名、圖片路徑,并可能會以十六進制的形式在文件中嵌入保存圖片數據。本系統需要從PostScript文件獲取的數據包括文字、文字的坐標、圖片的名稱及坐標。系統需要導入PostScript文件以獲得信息。系統還需要導人版面的底圖及版面中的圖片,以便在系統中能夠進行所見即所得的編輯。

      (2)系統在導入了PostScript文件之后需要調用解析模塊(系統中設計為解析動態鏈接庫)對PostScript文件進行反向解析。以提取其中需要用到的數據。

      (3)系統在經解析模塊獲得PostScript文件數據及圖片文件數據之后,已經獲得所有需要獲得的數據。 需要對已有的版面數據進行修正、標引、編輯,把相關聯的一塊塊文字或者圖片關聯在一起組成一篇篇文章,并糾正位置誤差,此外可以在該階段插入音頻、視頻等多媒體數據,以便在最終的電子版的報紙或者雜志中提供更好的用戶體驗及更多的多媒體信息。

      圖1系統工作數據流圖

      (4)在編輯、標引之后,系統可以對編輯的數據以工程的形式進行保存,或者將編輯好的數據進行發布。

      發布的信息可以通過WEB端的發布系統在Web上進行呈現,并最終以網頁的形式生成數字的報紙或者雜志。

      2.2系統模塊結構

      根據系統工作流程,將系統按功能進行模塊劃分,主要包括五大部分,分別是:PostScript文件解析功能、對解析的區域進行編輯功能、對解析出的區域進行標引、工程管理、數據發布。其中每個功能又可劃分為各

      個小的功能子模塊,如編輯功能又可以分為圖形平移、旋轉、合并等多個功能。

      (1)PostScript文件解析模塊。解析模塊就是對導入的PostScript文件進行解析,獲得其中的數據,將數據傳給主程序,由主程序進行處理。

      (2)區域編輯模塊。系統在獲得PostScript文件解析數據之后需要在版面上以矩形或者多邊形的形式顯示出各個文字或圖片區域。系統的該功能可以允許對解析出的各個區域進行移動、變形等變換,此外還允許修改區域中的文字數據,區域中的圖片來源,甚至允許添加區域或者刪除區域。該功能模塊與計算機圖形學及計算機輔助設計(CAD)結合緊密【6】,需要的子模塊包括基本圖元模塊,點、線及多邊形的算法判斷模塊,消息處理模塊,對話框處理模塊,系統界面模塊等。

      (3)區域標引模塊。系統在對區域進行編輯完畢之后及之前都可以進行標引及關聯操作,標引即對區域進行標注為正文、標題、圖片或者其他各種類型。而關聯操作則是將一篇文章的標題區域、正文區域及插

      圖區域關聯在一起,系統會以一個包絡整個關聯區域的大矩形或多邊形進行高亮顯示,并對關聯之后的區域進行標記。標引模塊需要的子模塊包括工程資源管理模塊,消息處理模塊。

      (4)工程管理模塊。系統以工程的形式對導人的數據進行管理,包括新建、保存工程,這樣可以更高效地管理數據且易于數據備份。工程一般以一期報刊、雜志或者多期報刊、雜志

      為單位。工程中包括了所有需要的數據資源包括頁面數、每頁的區域塊數、區域的坐標、區域之間的關聯關系、區域的屬性及區域內的數據,系統支持以序列化的方式保存已有的工程,并可以打開已保存的工程

      文件。工程管理模塊需要的子模塊包括系統的文檔及框架管理模塊、工程資源管理模塊、系統界面模塊、基本圖元模塊等。一

      (5)數據發布模塊。系統在編輯標引結束后可以除將數據以工程的形式保存也可以直接進行數據發布,發布的數據包括發布端需要的數據庫數據及圖片等文件資源。發布后的數據可以通過發布端進行WEB

      發布生成網頁上的電子報紙或者電子雜志。數據發布模塊需要調用的子模塊包括數據庫調用模塊、工程資源管理模塊。系統的模塊結構圖如圖2所示。、

      3 系統實現

      ‰腳度件反制系統功能

      I

      可卞

      主模塊

      區域編輯區域標引T程管理數據發布

      可卞

      子模塊

      圖2系統模塊結構框圖

      系統主要在.NET框架下采用Visual C++開發完成,系統的主要功能模塊PostScript文件解析模塊及部分小模塊如圖片處理模塊、數據庫調用模塊都以動態鏈接庫DLL進行實現,分別完成特定的功能,DLL模塊

      與主程序之間通過導出類進行數據交換。

      3.1 PostScript解析模塊

      PostScript文件的解析以一個單獨的動態鏈接庫來完成,在系統導入PostScript文件成功后調用該DLL進行解析,DLL由主程序靜態進行調用。解析模塊對PostScript文件的解析分為預掃描和掃描兩個階段,預

      掃描首先解析出目標文件中的基本數據信息如文件合法性、文件所包含的版面頁數、每頁的區域數等信息。

      系統在調用預掃描后獲得部分預處理信息,進行初始構造后再調用掃描函數以獲得更詳細的數據如每個區域的文字信息、圖片名等。系統調用該模塊的步驟可以分為以下四步:

      (1)調用解析DLL的導出類CPs—Parse,傳人導入的PostScript文件路徑,構造一個導出類的實例以進行后面的調用。

      (2)調用解析DLL的預掃描函數,獲取目標文件所包含的版面頁數、每頁所包含的文字區域數、圖片區域數。根據預掃描信息構造需要的數據結構。

      (3)根據上一步構造的數據結構調用解析DLL的掃描函數,逐一掃描需要獲得的某頁的某一個文字區域或者圖片區域的信息。

      (4)根據解析的結果構造工程資源結構,如版面數組、每個版面的區域數組。最后將工程資源在編輯視圖中進行顯示。

      系統調用PostScript解析模塊過程可以用UML圖進行表示"J,如圖3所示。

      圖3 系統調用解析模塊實現模式

      3.2工程資源的數據結構及設計模式

      系統采用面向對象的程序設計方法(OOD)與工廠設計模式相結合。系統中每個工程為一個最大對象,該對象由CWBook類來表示。CWBook類具有該雜志的相關屬性如名稱、發布日期、作者等信息,具有該份

      報紙或雜志具有的Ps文件的列表及Ps文件數。每個工程中可以包含多個Ps文件,每個Ps文件由一個數據結構CWPsFile來表示。系統以工程的形式保存導入系統的數據,工程一般是一期報紙或者雜志,也可以

      是數期。每期的報紙或者雜志有可能是一個或多個PostScript文件,每個PostScript文件一般包括多頁(即多個版面),每頁又包括多個文字區域及圖片區域,系統中的區域以多邊形來表示。CWBook類的PS文件列表

      中保存了CWPsFile類指針,每個CWPsFile指針指向一個PostScript文件,每個CWPsFile類又具有一個存儲該文件所有頁的頁數組,數組中存放了頁數個CWPsSheet對象指針,每個對象指向一個頁(版面)。每個

      CWPsSheet頁對象又包含了該頁所具有的區域的列表,每個區域代表一塊文字或者一幅圖片。每個工程中的圖片、文字、視頻等信息都分別由該工程的圖片工廠CWImageFactory、文字工廠CWTextFactory、視頻工廠

      CWVideoFactory統一管理,這些工廠需要對管理的資源進行創建、提取、映射及刪除等操作。每個工廠實際上包括一個該種資源類型的容器實現的列表及對這些資源操作的相關的方法集合。

      采用工廠的設計模式,關鍵在于客戶調用工廠方法時無需關心具體細節。在這里,每個PS文件對象甚至每個版面對象在調用資源時只需要調用公共的工廠接口就可獲得對資源的操作,而不用去關心各種資源

      的具體實現。類似的設計也包括設計抽象的數據庫工廠類,它屏蔽了不同數據庫的實現細節,只需調用數據庫工廠的公共接口即可實現不同類型的數據庫操作。將工廠與面向對象設計相結合使得整個系統的設

      計符合實際世界的抽象,便于系統的擴展即用戶理解。

      系統工程資源的數據結構的UML類圖如圖4所示。

      3.3關聯后生成組合區域

      系統在解析出PostScript文件中的區域之后在編輯視圖中進行顯示。對顯示出的文字或者圖片或者復合區域都可以進行標引、關聯。再將多個區域進行關聯之后,會生成一個復合區域,再添加到區域列表中。

      頁結構CWPsSheet中保存了區域列表m_eRegions,它是一個存放IWRegion指針數組的容器。此外還有一個存放分頁中當前選中的幾何區域列表m—eSelectedRegions,它是一個存放已選中的區域的列表,其中也是存

      放了IWRegion指針。與存放普通區域列表的結構m—eRegions區別在于m—eSelectedRegions采用的散列容器進行存放,在處理選中的區域時可以獲得更高的響應速度。

      在關聯操作及解析操作都有用到一個求包絡多邊形的算法,且都是要根據點集來確定包絡多邊形博一1。

      在解析PostScript文件后獲得每個區域的包絡多邊形的點集來自于每個文字的坐標。在關聯操作中獲取包絡多邊形的點集則來自于各個子區域中提取出的點集。這里采用的多邊形生成算法綜合了已有的Graham

      掃描法,并對之進行改進,以獲得更好的效果。

      對點集生成包絡多邊形的步驟如下:

      (1)獲取點的集合,存放在數組中。在生成單區域多邊形時,點的數組可以在解析PostScript文件返回的數據中獲得。在進行關聯標引后生成復合區域所需要的點集可以從單區域類型的方法調用中獲得。

      (2)對獲得的點集運用Graham【I則掃描法,可以獲得基于該點集的順時針方向的凸包。該步驟生成的凸包是對目標點集產生的初步的包絡多邊形。

      (3)根據射線交叉法對產生的凸包進行修正。最后可以得到較為準確的包絡多邊形。

      3.4柵格層編輯

      系統的編輯、標引及關聯是系統的一個重要功能。編輯、標引以及關聯等操作都是對區域的多邊形主行編輯。由于從PostScript文件中解析出的區域位置都是經過計算后獲得。在將數據及圖片等導人系統,『i

      區域位置及版面的相對關系需要重新計算。這其中用到了屏幕坐標、PostScript內部坐標及編輯視圖中的!

      標之間的轉換¨“。

      區域位置及版面位置等經過轉換后可能存在誤差,這就要求對區域的位置能夠進行批量的改動。系2中針對這一需求采用了區域作為柵格層進行編輯的方法。在解析數據導入系統之后,系統首先會獲得版i

      的大小,系統將所有區域的包絡矩形作為視圖中版面區域,并導入版面的底圖以便進行所見即所得的可視化編輯。版面的底圖在系統中處于底圖層,而導人的區域則作為柵格層。將柵格層與底圖層分離為編輯i

      供了很大的便利。如圖5所示,區域都出于柵格層,而陰影區域則為底圖層。

      4結束語底圖——

      系統采用面向對象設計(OOD),結合了工廠設計模式(Factory Method)等設計模式,結合了.NET平臺的面向組件的編程方法

      (cop),較好的實現了需求中的各種功能。系統的特色之處在于對PostScript文件較好的解析質量、Windows風格的界面設計及包

      括標引、關聯在內的非常便捷的編輯操作等,較之市場上目前已有的類似的PostScript文件解析、標引軟件具有更好的PostScript

      文件解析質量、更方便的編輯、標引、關聯操作及更豐富的功能。

      目前該軟件針對方正飛騰PostScript的版本已經投入實際使用且穩定運行了較長時間。隨著該領域課題的不斷深化,相信類似系

      統的研究與設計將會得到不斷完善。

      柵格層一一

      圖5編輯視圖的柵格層示意圖

      參考文獻

      [1]史瑞芝,崔元日.PostScript技術概要.今日印刷,1997,(02):46—49

      [2]楊浩生.飛騰和PageMaker的Ps文件之異同.印刷雜志,2004,(10):45-46

      [3]Adobe Systems Incorporated.Postscript Language Reference.Manual 3rd Edition Massachusetts:Addison—Wesley Publishi

      Company.1999.1—2

      [4]陽振坤.電子出版系統與PostScript語言.中國計算機用戶,1994,(11):10一11

      [5]張志偉,孔凡讓,吳欣.Postscript格式科技文獻中數學表式的提取方法.計算機應用與軟件,2008,(11):157—162

      [6]朱修清.CAD開發系統的原理與實現.微計算機應用,1992,13(03):31—34

      [7]馬重明,張學旺,范時平.基于UML的軟件體系結構開發方法.計算機工程與應用,2006,42(04):118—120

      [8]劉光惠,陳傳波.求解簡單多邊形和平面點集凸包的新算法.計算機科學,2007,34(12):222—226

      [9]顧大權,游大鳴,侯太平,周軍,袁媛.用凸多邊形微量增長法求解TSP.微計算機應用,2005,26(03):262—264

      [10]張巖,廖士中.二維凸包Graham算法的設計與實現.牡丹江師范學院學報(自然科學版),1999,(02):l一2

      [11]呂志平,朱華統.坐標轉換模型的檢驗及統一表示.測繪學報,1993,22(03):161—167

      作者簡介

      吳一民,男,副教授,主要研究方向為網絡軟件開發環境,操作系統。

      朱漾,男,研究生,研究方向為網絡軟件開發環境。

      羅綿川,男,研究生,研究方向為網絡軟件開發環境。

      基于.NET平臺PostScript文件解析標引系統設計與實現

      作者: 吳一民, 朱濛, 羅綿川, WU Yimin, ZHU Meng, LUO Mianchuan

      作者單位: 華南理工大學,計算機科學與工程學院,廣州,510640

      刊名:

      微計算機應用

      英文刊名: MICROCOMPUTER APPLICATIONS

      年,卷(期): 2009,30(10)

      引用次數: 0次

      參考文獻(11條)

      1.史瑞芝.崔元日 PostScript技術概要 1997(2)

      2.楊浩生 飛騰和PageMaker的PS文件之異同 2004(10)

      3.Adobe Systems Incorporated Postscript Language Reference 1999

      4.陽振坤 電子出版系統與PostScript語言 1994(11)

      5.張志偉.孔凡讓.吳欣 Postscript格式科技文獻中數學表式的提取方法 2008(11)

      6.朱修清 CAD開發系統的原理與實現 1992(3)

      7.馬重明.張學旺.范時平 基于UML的軟件體系結構開發方法 2006(4)

      8.劉光惠.陳傳波 求解簡單多邊形和平面點集凸包的新算法 2007(12)

      9.顧大權.游大鳴.侯太平.周軍.袁媛 用凸多邊形微量增長法求解TSP 2005(3)

      10.張巖.廖士中 二維凸包Graham算法的設計與實現 1999(2)

      11.呂志平.朱華統 坐標轉換模型的檢驗及統一表示 1993(3)

      相似文獻(5條)

      1.期刊論文 吳一民.羅綿川.朱濛 PostScript文件文字塊多邊形生成算法 -計算機工程與設計2010,31(5)

      針對利用PostScript文件制作數字報刊的實際應用,提出并實現了PostScript文件文字塊多邊形的生成算法.先對Post-script文件進行解析,提取出

      文字的二維坐標,每一個文字塊對應有一個二維點集.運用Graham掃描法,按順時針方向構造出二維點集對應的凸包.對射線交叉法進行改進,降低運算復雜

      性,并運用該算法,對凸包進行整形.生成文字塊的多邊形,結果與文字塊的形狀準確重合.

      2.期刊論文 尹立云.盧凌云 談美術課教學后記 -美術大觀2009(11)

      一直以來,教學后記在美術教學中是不被重視的環節,但據我們多年的教學經驗得知,教學后記雖寫在教學活動之后,但它承上啟下,是上節課教學效果

      的評定、質疑和總結,下節課教學內容的提示、預演與解析.

      廣告:阿里云采購優惠專區

      相關內容

      編輯:Admin 時間:2012/9/1 7:08:53 閱覽:432   返回    
      PostScript
      ps反解
      掃描關注53BK報刊官網
      掃描關注閱速公司微信
      三级在线观看免费播放