[發(fā)明專利]一種基于XML技術(shù)的發(fā)票打印方法和裝置有效
| 申請?zhí)枺?/td> | 201210592656.8 | 申請日: | 2012-12-30 |
| 公開(公告)號: | CN103914933B | 公開(公告)日: | 2017-06-30 |
| 發(fā)明(設(shè)計)人: | 陳懿;陳皓;張偉;曹洪建;付立庫;江洪;楊為琛 | 申請(專利權(quán))人: | 航天信息股份有限公司 |
| 主分類號: | G07G5/00 | 分類號: | G07G5/00 |
| 代理公司: | 北京工信聯(lián)合知識產(chǎn)權(quán)代理有限公司11266 | 代理人: | 姜麗輝 |
| 地址: | 100195 *** | 國省代碼: | 北京;11 |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 一種 基于 xml 技術(shù) 發(fā)票 打印 方法 裝置 | ||
技術(shù)領(lǐng)域
本發(fā)明涉及一種打印方法,具體地說,涉及一種基于XML技術(shù)的發(fā)票打印方法。
背景技術(shù)
XML中文名稱為可擴(kuò)展標(biāo)記語言(英語:eXtensible Markup Language,簡稱:XML),是一種標(biāo)記語言。標(biāo)記指計算機(jī)所能理解的信息符號,通過此種標(biāo)記,計算機(jī)之間可以處理包含各種信息的文章等。如何定義這些標(biāo)記,既可以選擇國際通用的標(biāo)記語言,比如HTML,也可以使用像XML這樣由相關(guān)人士自由決定的標(biāo)記語言,這就是語言的可擴(kuò)展性。XML是從標(biāo)準(zhǔn)通用標(biāo)記語言(SGML)中簡化修改出來的。它主要用到的有可擴(kuò)展標(biāo)記語言、可擴(kuò)展樣式語言(XSL)、XBRL和XPath等。
通常一張發(fā)票包含很多信息和數(shù)據(jù),一般包括納稅戶信息,發(fā)票頭信息,受票方信息,商品明細(xì)信息等等。發(fā)票打印時,有些數(shù)據(jù)需要開票員手工錄入,有些要在服務(wù)器后臺下發(fā)。如何實現(xiàn)對繁多且來源不同的發(fā)票數(shù)據(jù)的進(jìn)行有效便捷的組織和管理,是一個令人頭痛的問題。
發(fā)明內(nèi)容
有鑒于此,本發(fā)明提供了一種基于XML技術(shù)的發(fā)票打印方法,包括以下步驟:生成模板文件,所述模板文件根據(jù)發(fā)票票樣制作,所述模板文件采用XML格式,其中,發(fā)票票面上每個數(shù)據(jù)項,都在所述模板文件中占用一個節(jié)點,使用類TTTemplateData表征整個模板文件,使用類TTTemplateAttr表征全局屬性,使用TTTemplateText表征每一個數(shù)據(jù)項;解析所述模板文件,得到一個TTTemplateData對象,包含一個TTTemplateAttr類型的屬性對象,和一個TTTemplateText類型的數(shù)據(jù)項對象的列表List;填充數(shù)據(jù),對所述List中每個對象根據(jù)其屬性插入對應(yīng)的發(fā)票數(shù)據(jù)值;組裝打印數(shù)據(jù),把所述TTTemplateData發(fā)票數(shù)據(jù)按照打印機(jī)的打印命令及規(guī)則組裝成打印的數(shù)據(jù);打印發(fā)票,將發(fā)票數(shù)據(jù)發(fā)送到打印機(jī)并發(fā)送打印命令,發(fā)票即被打印出。
優(yōu)選地,針對每一個所述數(shù)據(jù)項,所述模板文件中規(guī)定好了其位置,顯示內(nèi)容及顯示方式。
優(yōu)選地,所述模板文件中還定義了公共控制屬性,定義了全局的打印設(shè)置或默認(rèn)設(shè)置。
優(yōu)選地,填充數(shù)據(jù)步驟中,靜態(tài)數(shù)據(jù)不需要插入數(shù)據(jù)值。
優(yōu)選地,組裝打印數(shù)據(jù)步驟中,按字符數(shù)據(jù)發(fā)送發(fā)票數(shù)據(jù)。
優(yōu)選地,組裝打印數(shù)據(jù)步驟中,使用ndroid.graphics.Canvas對象的函數(shù)drawText(String text,float x,float y,Paint paint)先將發(fā)票數(shù)據(jù)畫成一張圖片,然后向打印機(jī)發(fā)送圖片的像素數(shù)據(jù)。
優(yōu)選地,所述數(shù)據(jù)項至少包括:購貨方識別號、機(jī)打代碼、機(jī)打號碼、開票日期、品名規(guī)格、商品名稱、數(shù)量、單價、商品金額、項目/費用明細(xì)、合計(小寫)、合計(大寫)、銷貨方名稱、銷貨方識別號、備注、防偽碼、開票日期、金額小寫、金額大寫、收款單位/銷售單位名稱、收款方稅號、或付款方稅號之一。
本發(fā)明依靠XML技術(shù),將發(fā)票數(shù)據(jù)拆分為一個一個獨立的數(shù)據(jù)項,并用節(jié)點對數(shù)據(jù)項進(jìn)行詳細(xì)準(zhǔn)確的描述。對整個發(fā)票信息進(jìn)行描述的XML文件就是模板文件。本方案從制作模板文件開始,在軟件中對其進(jìn)行解析并填充發(fā)票數(shù)據(jù),然后轉(zhuǎn)換成打印機(jī)數(shù)據(jù)流發(fā)送到藍(lán)牙打印機(jī)進(jìn)行打印。整個過程簡單且有效,使得對繁雜的發(fā)票數(shù)據(jù)的管理變成一件簡單的工作。
附圖說明
圖1是利用本發(fā)明實施例的基于XML技術(shù)的發(fā)票打印方法打印的一張發(fā)票的示意圖;
圖2為本發(fā)明實施例提供的一種基于XML技術(shù)的發(fā)票打印裝置,的具體結(jié)構(gòu)圖。
具體實施方式
下面將結(jié)合附圖對本發(fā)明進(jìn)行詳細(xì)地說明,逐一介紹本發(fā)明的基于XML技術(shù)的發(fā)票打印方法所包括的主要步驟。
1、模板生成:
模板是根據(jù)稅局下發(fā)的發(fā)票票樣制作的,模板采用XML格式。如圖1所示票樣,票面上每個數(shù)據(jù)項,比如“機(jī)打代碼:”、“146001110202”等都在模板文件中占用一個節(jié)點。
比如“機(jī)打代碼:”的節(jié)點描述如下:
其中,
<ID>是數(shù)據(jù)項的唯一標(biāo)識;
<nType>是數(shù)據(jù)項的類型代碼,“2”表示該數(shù)據(jù)項為靜態(tài)數(shù)據(jù),發(fā)票中的“機(jī)打代碼”,“機(jī)打號碼”,“開票日期”,和“開票人”等都是此類數(shù)據(jù)。而對應(yīng)的內(nèi)容項“146001100202”,“15273444”,“20121030”,“李四”等的類型代碼分別為“22”,“23”,“26”,“28”;
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于航天信息股份有限公司,未經(jīng)航天信息股份有限公司許可,擅自商用是侵權(quán)行為。如果您想購買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201210592656.8/2.html,轉(zhuǎn)載請聲明來源鉆瓜專利網(wǎng)。
- 上一篇:一種鋯摻雜鈣鈦礦型光催化劑及其制備方法
- 下一篇:游戲機(jī)
- 防止技術(shù)開啟的鎖具新技術(shù)
- 技術(shù)評價裝置、技術(shù)評價程序、技術(shù)評價方法
- 防止技術(shù)開啟的鎖具新技術(shù)
- 視聽模擬技術(shù)(VAS技術(shù))
- 用于技術(shù)縮放的MRAM集成技術(shù)
- 用于監(jiān)測技術(shù)設(shè)備的方法和用戶接口、以及計算機(jī)可讀存儲介質(zhì)
- 用于監(jiān)測技術(shù)設(shè)備的技術(shù)
- 技術(shù)偵查方法及技術(shù)偵查系統(tǒng)
- 使用投影技術(shù)增強(qiáng)睡眠技術(shù)
- 基于技術(shù)庫的技術(shù)推薦方法





