亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        PostScript文件與PDF文件間數據轉換

        2013-03-11 10:50:04殷,王
        網絡安全與數據管理 2013年11期
        關鍵詞:頁面文本信息

        孫 殷,王 鵬

        (1.浙江商業(yè)職業(yè)技術學院,浙江 杭州310053;2.浙江工業(yè)大學,浙江 杭州310014)

        在可變數據印刷系統(tǒng)中,每個電子頁面的內容(如文字、圖形、圖像)經過頁面描述語言合成后產生相應的可變數據印刷頁面,最終形成特定的數據文件。PostScript文件(簡稱PS)和PDF文件是目前存儲可變數據印刷頁面常用的文件格式,因此,研究這兩種文件格式之間的數據轉換對可變數據印刷的發(fā)展具有一定的意義。而當前PS文件與PDF文件之間的轉換主要有兩種方式[1]:(1)通過專業(yè)的軟件(如Acrobat Distiller)轉換;(2)通過虛擬打印機來實現。

        但是這兩種方式都不利于自主研究數據印刷系統(tǒng)的開發(fā)。本文根據PS文件格式和PDF文件格式的特點,利用PS解釋器Ghostscript提供的API接口,通過VC6.0實現了PS文件和PDF文件的相互轉換,并給出相應的代碼。

        1 PostScript和PDF文件結構

        1.1 PostScript文件

        PostScript是由Adobe公司開發(fā)的頁面描述語言,其最大特點是可以將印刷品中包含的文字、圖形、圖像、字體和顏色等各種元素用一種計算機數據來表現和描述,然后經過RIP(光柵圖像處理器)快速地解釋為可控制打印設備輸出用的點陣信息。用PostScript語言所描述的頁面文件稱為PS文件,其后綴名為.ps或.eps。

        PostScript程序可訪問的所有數據都是以對象(Object)形式存在的[2],對象由操作符產生、管理和撤銷。常用的對象有整數和實數、布爾型、數組、壓縮數組、串、名字、字典等[3-4]。程序中的數據存儲在堆棧中并通過堆棧被操作符管理執(zhí)行。

        PostScript語言解釋器對語句的執(zhí)行是逐句解釋執(zhí)行,控制比較靈活,一切操作均通過堆棧進行。例如用粗線畫一個圓:

        %%Title:用粗線畫一個圓

        /inch{72 mul}def

        4.25 inch 5.5 inch

        2.5 inch

        0 360 arc

        1.75 inch setlinewidth

        stroke

        showpage

        以‘%’開頭的第一段語句表示注釋,第二段語句定義了名字對象‘inch’,接著定義圓的中心位置(4.25,5.5),半徑2.5;然后畫角度為360°的圓;最后定義粗線的寬度1.75,畫出粗線的路徑進行顯示。

        1.2 PDF文件

        便攜式文件格式PDF(Portable Document Format)是Adobe公司繼PostScript后于1993年推出的一種電子文件格式[5]。它具有能夠完整地保存任何原文檔中的文字、格式、顏色、圖形、可加密等優(yōu)秀特性,廣泛應用于數據印刷系統(tǒng)中。

        PDF文件主要由四部分組成:文件頭(Header)、文件體(Body)、交叉引用表(Cross-referrence table)和文件尾(Trailer)。PDF作為一種結構化的文件格式,它是由一些具有特定數字標號的“對象”的模塊所組成。其文檔結構是一種樹形結構,通過文件尾(Trailer)可以找到文件體的根對象Catalog[6],根對象包含PDF文檔的大綱(Outline)、頁面組對象(Pages Tree)等。文檔結構具體層次關系如圖1所示。

        其中頁面對象(Page)作為PDF中最重要的對象,包含了該頁面的文字、圖片、頁面大小等信息。頁面中包含的信息是包含在一個稱為流(stream)[7-8]的對象里,這個流的長度(字節(jié)數)必須直接給出或指向另外一個對象。

        圖1 PDF文檔結構

        2 文件格式轉換算法的實現

        根據前兩節(jié)的PostScript文件結構可知,要實現PS文件到PDF文件的轉換,首先需要對PS文件中的不同信息(文字、圖形和圖像等)進行解析,然后轉換為對應的PDF對象。兩者間轉換的總流程主要為:

        (1)導入要轉換的PostScript文件,初始化PS解釋器;

        (2)開始掃描PS文件,記錄當前代碼段所在頁。判斷頁信息是否已經到末尾,是則退出,否則繼續(xù)向下掃描;

        (3)讀取PS頁面描述信息,對其中的文本信息、圖形信息和圖像信息分別進行提取并處理;

        (4)將第三步中處理的文本、圖形和圖像信息進行重構,然后分別轉換為相對應的PDF對象;

        (5)判斷PS文件是否掃描結束,是則回到第(2)步,否則回到第(3)步;

        (6)轉換算法結束。

        圖2為PS文件轉換為PDF文件的總流程圖。

        圖2 轉換總流程圖

        由于PostScript文件對文本、圖形和圖像的描述機制各不相同,因此,其相應的信息提取算法也不盡相同。在PostScript文件中,圖像是取樣值的矩形數值,每個取樣值表示某種彩色。按行或者列掃描圖像矩形所得的一串取樣數據定義了一個圖像。除了矩形數組之外,PS程序中還包括一些圖像參數:源圖像的格式、圖像取樣數據的數據源、圖像空間坐標等。因此,對PS文件中圖像的提取主要是將圖像的參數和圖像取樣數據進行提取,其對應的提取算法流程圖如圖3所示。

        圖3 圖像提取流程圖

        在標準的PostScript文件中,文本大都是以字庫[9]的形式進行保存,因此在PostScript中的字符可以由PS解釋器根據字庫提取出對應的字符。對PS文件中文本信息的提取流程如圖4所示,主要過程如下:

        (1)掃描文檔,記錄當前頁面信息。判斷是否已掃描到文件尾,是則跳轉到第(5)步,否則跳到第(2)步;

        (2)繼續(xù)掃描,判斷是否掃描到文本提示符,是則跳到第(3)步,否則跳回第(1)步;

        (3)根據文本提示符獲取相應的字庫詞典,查找字庫獲取PS所描述的字符;

        (4)保存第(3)步提取的文本信息;

        (5)結束文本掃描。

        圖4 PS文件中文本提取算法流程圖

        掃描文件時通過尋找關鍵操作符函數FindStringInBuffer(),可以得到需要的操作符位置。源程序如下:

        由于PS解釋器的實現比較復雜,本文通過利用PS解釋器Ghostscript提供的API接口函數對PS文件進行解釋轉換。首先通過接口函數gsapi_new_instance()新建一個要轉換的實例。轉換過程主要在接口函數gsapi_init_with_args()中進行,即初始化PS解釋器并將輸入PS對象轉換為對應的PDF對象。主要轉換程序如下:

        3 效果及結論

        本文的程序在VC6.0上編譯通過,并可以將輸入的PS文件(my.ps)轉 換為PDF文件(my.pdf)。轉換前后的結果如下:

        由圖5和圖6可以看出,轉換前后的圖像幾乎完全一樣。由圖7中文本的轉換結果可以看出,轉換的字符內容一樣。通過修改輸入文件名和輸出文件名類型,例如輸入文件為.pdf格式文件,輸出文件為.ps文件,也可以實現PDF文件到PS文件的轉換。因此,在設計開發(fā)可變數據印刷系統(tǒng)時,可以將該程序作為數據轉換的一部分嵌入到印刷軟件系統(tǒng)中,具有一定的實用性。但是,由于PS解釋器并非獨立設計,受到其接口函數的限制,程序的延伸性不是很好。

        圖5 my.ps文件中圖形

        圖6 my.pdf文件中圖形

        圖7 文本轉換結果

        [1]張志偉,孔凡讓,吳欣.PostScript格式文獻中數學表達式的提取方法[J].計算機應用與軟件,2008,25(11):157-159.

        [2]USA Adobe Systems Inc.PostScript language reference mannal.Addison Wesley Protessional,1990.

        [3]何明,匡燕玲,李小龍,等.頁面描述語言PostScript及其轉換程序[J].北京工業(yè)大學學報,2004,20(4):102-104.

        [4]徐福培,潘志庚.頁面描述語言及其程序設計[M].南京:南京大學出版社,1994.

        [5]USA Adobe Systems Inc.Document management-Portable document format-Part 1:PDF 1.7[J].Adobe Systems Incorporated,2008,PDF 32000-1.

        [6]李珍,田學東.PDF文件信息的抽取與分析[J].計算機應用,2003,23(12):145-148.

        [7]王婉,韓逸秋,徐福培.PDF文件格式及其向PS文件轉換的研究[J].計算機科學,2001,28(9):123-127.

        [8]吳一民,朱檬,羅綿川.基于.NET平臺PostScript文件解析標引系統(tǒng)設計與實現[J].微計算機應用,2009(10):5863.

        [9]段華偉,黃靈閣.計算機文字處理技術現狀[J].印刷質量與標準化,2004(5):39-41.

        猜你喜歡
        頁面文本信息
        大狗熊在睡覺
        刷新生活的頁面
        在808DA上文本顯示的改善
        基于doc2vec和TF-IDF的相似文本識別
        電子制作(2018年18期)2018-11-14 01:48:06
        訂閱信息
        中華手工(2017年2期)2017-06-06 23:00:31
        文本之中·文本之外·文本之上——童話故事《坐井觀天》的教學隱喻
        展會信息
        中外會展(2014年4期)2014-11-27 07:46:46
        如何快速走進文本
        語文知識(2014年1期)2014-02-28 21:59:13
        同一Word文檔 縱橫頁面并存
        淺析ASP.NET頁面導航技術
        麻豆成人久久精品二区三区免费| 国产高清无码在线| 日韩美女高潮流白浆视频在线观看| 午夜宅男成人影院香蕉狠狠爱| 国产精品国产三级国产av中文| 国产亚洲2021成人乱码| 免费人成又黄又爽的视频在线| 久久洲Av无码西西人体| 一区二区中文字幕在线观看污污| 精品无人码麻豆乱码1区2区| 少妇对白露脸打电话系列| 国产高清在线91福利| 在线看亚洲一区二区三区| 内射干少妇亚洲69xxx| 人妻无码一区二区三区四区| 国产精品成人av电影不卡| av黄色大片久久免费| 色欲av伊人久久大香线蕉影院| 亚洲av无码久久寂寞少妇| 制服无码在线第一页| 国产精品高湖呻呤久久av | 18禁黄网站禁片免费观看女女| 精品久久久久久久中文字幕| 99日本亚洲黄色三级高清网站| 成人性生交大片免费5| 精品久久久久久无码人妻蜜桃| 国产精品国产三级农村妇女| 人妻尤物娇呻雪白丰挺| 午夜视频国产在线观看| 成熟丰满熟妇高潮xxxxx视频| 久久精品国产亚洲一区二区| 射进去av一区二区三区| 国产亚洲一区二区在线观看| 国产乱子伦精品无码码专区 | 日本女优久久精品观看| 亚洲女同一区二区| 亚洲av成人一区二区三区av| 亚洲黄色官网在线观看| 国产午夜激无码av毛片不卡| 国产精品国产成人国产三级| 亚洲AV无码久久久久调教|