專利名稱:超寬行報表轉(zhuǎn)置打印法的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種方法,可以使普通點陣式打印機輸出的執(zhí)行寬大大的超出打印機行寬極限的超寬數(shù)據(jù)報表。
超寬行的數(shù)據(jù)報表普通點陣式打印機是無法打印的。只有在價值在十幾萬的激光打印機上才可以完成。而一般的計算機用戶是無力購置一臺激光打印機的。如若采用普通的點陣式打印機打印超出打印機執(zhí)行行寬極限的超寬行數(shù)據(jù)報表,常采用下面的兩種方法,即1、將報表橫向分割為若干獨立部分,分頁打印或修改報表格式;2、采用壓縮字形或字間距等手段擴展打印機執(zhí)行寬;但上述兩種方法均有明顯的缺點,第一種方法往往會影響超寬數(shù)據(jù)報表的完整性和易讀性,并且有些標準報表不允許橫向分割或改變固有格式。例如供電系統(tǒng)所用的“大宗工業(yè)用戶應(yīng)收電費統(tǒng)計報表”即屬于這一類,第二種方法由于受到打印機機械結(jié)構(gòu)等硬件的約束,即使采用壓縮字形或間距等手段擴展打印機執(zhí)行寬,所擴展的程度也極有限。仍然不能擺脫打印機執(zhí)行極限行寬對報表的限制。因此,從現(xiàn)有的技術(shù)來看,眾多無力購買激光打印機的用戶不能在普通點陣式打印機上嚴格按原有格式完整的輸出執(zhí)行寬大大超出打印機執(zhí)行寬極限的超寬數(shù)據(jù)報表。
本實用新型的目的是開發(fā)出一種使普通的點陣式打印機完全擺脫打印機執(zhí)行寬極限對報表寬度的限制的方法,使普通的點陣式打印機能打出和激光打印機一樣的超寬報表。
本發(fā)明采用行列互換的方法將超寬數(shù)據(jù)報表整體轉(zhuǎn)置90°予以打印,也就是使報表的水平方向與打印機的走紙方向一致,因而報表的水平方向與打印機的走紙方向相一致。這樣,報表的水平寬度就不受打印機可連續(xù)打印行數(shù)的限制,由于絕大多數(shù)普通的點陣式打印機都允許在其打印過程中禁止自動跳頁,從而可使連續(xù)打印的行數(shù)幾乎是無限的,因此,這種方法完全擺脫了對打印報表行寬的限制。此即本發(fā)明的基本思想。
本發(fā)明的具體步驟如下1、本發(fā)明首先將數(shù)據(jù)報表視作由各種數(shù)字、字符、及制表符(┌、┘、└、┐、┤、├、┬、┴、┼、─、│)等元素組成,逐次、逐行、逐列排列。
例如報表實用電度
分割為由數(shù)字、字符、制表符排列為
實用電度
2.將上述由數(shù)字、字符、制表符等元素組成的打印報表整體逆時針轉(zhuǎn)置90°,將未轉(zhuǎn)置前的行換作列、列換作行。逐次、逐行、逐列重新排列。
如前報表未轉(zhuǎn)置前
轉(zhuǎn)置后
3.將行列更換轉(zhuǎn)置90°后組成新的轉(zhuǎn)置打印行按行順序進行單個元素的轉(zhuǎn)置。
如上例為
實際轉(zhuǎn)出的報表為
本發(fā)明中由于一般的漢字打印驅(qū)動程序都具有或可通過擴充得到包括轉(zhuǎn)置字形在內(nèi)的多種字形打印功能,例把ABCD1234字形演變 變?yōu)?
但是上述功能只對以圖形方式輸出的漢字有效,普通的以字符方式輸出西文ASC11字符(包括數(shù)字)不具備轉(zhuǎn)置字形的打印功能。在這種情況下,必須將西文ASC11字符一律轉(zhuǎn)換為對應(yīng)的純中文字符,并設(shè)置橫向字型打印方式,就可達到將組成報表的所有元素予以轉(zhuǎn)置的目的。例西文字符A其ASC11代碼=41H,在標準漢字庫中對應(yīng)的純中文字符代碼=A3HC1H。
本發(fā)明完全擺脫了打印機極限行寬對報表寬度的限制,使超行數(shù)據(jù)報表的打印得以在普通的點陣式打印機上來完成。使得眾多的無力購置激光打印機的用戶可以完成超寬行數(shù)據(jù)報表的打印。因本發(fā)明具有極明顯的經(jīng)濟效益和社會效益。本發(fā)明的明顯效益還在于,即使是激光打印,所打印的寬度也有限。而本發(fā)明使所打印的寬度幾乎可以成為無限。
圖1表示現(xiàn)有打印技術(shù)打印數(shù)據(jù)報表時的情況,報表的寬度受到打印行執(zhí)行寬權(quán)限的限制。
圖2表示本發(fā)明所示的轉(zhuǎn)置打印方式完全擺脫了打印機執(zhí)行寬極限的限制,使連續(xù)打印的行寬幾乎成為無限。
實施例在“寧夏大武口供電所大宗工業(yè)用戶應(yīng)收電費統(tǒng)計報表”的軟件系統(tǒng)中,所需輸出的匯總報表寬度達352個漢字單位,此報表寬度近三倍于普通132列打印機的極限行寬,即可采用此法用普通點陣式打印機打印成。
另當數(shù)據(jù)為變量時,假定用DBASEⅢ語言,先將變量由數(shù)字型轉(zhuǎn)換為字符型,如設(shè)X=12.34 Y=56.78則X$=“12.34” Y$=“56.78”
則轉(zhuǎn)置打印行組成如下行變量L初值=包括小數(shù)點在內(nèi)的數(shù)據(jù)寬度。
(如前述例中L=5)第一行 ┌│┤│┘第二行 “─”+SUBSTR(X、L、1)+“─”+SUBSTR(Y、L、1)+“─”然后令行變量L減1,重復第二行直至循環(huán)到L=0。
權(quán)利要求
1.一種超寬行報表轉(zhuǎn)置打印方法,是一種令普通的點陣式打印機的輸出遠遠超過打印機行寬極限的超寬行報表的方法,其特征在于上述方法按下列步驟進行(1)、將報表示為由數(shù)字、字符、制表符(┏、┃、━、┣、┫、┓、┗、╋、┳、┻)等元素組成,按打印報表的固有行列遂次、遂行、遂列排列; (2) 將上述由數(shù)字、字符、制表符等元素組成的打印報表整體逆時針轉(zhuǎn)置90°,未轉(zhuǎn)置前的行換作列、列換作行組成新的轉(zhuǎn)置打印行;(3)將上述轉(zhuǎn)置90°行列互換后組成的新的打印行按行順序逐個進行單個元素的轉(zhuǎn)置。
全文摘要
一種可以使普通點陣式打印機輸出的機行寬大大超出打印機機行寬極限的超寬行報表的方法,將報表視為由數(shù)字、字符、制表符等元素組成,整體轉(zhuǎn)置90°使行列互換,再按行順序逐次進行單個元素的轉(zhuǎn)置。應(yīng)用此法使連續(xù)打印的行數(shù)幾乎成為無限,完全擺脫了打印機對打印報表的行寬的限制。
文檔編號B41J21/00GK1049822SQ89106639
公開日1991年3月13日 申請日期1989年8月31日 優(yōu)先權(quán)日1989年8月31日
發(fā)明者謝存, 趙長庚 申請人:石咀山供電局大武口供電所