一種連續(xù)、實時打印長幅面圖形的打印系統(tǒng)及方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及印刷數(shù)據(jù)處理領(lǐng)域,尤其涉及一種連續(xù)、實時打印長幅面圖形的打印系統(tǒng)及方法。
【背景技術(shù)】
[0002]在油氣勘探與開發(fā)過程中會產(chǎn)生各種測井曲線圖形數(shù)據(jù),實際應(yīng)用中,需將測井曲線圖形連續(xù)打印出來用于輔助測井解釋,或?qū)⒔忉尯蟮臏y井曲線圖形打印后存檔備查。眾所公知,測井曲線圖形一般幅度很大,圖形長度可達幾米、十幾米甚至更長,高效率、高質(zhì)量的打印出圖功能模塊對于一個測井解釋處理系統(tǒng)來說十分重要。
[0003]在實際應(yīng)用中,測井曲線圖形一般由大幅面噴墨繪圖儀打印輸出。常規(guī)的測井解釋軟件直接調(diào)用繪圖儀提供的系統(tǒng)打印驅(qū)動程序處理圖形數(shù)據(jù),該方案存在以下三個方面的問題:
[0004]1、測井曲線理論上是無限長的,當需打印的數(shù)據(jù)很長時,由于操作系統(tǒng)硬件資源限制,自帶的驅(qū)動程序無法做到一個頁面處理全部圖形數(shù)據(jù),只能分成多頁處理然后打印。在繪圖儀方面,當發(fā)生多個頁面時候,由于繪圖儀的工作原理會導致多個頁面間出現(xiàn)無法打印到的頁面物理邊距,從而造成圖形數(shù)據(jù)無法連續(xù)的打印輸出到同一張紙上,只能靠手工裁剪、粘貼拼接成一張連續(xù)的紙,使得用戶工作量很大、用戶體驗很差。即:由于測井圖長度太長,系統(tǒng)提供的圖形打印方法占用的內(nèi)存超出操作系統(tǒng)限制,出現(xiàn)內(nèi)存溢出,根本無法完成打印。
[0005]2、當將一條測井曲線分割打印輸出時,對于曲線矢量數(shù)據(jù),由于其數(shù)據(jù)為離散數(shù)據(jù),曲線的坐標值不能保證正好落在一個頁面的結(jié)尾處,由曲線的數(shù)學繪制原理可知,此分割操作會導致兩個頁面的曲線數(shù)據(jù)拼接后出現(xiàn)不連續(xù)的現(xiàn)象。即:同一曲線分割圖形不連續(xù),將一條曲線分成多頁打印后,最終拼接后的曲線不是原始的連續(xù)的圖形。
[0006]3、測井曲線圖形數(shù)據(jù)多為矢量數(shù)據(jù),系統(tǒng)打印驅(qū)動程序?qū)⑹噶繄D形數(shù)據(jù)處理為相應(yīng)繪圖儀使用的打印語言能夠識別的矢量繪制指令,但是,存在當接收到矢量打印指令后,繪圖儀無法在接收到矢量圖形數(shù)據(jù)立即開始打印,需接收完全部數(shù)據(jù)后,經(jīng)過繪圖儀的光柵處理器處理后才能實現(xiàn)打印輸出。即:當打印長幅面的測井曲線圖形時,繪圖儀圖形處理占用時間過長,導致打印時間漫長,用戶體驗較差。
【發(fā)明內(nèi)容】
[0007]本發(fā)明的目的在于提供一種連續(xù)、實時打印長幅面圖形的打印系統(tǒng)及方法,不使用繪圖儀提供的打印驅(qū)動程序,直接將測井曲線圖形數(shù)據(jù)處理成符合目標繪圖儀使用的打印頁面描述語言格式的光柵化數(shù)據(jù),然后將頁面描述數(shù)據(jù)直接發(fā)送至繪圖儀打印輸出。
[0008]為了實現(xiàn)上述目的,本發(fā)明所述連續(xù)、實時打印長幅面圖形的打印系統(tǒng),所述系統(tǒng)安裝在PC機上,所述繪圖設(shè)備與所述系統(tǒng)數(shù)據(jù)通信連接;所述系統(tǒng)包括:圖形讀取模塊、轉(zhuǎn)換和分割模塊、繪圖設(shè)備參數(shù)設(shè)置模塊、繪圖設(shè)備頁面描述語言翻譯模塊和數(shù)據(jù)發(fā)送模塊;
[0009]圖形讀取模塊,接收需要輸出的目標圖形,并獲取所述目標圖形的矢量數(shù)據(jù);
[0010]轉(zhuǎn)換和分割模塊,將目標圖形的矢量數(shù)據(jù)轉(zhuǎn)換成圖像像素數(shù)據(jù),并按預先設(shè)置的圖形分割參數(shù)對所述像素數(shù)據(jù)進行分割處理;
[0011]繪圖設(shè)備參數(shù)設(shè)置模塊,設(shè)置與所述系統(tǒng)連接繪圖設(shè)備輸出的目標圖形的規(guī)格參數(shù)信息;
[0012]繪圖設(shè)備頁面描述語言翻譯模塊,將圖像像素數(shù)據(jù)和目標圖形的規(guī)格參數(shù)信息翻譯成輸出目標圖像的繪圖設(shè)備所使用的繪圖設(shè)備頁面描述語言;
[0013]數(shù)據(jù)發(fā)送模塊,將生成的繪圖設(shè)備頁面描述語言實時同步發(fā)送到繪圖設(shè)備;
[0014]繪圖設(shè)備,根據(jù)接收到的繪圖設(shè)備頁面描述語言時,實時打印輸出目標圖形。
[0015]優(yōu)選地,所述規(guī)格參數(shù)信息包括:輸出的目標圖形的長度、寬度和DPI。
[0016]優(yōu)選地,所述系統(tǒng)還包括判斷模塊;判斷模塊,負責判斷已發(fā)送到繪圖設(shè)備的光柵行是否大于需輸出光柵總行數(shù),如果否,繼續(xù)輸出剩余的圖形;如果是,則向繪圖設(shè)備發(fā)送輸出結(jié)尾命令。
[0017]優(yōu)選地,所述繪圖設(shè)備是支持長幅面打印的打印設(shè)備。
[0018]本發(fā)明一種連續(xù)、實時打印長幅面圖形的打印方法,該方法包括:
[0019]S1,接收輸出目標圖形的請求,分析并獲取目標圖形的矢量數(shù)據(jù);
[0020]S2,將目標圖形的矢量數(shù)據(jù)轉(zhuǎn)換成圖像像素數(shù)據(jù),并按預先設(shè)置的圖形分割參數(shù)對所述像素數(shù)據(jù)進行分割處理;
[0021]S3,將圖像像素數(shù)據(jù)和預先設(shè)置的目標圖形的規(guī)格參數(shù)信息實時翻譯成輸出目標圖像的繪圖設(shè)備所使用的繪圖設(shè)備頁面描述語言;
[0022]S4,將生成的繪圖設(shè)備頁面描述語言實時同步發(fā)送到繪圖設(shè)備;
[0023]S5,繪圖設(shè)備在接收到的繪圖設(shè)備頁面描述語言時,實時打印輸出操作,直至繪圖設(shè)備收到頁面結(jié)尾命令結(jié)束輸出操作為止。
[0024]優(yōu)選地,所述將目標圖形的矢量數(shù)據(jù)轉(zhuǎn)換成圖像像素數(shù)據(jù),具體按照下述步驟實現(xiàn):
[0025]A1,將目標圖形的矢量數(shù)據(jù)分段后轉(zhuǎn)換成圖像像素數(shù)據(jù);
[0026]A2,相鄰連段的連接處均根據(jù)曲線算法的特點進行偏移設(shè)置;
[0027]A3,將目標圖形的矢量數(shù)據(jù)轉(zhuǎn)換成圖像像素數(shù)據(jù),得到矢量轉(zhuǎn)光柵數(shù)據(jù)。
[0028]以使得多段曲線最后拼接打印后依然是連續(xù)的圖形。
[0029]更優(yōu)選地,按預先設(shè)置的圖形分割參數(shù)對所述矢量轉(zhuǎn)光柵數(shù)據(jù)進行光柵分割。
[0030]優(yōu)選地,在步驟S4與S5之間還存在以下步驟:
[0031]判斷已發(fā)送繪圖設(shè)備頁面描述語言的光柵行是否大于目標圖形的規(guī)格參數(shù)信息中記載的需輸出光柵總行數(shù),如果否,則返回S3 ;如果是,則由繪圖設(shè)備頁面描述語言翻譯模塊生成頁面結(jié)尾命令,作為命令尾發(fā)送到繪圖設(shè)備,然后進入S5。
[0032]優(yōu)選地,將生成的繪圖設(shè)備頁面描述語言按行實時同步發(fā)送到繪圖設(shè)備。
[0033]優(yōu)選地,在步驟S1之前包括以下步驟:設(shè)置的目標圖形的規(guī)格參數(shù)信息,所述規(guī)格參數(shù)信息包括:輸出目標圖形的長度、寬度和DPI,并將所述規(guī)格參數(shù)信息翻譯成繪圖設(shè)備頁面描述語言作為命令頭發(fā)送到繪圖設(shè)備中。
[0034]本發(fā)明的有益效果是:
[0035]本發(fā)明提出的技術(shù)方案充分利用了 PC機自身的硬件資源,將圖形的光柵化處理放在PC端,降低了繪圖儀的數(shù)據(jù)處理壓力及處理時間,同時做到繪圖儀收到光柵數(shù)據(jù)后立即開始打印,做到了 PC端的圖形處理與繪圖儀的圖形打印實時同步進行,減少了用戶打印圖形的等待時間,并且通過圖形分割算法,將同一條曲線圖形數(shù)據(jù)分割成連續(xù)的打印頁面描述語言格式的位圖數(shù)據(jù),避免了一次處理整條曲線引起的系統(tǒng)內(nèi)存溢出的異常,實現(xiàn)了將長幅面測井曲線連續(xù)打印輸出到同一紙張的目的。
[0036]基于HP Designjet 4500繪圖儀,使用二十米測井曲線實驗數(shù)據(jù)做對比實驗,與現(xiàn)有技術(shù)相比,本發(fā)明提出的技術(shù)方案,可實時、快速的將二十米圖形數(shù)據(jù)連續(xù)打印到一張連續(xù)的紙張上且圖形長度只受繪圖儀硬件限制(本方案理論上可支持任意長度的圖形連續(xù)打印),現(xiàn)有技術(shù)打印該長圖數(shù)據(jù),程序直接運行崩潰或打印系統(tǒng)異常出圖,無法實現(xiàn)連續(xù)打印。
【附圖說明】
[0037]圖1是連續(xù)、實時打印長幅面圖形的打印系統(tǒng)結(jié)構(gòu)示意圖;
[0038]圖2是連續(xù)、實時打印長幅面圖形的打印流程不意圖。
【具體實施方式】
[0039]為了使本發(fā)明的目的、技術(shù)方案及優(yōu)點更加清楚明白,以下結(jié)合附圖,對本發(fā)明進行進一步詳細說明。應(yīng)當理解,此處所描述的【具體實施方式】僅僅用以解釋本發(fā)明,并不用于限定本發(fā)明。
[0040]參照圖1,本實施例所述連續(xù)、實時打印長幅面圖形的打印系統(tǒng),所述系統(tǒng)安裝在PC機上,所述繪圖設(shè)備與所述系統(tǒng)數(shù)據(jù)通信連接;所述系統(tǒng)包括:圖形讀取模塊、轉(zhuǎn)換和分割模塊、繪圖設(shè)備參數(shù)設(shè)置模塊、繪圖設(shè)備頁面描述語言翻譯模塊和數(shù)據(jù)發(fā)送模塊;
[0041]圖形讀取模塊,接收需要輸出的目標圖形,并獲取所述目標圖形的矢量數(shù)據(jù);
[0042]轉(zhuǎn)換和分割模塊,將目標圖形的矢量數(shù)據(jù)轉(zhuǎn)換成圖像像素數(shù)據(jù),并按預先設(shè)置的圖形分割參數(shù)對所述像素數(shù)據(jù)進行分割處理;
[0043]繪圖設(shè)備參數(shù)設(shè)置模塊,設(shè)置與所述系統(tǒng)連接繪圖設(shè)備輸出的目標圖形的規(guī)格參數(shù)信息;
[0044]繪圖設(shè)備頁面描述語言翻譯模塊,將圖像像素數(shù)據(jù)和目標圖形的規(guī)格參數(shù)信息翻譯成輸出目標圖像的繪圖設(shè)備所使用的繪圖設(shè)備頁面描述語言;
[0045]數(shù)據(jù)發(fā)送模塊,將生成的繪圖設(shè)備頁面描述語言實時同步發(fā)送到繪圖設(shè)備;
[0046]繪圖設(shè)備,根據(jù)接收到的繪圖設(shè)備頁面描述語言時,實時打印輸出目標圖形。更詳細的解釋說明:
[0047](一 )所述規(guī)格參數(shù)信息包括:輸出的目標圖形的長度、寬度和DPI。
[0048]( 二)所述系統(tǒng)還包括判斷模塊;判斷模塊,負責判斷已發(fā)送到繪圖設(shè)備的光柵行是否大于需輸出光柵總行數(shù),如果否,繼續(xù)輸出剩余的圖形;如果是,則向繪圖設(shè)備發(fā)送輸出結(jié)尾命令。
[0049](三)所述繪圖設(shè)備是支持長幅面打印的打印設(shè)備。
[0050]基于本實施例所述連續(xù)、實時打印長幅面圖形的打印系統(tǒng)的打印方法,該方法包括: