国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      一種稅控系統(tǒng)中模板數(shù)據(jù)格式化打印方法

      文檔序號(hào):8339340閱讀:278來(lái)源:國(guó)知局
      一種稅控系統(tǒng)中模板數(shù)據(jù)格式化打印方法
      【技術(shù)領(lǐng)域】
      [0001]本發(fā)明涉及一種數(shù)據(jù)格式化打印方法,具體而言,涉及一種稅控系統(tǒng)中模板數(shù)據(jù)格式化打印方法。
      【背景技術(shù)】
      [0002]目前,在稅控系統(tǒng)中,數(shù)據(jù)在發(fā)票上打印顯示時(shí)需要先對(duì)數(shù)據(jù)進(jìn)行格式化使其成為字符串,然后再打印到發(fā)票票面上。在傳統(tǒng)的數(shù)據(jù)打印解決方案中,所有的數(shù)據(jù)格式化均由開(kāi)發(fā)人員對(duì)數(shù)據(jù)進(jìn)行處理后再顯示,由于開(kāi)發(fā)人員對(duì)發(fā)票模版格式了解不足,從而導(dǎo)致數(shù)據(jù)硬編碼在程序中,使得出錯(cuò)率增加,修改復(fù)雜度大。因此,分離數(shù)據(jù)格式化內(nèi)容,實(shí)現(xiàn)由發(fā)票模版中的元素決定數(shù)據(jù)的顯示格式,降低數(shù)據(jù)與打印文件的耦合度,降低數(shù)據(jù)格式化過(guò)程的復(fù)雜度和出錯(cuò)率是數(shù)據(jù)打印的發(fā)展方向。

      【發(fā)明內(nèi)容】

      [0003]本發(fā)明提供一種稅控系統(tǒng)中模板數(shù)據(jù)格式化打印方法,用以實(shí)現(xiàn)發(fā)票票面元素尤其是以數(shù)據(jù)樣式顯示的票面元素在發(fā)票票面上的格式化打印。
      [0004]為達(dá)到上述目的,本發(fā)明提供了一種稅控系統(tǒng)中模板數(shù)據(jù)格式化打印方法,包括以下步驟:
      [0005]為發(fā)票打印模板中的所有票面元素分別綁定一個(gè)唯一的編碼及一種顯示樣式,并將綁定的編碼及顯示樣式信息寫(xiě)入打印模板文件中與每個(gè)票面元素分別對(duì)應(yīng)的節(jié)點(diǎn)文本;
      [0006]提取出發(fā)票打印模板中所有以數(shù)據(jù)樣式顯示的票面元素,為每個(gè)以數(shù)據(jù)樣式顯示的票面元素分別綁定一種數(shù)據(jù)類型及一個(gè)格式化掩碼,并將綁定的數(shù)據(jù)類型及格式化掩碼信息寫(xiě)入打印模板文件中與每個(gè)票面元素分別對(duì)應(yīng)的節(jié)點(diǎn)文本,根據(jù)每個(gè)以數(shù)據(jù)樣式顯示的票面元素綁定的編碼組織數(shù)據(jù)文件,其中,數(shù)據(jù)文件包含每個(gè)以數(shù)據(jù)樣式顯示的票面元素自身的值及其綁定的編碼;
      [0007]將打印模板文件發(fā)送至打印模塊,打印模塊中的模板解析函數(shù)首先讀取打印模板文件中包含的所有不以數(shù)據(jù)樣式顯示的票面元素對(duì)應(yīng)的編碼及顯示樣式,由打印模塊中的打印函數(shù)將所有不以數(shù)據(jù)樣式顯示的票面元素繪制在發(fā)票票面的對(duì)應(yīng)位置;
      [0008]打印模塊中的模板解析函數(shù)讀取打印模板文件中每個(gè)以數(shù)據(jù)樣式顯示的票面元素的節(jié)點(diǎn)文本并提取出其綁定的編碼、數(shù)據(jù)類型及格式化掩碼;
      [0009]根據(jù)每個(gè)以數(shù)據(jù)樣式顯示的票面元素綁定的編碼遍歷數(shù)據(jù)文件,獲得每個(gè)以數(shù)據(jù)樣式顯示的票面元素自身的值;
      [0010]根據(jù)每個(gè)以數(shù)據(jù)樣式顯示的票面元素綁定的數(shù)據(jù)類型,將每個(gè)以數(shù)據(jù)樣式顯示的票面元素自身的值強(qiáng)制轉(zhuǎn)化為綁定的數(shù)據(jù)類型;
      [0011]根據(jù)每個(gè)以數(shù)據(jù)樣式顯示的票面元素綁定的格式化掩碼,將每個(gè)強(qiáng)制轉(zhuǎn)化后的以數(shù)據(jù)樣式顯示的票面元素對(duì)應(yīng)的值轉(zhuǎn)化為指定的字符串格式;
      [0012]打印模塊中的格式化函數(shù)解析每個(gè)以數(shù)據(jù)樣式顯示的票面元素對(duì)應(yīng)的字符串格式,并將解析信息傳遞至打印模塊中的打印函數(shù);
      [0013]打印函數(shù)根據(jù)每個(gè)以數(shù)據(jù)樣式顯示的票面元素對(duì)應(yīng)的解析信息在發(fā)票票面的對(duì)應(yīng)位置繪制該票面元素,繪制完所有以數(shù)據(jù)樣式顯示的票面元素后即完成發(fā)票的打印。
      [0014]可選的,在默認(rèn)情況下,每一個(gè)以數(shù)據(jù)樣式顯示的票面元素的數(shù)據(jù)類型均為字符串型。
      [0015]可選的,票面元素的數(shù)據(jù)類型至少包括:整型、單精度浮點(diǎn)型、雙精度浮點(diǎn)型、日期時(shí)間型、字符串型。
      [0016]可選的,當(dāng)票面元素的數(shù)據(jù)類型不為整型、單精度浮點(diǎn)型、雙精度浮點(diǎn)型、日期時(shí)間型、字符串型中的任意一種時(shí),將票面元素按文本類型處理。
      [0017]可選的,格式化掩碼為字符串格式且包含一對(duì){},其中,{}內(nèi)為需要格式化的內(nèi)容。
      [0018]可選的,在格式化掩碼中,C表示貨幣格式,D表示10進(jìn)制,N表示用逗號(hào)分割千分位’#表示數(shù)字占位符,O表示O占位符,Y表示年占位符,M表示月占位符,D表示日占位符。
      [0019]可選的,格式化掩碼使用標(biāo)識(shí)符和位寬表示非字符符號(hào),其中,標(biāo)識(shí)符以‘[’開(kāi)始,為兩位大寫(xiě)字符,位寬為兩位數(shù)字。
      [0020]可選的,當(dāng)格式化掩碼不包含非字符符號(hào)時(shí),解析信息包括票面元素的繪制位置和繪制格式;當(dāng)格式化掩碼包含非字符符號(hào)時(shí),解析信息包括票面元素的繪制位置、繪制格式、非字符符號(hào)的占位信息以及繪制函數(shù)。
      [0021]可選的,繪制格式包括繪制區(qū)域的長(zhǎng)度、寬度、繪制坐標(biāo)、繪制采用的線型及字體、水平及垂直方向的對(duì)齊方式,非字符符號(hào)的占位信息包括非字符符號(hào)的起始繪制位置及占據(jù)的位寬。
      [0022]可選的,當(dāng)讀取到的某個(gè)以數(shù)據(jù)樣式顯示的票面元素對(duì)應(yīng)的格式化掩碼為空時(shí),不對(duì)該票面元素作進(jìn)一步處理。
      [0023]本發(fā)明提供的稅控系統(tǒng)中模板數(shù)據(jù)格式化打印方法將打印數(shù)據(jù)與發(fā)票打印模板分離,降低了發(fā)票打印模板設(shè)計(jì)及修改的復(fù)雜度,使得開(kāi)發(fā)人員無(wú)需了解數(shù)據(jù)顯示的具體實(shí)現(xiàn)方式,僅需按照指定的數(shù)據(jù)類型傳遞數(shù)據(jù)即可方便的對(duì)以數(shù)據(jù)樣式顯示的票面元素進(jìn)行格式化打印,降低了打印過(guò)程中數(shù)據(jù)的出錯(cuò)率。
      【附圖說(shuō)明】
      [0024]為了更清楚地說(shuō)明本發(fā)明實(shí)施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對(duì)實(shí)施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡(jiǎn)單地介紹,顯而易見(jiàn)地,下面描述中的附圖僅僅是本發(fā)明的一些實(shí)施例,對(duì)于本領(lǐng)域普通技術(shù)人員來(lái)講,在不付出創(chuàng)造性勞動(dòng)的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
      [0025]圖1為本發(fā)明一實(shí)施例的稅控系統(tǒng)中模板數(shù)據(jù)格式化打印方法的流程圖。
      【具體實(shí)施方式】
      [0026]下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對(duì)本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例僅僅是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例?;诒景l(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒(méi)有付出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。
      [0027]圖1為本發(fā)明一個(gè)實(shí)施例的稅控系統(tǒng)中模板數(shù)據(jù)格式化打印方法的流程圖,如圖所示,該打印方法包括以下步驟:
      [0028]SllO:為發(fā)票打印模板中的所有票面元素分別綁定一個(gè)唯一的編碼及一種顯示樣式,并將綁定的編碼及顯示樣式信息寫(xiě)入打印模板文件中與每個(gè)票面元素分別對(duì)應(yīng)的節(jié)點(diǎn)文本;
      [0029]其中,票面元素按照其顯示樣式可分為以數(shù)據(jù)樣式顯示的票面元素和不以數(shù)據(jù)樣式顯示的票面元素兩大類。由于以數(shù)據(jù)樣式顯示的票面元素與具體的數(shù)據(jù)相關(guān)聯(lián),故在每次打印時(shí)均需傳入具體的數(shù)值;不以數(shù)據(jù)樣式顯示的票面元素則以圖片、直線、文字以及選中框等樣式顯示,在打印過(guò)程中不與具體的數(shù)據(jù)相關(guān)聯(lián),故在打印時(shí)直接根據(jù)其設(shè)定的顯示樣式即可進(jìn)行打印。另外,打印模板文件中為每個(gè)票面元素分配有一個(gè)節(jié)點(diǎn)文本,用以記錄與該節(jié)點(diǎn)有關(guān)的信息,節(jié)點(diǎn)文本記錄了節(jié)點(diǎn)的所有屬性。
      [0030]S120:提取出發(fā)票打印模板中所有以數(shù)據(jù)樣式顯示的票面元素,為每個(gè)以數(shù)據(jù)樣式顯示的票面元素分別綁定一種數(shù)據(jù)類型及一個(gè)格式化掩碼,并將綁定的數(shù)據(jù)類型及格式化掩碼信息寫(xiě)入打印模板文件中與每個(gè)票面元素分別對(duì)應(yīng)的節(jié)點(diǎn)文本,根據(jù)每個(gè)以數(shù)據(jù)樣式顯示的票面元素綁定的編碼組織數(shù)據(jù)文件,其中,數(shù)據(jù)文件包含每個(gè)以數(shù)據(jù)樣式顯示的票面元素自身的值及其綁定的編碼;
      [0031]其中,在默認(rèn)情況下,每個(gè)以數(shù)據(jù)樣式顯示的票面元素的數(shù)據(jù)類型均為字符串型(string型),還可將以數(shù)據(jù)樣式顯示的票面元素的數(shù)據(jù)類型綁定為整型(int型)、單精度浮點(diǎn)型(float型)、雙精度浮點(diǎn)型(double型)、日期時(shí)間型(datetime型)或字符串型(string型),當(dāng)以數(shù)據(jù)樣式顯示的票面元素的數(shù)據(jù)類型不為以上任意一種時(shí),則將其按文本類型處理。
      [0032]另外,以數(shù)據(jù)樣式顯示的票面元素綁定的格式化掩碼為字符串格式,格式化掩碼以任意字符開(kāi)頭,任意字符結(jié)尾,且包含一對(duì)H,H內(nèi)為需要格式化的內(nèi)容,H外還可以包含其他固定的字符、特殊字符以及非字符符號(hào)(電腦字符編碼庫(kù)中不存在的符號(hào))。其中,在格式化掩碼中,使用C表示貨幣格式,D表示10進(jìn)制,N表示用逗號(hào)分割千分位,#表示數(shù)字占位符,O表示O占位符,Y表示年占位符,M表示月占位符,D表示日占位符。格式化掩碼中的非字符符號(hào)使用標(biāo)識(shí)符和位寬表示,其中,標(biāo)識(shí)符以‘[’開(kāi)始,為兩位大寫(xiě)字符,位寬為兩位數(shù)字。
      [0033]例如:“{########0.00} ”、“ {########0.00}美元”、“ {########0.00} $ ” 均可作為格式化掩碼,其中,表示占位符,“O”表示必要占位符,”表示小數(shù)點(diǎn)。當(dāng)格式化掩碼中包含非字符符號(hào)如六角雪花符號(hào)時(shí),可以使用如“ [AA02]”來(lái)表示,此時(shí)格式化掩碼可為:“ {########0.00} [AA02] ”。其中“AA”表示六角雪花符號(hào),“02”表示六角雪花符號(hào)的位寬為兩個(gè)字節(jié),也即六角雪花符號(hào)占據(jù)的空間與一個(gè)漢字占據(jù)的空間相同。
      [0034]S130:將打印模板文件發(fā)送至打印模塊,打印模塊中的模板解析函數(shù)首先讀取打印模板文件中包含的所有不以數(shù)據(jù)樣式顯示的票面元素對(duì)應(yīng)的編碼及顯示樣式,由打印模塊中的打印函數(shù)將所有不以數(shù)據(jù)樣式顯示的票面元素繪制在發(fā)票票面的對(duì)應(yīng)位置;
      [0035]其中,打印不以數(shù)據(jù)樣式顯示的票面元素時(shí)無(wú)需讀取數(shù)據(jù)文件,根據(jù)其對(duì)應(yīng)的節(jié)點(diǎn)文本記錄的該票面元素的屬性即可在發(fā)票票面的相應(yīng)位置完成對(duì)應(yīng)元素的打印。
      [0036]S140:打印模塊中的模板解析函數(shù)讀取打印模板文件中每個(gè)以數(shù)據(jù)樣式顯示的票面元素的節(jié)點(diǎn)文本并提取出其綁定的編碼、數(shù)據(jù)類型及格式化掩碼;
      [0037]其中,通過(guò)每個(gè)以數(shù)據(jù)樣式顯示的
      當(dāng)前第1頁(yè)1 2 
      網(wǎng)友詢問(wèn)留言 已有0條留言
      • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
      1