一種將零售業pos機打印信號還原成圖形文件的方法
【技術領域】
[0001] 本發明涉及計算機技術領域,尤其是涉及一種將零售業P0S機打印信號還原成圖 形文件的方法。
【背景技術】
[0002] "大數據"作為時下最火熱的的詞匯,在各個行業都有大量的應用。隨之而來的數 據倉庫、數據安全、數據分析、數據挖掘等等圍繞大數據的商業價值的利用逐漸成為行業人 士爭相追捧的利潤焦點。"大數據"非常重要的基礎就是可靠的數據來源,即原始數據的采 集。
[0003] 在線上的零售服務行業,所有的消費數據都由服務器進行存儲,以供日后進行分 析。然而在線下的零售服務行業,銷售數據,如銷售的金額,銷售的單品,類別等等一般都保 存在零售商的P0S(計算機)系統里。要讓這些數據供P0S的外部的應用,如:營銷活動,會 員系統等等,則需要復雜的系統對接,且存在有潛在的風險隱患,如:來自外部的數據盜取, 篡改等。所以目前線下的消費數據,尤其是現金銷售,尚不能進行統一的匯總與精確的分 析。
【發明內容】
[0004] 本發明的目的就是從P0S的外部,即從打印數據入手,將零售業P0S機打印信號還 原成圖形文件,并進行分析,達到減少P0S機系統的風險隱患。
[0005]-種將零售業P0S機打印信號還原成圖形文件的方法,其特征在于,包括以下步 驟:
[0006] 101、將裝有應用程序的有數據處理與存儲功能的計算設備與商家P0S機的打印 輸出口連接;
[0007]102、計算設備獲取商家P0S機向打印機輸出的打印信號,該打印信號中包括打印 機控制指令、圖形打印指令、N個子圖形拼接成完整圖形的方式;
[0008] 103、計算設備塊查找自帶數據庫中的打印控制指令集字符,并和獲取的打印信 號進行字符比對,從中過濾刪除掉出現在這個打印信號中的打印機控制指令,保留圖形打 印指令和N個子圖形拼接成完整圖形的方式;
[0009] 104、計算設備對圖形打印指令進行識別,單個子圖打印指令是一個描述,即給出 二維平面中橫縱坐標為(X,Y)的某個位置是否打印;
[0010] 105、計算設備將相應坐標是否打印保存形成點陣數據,如果該位置打印,則該位 置的值為1 ;如果該位置不打印,則該位置的值為〇 ;
[0011] 106、計算設備對N個子圖重復步驟105,形成N個子圖的圖形文件;
[0012] 107、計算設備利用N個子圖形拼接成完整圖形的方式把N個子圖拼接成一個完整 的大圖;
[0013] 108、計算設備將大圖加上位圖圖像頭信息,具體包括文件尺寸、大小與解析度,即 可生成最終的圖形文件。
[0014]所述的步驟107包括以下步驟:
[0015] 201、計算設備獲取打印信號中N個子圖形拼接成完整圖形的方式;
[0016] 202、若拼接方式為同一坐標區域內,反復打印兩次,則把兩次打印的子圖文件在 同一坐標位置做'位或'運算,生成最后的完整大圖;
[0017] 203、若拼接方式為子圖后有換行符,則設置換行符后的子圖的左上角位置為:橫 坐標:換行符前的子圖的左上角橫坐標,縱坐標:換行符前的子圖左下角的縱坐標+1 ;
[0018] 204、若無任何拼接標識,則默認在子圖下垂直繼續打印。
[0019] 具體的,本發明中所述的計算設備可采用現有技術中的公知方案,有關上述公知 技術方案,本領域的技術人員均已了解,在此不再贅述。
[0020] 本發明的效果是積極明顯的:本發明從P0S的外部,即打印數據入手,無需和P0S 系統進行復雜的技術對接,同時也杜絕了系統向P0S侵入的隱患,因為打印輸出時數據流 是單向的,只能是P0S向打印機輸出,打印機無法通過打印端口向P0S寫入數據。
【附圖說明】
[0021 ] 圖1為本發明的方法流程圖1。
[0022] 圖2為本發明的方法流程圖2。
[0023] 圖3為8點單密度打印示意圖。
[0024] 圖4為24點單密度打印示意圖。
【具體實施方式】
[0025] 下面結合附圖和具體實施例對本發明進行詳細說明。
[0026] 實施例1
[0027] 如圖1所示,一種將零售業P0S機打印信號還原成圖形文件的方法,其特征在于, 包括以下步驟:
[0028] 101、將裝有應用程序的有數據處理與存儲功能的計算設備與商家P0S機的打印 輸出口連接;
[0029] 102、計算設備獲取獲取商家P0S機向打印機輸出的打印信號,該打印信號中包括 打印機控制指令、圖形打印指令、2個子圖形拼接成完整圖形的方式;
[0030] 103、計算設備塊查找自帶數據庫中的打印控制指令集字符,并和獲取的打印信號 進行字符比對,從中過濾刪除掉出現在這個打印信號中的打印機控制指令字符,剩下圖形 打印指令和2個子圖形拼接成完整圖形的方式;
[0031] 104、計算設備對圖形打印指令進行識別,單個子圖打印指令是一個描述,即給出 二維平面中橫縱坐標為(X,Y)的某個位置是否打印。
[0032] 打印機輸出的圖形打印指令為1B,2A,m,nL,nH,山...dk。則計算設備按如下方法 解析該打印指令:
[0033]
[0034] 105、計算設備將相應坐標是否打印保存形成點陣數據,如果該位置打印,則該位 置的值為1 ;如果該位置不打印,則該位置的值為〇 ;
[0035] 在本實施例中,子圖1形打印指令為川,2六,0,3,0,(^81,(^42,(^24,則如圖3所 示,計算設備生成的二維點陣數據為:
[0036] 100
[0037] 100
[0038] 100
[0039] 010
[0040] 010
[0041] 010
[0042] 001
[0043] 001
[0044] 001
[0045] 000
[0046] 〇〇〇
[0047] 〇〇〇
[0048] 〇〇〇
[0049] 〇〇〇
[0050] 000
[0051] 001
[0052] 001
[0053] 001
[0054] 010
[0055] 010
[0056] 010
[0057] 100
[0058] 100
[0059] 100
[0060] 106、計算設備對2個子圖重復步驟105,形成2個子圖的圖形文件;
[0061] 子圖2形打印指令為1B,2A,0, 3,0,0x81,0x42,0x24,則如圖3所示,計算設備生成 的二維點陣數據為:
[0062] 100
[0063] 100
[0064]100
[0065] 010
[0066] 010
[0067] 010
[0068] 001
[0069] 001
[0070] 001
[0071] 000
[0072] 000
[0073] 000
[0074] 000
[0075] 000
[0076] 000
[0077] 001
[0078] 001
[0079] 001
[0080] 010
[0081] 010
[0082] 010
[0083] 100
[0084] 100
[0085] 100
[0086] 107、計算設備利用2個子圖形拼接成完整圖形的方式把2個子圖拼接成一個完整 的大圖;
[0087] 108、計算設備將大圖加上位圖圖像頭信息,具體包括文件尺寸、大小與解析度,即 可生成最終的圖形文件。
[0088] 如圖2所示,所述的步驟107包括以下步驟:
[0089] 201、計算設備獲取打印信號中N個子圖形拼接成完整圖形的方式;
[0090] 202、若拼接方式為同一坐標區域內,反復打印兩次,則把兩次打印的子圖文件在 同一坐標位置做'位或'運算,生成最后的完整大圖;
[0091] 203、若拼接方式為子圖后有換行符,則設置換行符后的子圖的左上角位置為:橫 坐標:換行符前的子圖的左上角橫坐標,縱坐標:換行符前的子圖左下角的縱坐標+1 ;
[0092] 204、若無任何拼接標識,則默認在子圖后水平繼續打印。
[0093] 本實施例中子圖后有換行符,一個完整大圖的二維點陣數據為:
[0094] 100
[0095] 100
[0096] 100
[0097] 010
[0098] 010
[0099] 010
[0100]001[0101]001 [0102]001
[0103] 000
[0104] 000
[0105] 000
[0106] 000
[0107] 000
[0108] 000
[0109] 001
[0110] 001
[0111]001
[0112]010
[0113] 010
[0114] 010
[0115] 100
[0116] 100
[0117] 100
[0118