中文字幕无码日韩视频无码三区

一種實現9針打印機縮放打印二維碼的方法

文檔序號:8361884閱讀:4163來源:國知局
一種實現9針打印機縮放打印二維碼的方法
【技術領域】
[0001] 本發明涉及二維碼打印領域,具體而言,涉及一種實現9針打印機縮放打印二維 碼的方法。
【背景技術】
[0002] 二維條碼相比于一維條形碼具有信息容量大、保密性高、抗損性強、備援性大等優 點,因此近些年來在各類商業表單、票據、證件等領域得到了廣泛的應用,可以說如今二維 碼的應用已經在生活中無處不在。嵌入式系統在近年飛速發展,它以其便捷性、成本低等 特點在很多使用環境下具有比臺式PC (Personal Computer,個人計算機)電腦更廣的適用 性。基于上述背景,若能在一個系統資源比較缺乏的中低端嵌入式環境下打印二維碼,將會 在很多領域的應用中具有優勢。
[0003] 嵌入式系統所使用的打印機,多采用比較小巧便宜的熱敏或者9針打印機。其中 熱敏打印機因為打印內容無法長時間保存,故不適用于諸如發票打印一類的領域。9針打印 機的問題主要是打印分辨率低(一般橫向< 160dpi,縱向< 144dpi ),且橫、縱向分辨率不 同。如果不經過圖像處理,會造成打印出的二維碼呈現縱向過長的長方形,不利于識別。
[0004] 在不同的應用場合,往往要求打印機能打印出不同比例大小的二維碼圖形。圖形 過小會造成分辨率低、識別困難;圖形過大會提高識別率,但會造成票據空間浪費。所以靈 活調整二維碼的輸出大小變的非常有必要。

【發明內容】

[0005] 本發明提供一種實現9針打印機縮放打印二維碼的方法,用以根據需求打印出不 同比例大小的二維碼圖形。
[0006] 為達到上述目的,本發明提供了一種實現9針打印機縮放打印二維碼的方法,包 括以下步驟:
[0007] 通過嵌入二維碼生成算法得到二維碼邏輯矩陣,根據二維碼需要打印的邊距對二 維碼邏輯矩陣進行處理,得到橫向大于縱向的長方形點陣;
[0008] 根據長方形點陣的橫、縱像素點數與二維碼邏輯矩陣的橫、縱元素個數,確定打印 時每個元素占據的橫、縱像素點數;
[0009] 根據二維碼邏輯矩陣每個元素的取值及其打印時占據的橫、縱像素點數得到二維 碼打印矩陣,將二維碼打印矩陣變換為9針打印機可讀取矩陣并發送至9針打印機進行打 印。
[0010] 可選的,在根據二維碼需要打印的邊距對二維碼邏輯矩陣進行處理時,根據如下 公式進行處理:
【主權項】
1. 一種實現9針打印機縮放打印二維碼的方法,其特征在于,包括以下步驟: 通過嵌入二維碼生成算法得到二維碼邏輯矩陣,根據二維碼需要打印的邊距對所述二 維碼邏輯矩陣進行處理,得到橫向大于縱向的長方形點陣; 根據所述長方形點陣的橫、縱像素點數與所述二維碼邏輯矩陣的橫、縱元素個數,確定 打印時每個元素占據的橫、縱像素點數; 根據所述二維碼邏輯矩陣每個元素的取值及其打印時占據的橫、縱像素點數得到二維 碼打印矩陣,將所述二維碼打印矩陣變換為9針打印機可讀取矩陣并發送至9針打印機進 行打印。
2. 根據權利要求1所述的實現9針打印機縮放打印二維碼的方法,其特征在于,在根據 二維碼需要打印的邊距對所述二維碼邏輯矩陣進行處理時,根據如下公式進行處理:
其中,rowLen為所述長方形點陣的橫向像素點數,cowLen為所述長方形點陣的縱向像 素點數,d為二維碼要求邊長。
3. 根據權利要求2所述的實現9針打印機縮放打印二維碼的方法,其特征在于,根據如 下公式確定打印時每個元素占據的橫、縱像素點數:
其中,rowPiexl為每個元素占據的橫向像素點數,colPixel為每個元素占據的縱向像 素點數,imgHeight為邏輯矩陣的縱向元素個數,imgWidth為邏輯矩陣的橫向元素個數。
4. 根據權利要求1所述的實現9針打印機縮放打印二維碼的方法,其特征在于,所述根 據所述二維碼邏輯矩陣每個元素的取值及其打印時占據的橫、縱像素點數得到二維碼打印 矩陣包括: 根據所述二維碼邏輯矩陣每個元素占據的橫、縱像素點數,從左往右依次按照下標號 填充下標矩陣; 根據所述二維碼邏輯矩陣每個元素的〇、1取值,變換所述下標矩陣得到二維碼打印矩 陣。
5. 根據權利要求4所述的實現9針打印機縮放打印二維碼的方法,其特征在于,在填充 所述下標矩陣時采用向下取整的方法確定每個元素所占據的點陣塊邊距。
6. 根據權利要求1所述的實現9針打印機縮放打印二維碼的方法,其特征在于,在將所 述二維碼打印矩陣變換為9針打印機可讀取矩陣時,所述9針打印機可讀取矩陣中多余的 像素點位用〇來填充。
7. 根據權利要求1所述的實現9針打印機縮放打印二維碼的方法,其特征在于,所述9 針打印機進行打印時按照9針打印機數據流格式取字節流存入打印數據緩沖區,調用打印 函數打印出二維碼,具體包括:所述9針打印機打印一行縱向16個點,將其以8點為分界分 為上下兩部分,取上部和下部的奇數點抽離形成奇數8點,再取取上部和下部的偶數點抽 離形成偶數8點,并分別存入數據流;打印時先將偶數點行從左到右打印完畢,然后再次復 位到初始位置并下走0. 1076mm打印奇數點行,逐次打印各行至結束。
8. 根據權利要求7所述的實現9針打印機縮放打印二維碼的方法,其特征在于,為將二 維碼的原始邏輯矩陣轉換為9針打印機的打印數據流,預先設置一個邏輯上為二維矩陣的 數據結構,所述數據結構的每個元素對應針式打印機的一個打印點,通過設置所述數據結 構中像素點的大小,實現將原始二維碼矩陣等比例的放大或縮小為打印點陣。
9. 根據權利要求8所述的實現9針打印機縮放打印二維碼的方法,其特征在于,所述數 據結構的物理存儲形式為一維字節型數組,每個字節對應打印機的8點。
【專利摘要】本發明公開一種實現9針打印機縮放打印二維碼的方法,包括以下步驟:通過嵌入二維碼生成算法得到二維碼邏輯矩陣,根據二維碼需要打印的邊距對二維碼邏輯矩陣進行處理,得到橫向大于縱向的長方形點陣;根據長方形點陣的橫、縱像素點數與二維碼邏輯矩陣的橫、縱元素個數,確定打印時每個元素占據的橫、縱像素點數;根據二維碼邏輯矩陣每個元素的取值及其打印時占據的橫、縱像素點數得到二維碼打印矩陣,將二維碼打印矩陣變換為9針打印機可讀取矩陣并發送至9針打印機進行打印。
【IPC分類】B41J3-01, G06K15-02, G06F3-12
【公開號】CN104680197
【申請號】CN201310633675
【發明人】高陽, 聶慧萍, 張磊, 黃海東, 張朝陽, 陳皓, 張卉
【申請人】航天信息股份有限公司
【公開日】2015年6月3日
【申請日】2013年12月2日
網友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1