欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

一種打印裝置及打印方法與流程

文檔序號:12824317閱讀:151來源:國知局
一種打印裝置及打印方法與流程

本申請涉及互聯(lián)網(wǎng)技術領域,尤其涉及一種打印裝置及打印方法。



背景技術:

在線下場景中,小票打印是一種很常用的功能。然而,小票打印的使用場景比較復雜,不同用戶使用的打印設備存在不同,有的用戶使用的是藍牙打印設備,有的用戶使用的是usb打印設備,這就需要打印軟件開發(fā)工具包(softwaredevelopmentkit,sdk)能夠支持多種打印設備的使用。

不同的打印設備需要有不同的打印上下文(也即控制打印設備打印的程序)來支持。為了使打印sdk能夠支持多種打印設備的使用,現(xiàn)有的設計方式是在打印sdk中設置多個功能單元,每個功能單元獨立支持一種打印設備的使用。每個功能單元中集成了其支持的打印設備的打印上下文、打印參數(shù)配置功能、打印時數(shù)據(jù)解析的功能等,用戶在終端設備上安裝打印sdk后,可以直接調(diào)用目標打印設備所對應的功能單元來進行打印。

按照現(xiàn)有的設計方式,每增加一種支持的打印設備,就需要在打印sdk中重新設計一個功能單元來支持該打印設備實現(xiàn)整個打印流程,這種方式可擴展性較差。



技術實現(xiàn)要素:

本申請實施例提供一種打印裝置及打印方法,用以解決現(xiàn)有的支持打印的方式可擴展性較差的問題。

本申請實施例提供一種打印裝置,包括:

配置管理單元,用于提供打印設備配置接口,供用戶配置需要使用的打印 設備信息,并保存該打印設備信息;

打印上下文工廠,用于從打印上下文庫中獲取所述配置管理單元保存的打印設備信息所對應的打印上下文,并將其寫入虛擬上下文接口;

打印上下文庫,用于存儲對應不同打印設備的打印上下文;

虛擬上下文接口,用于保存所述打印上下文工廠寫入的打印上下文,并提供打印調(diào)用接口。

可選地,所述裝置還包括:

模版管理單元,用于為用戶配置定制化的打印模版,其中,所述打印模版中記錄有打印小票對應的標簽內(nèi)容及內(nèi)容屬性信息。

可選地,所述裝置還包括:

數(shù)據(jù)解析器,用于基于待打印數(shù)據(jù)和所述模版管理單元配置的定制化的打印模版,生成可打印數(shù)據(jù)流,以供被打印成小票。

可選地,所述配置管理單元還用于提供打印參數(shù)配置接口,供用戶配置打印參數(shù)信息,并保存該打印參數(shù)信息;

數(shù)據(jù)解析器具體用于:基于待打印數(shù)據(jù)、所述模版管理單元配置的定制化的打印模版、和所述配置管理單元保存的打印參數(shù)信息,生成可打印數(shù)據(jù)流。

可選地,所述裝置還包括:

打印用戶界面ui,用于接收用戶的打印指示;

打印接口,用于根據(jù)所述打印ui的指示,生成打印任務,并將生成的打印任務加入打印線程池;

打印線程池,用于存儲打印任務。

本申請實施例提供一種打印方法,包括:

在獲取打印任務后,通過調(diào)用打印上下文工廠,從打印上下文庫中獲取配置管理單元保存的打印設備信息所對應的打印上下文,并將其寫入虛擬上下文接口;其中,所述打印上下文庫中存儲有對應不同打印設備的打印上下文;所述配置管理單元保存的打印設備信息,為用戶基于該配置管理單元提供的打印 設備配置接口配置的;

通過調(diào)用虛擬上下文接口,將所述打印任務指示的待打印數(shù)據(jù)打印成小票。

可見,采用上述打印裝置及打印方法,當需要打印sdk增加對新的打印設備的支持能力時,只需要將該新的打印設備對應的打印上下文存入打印上下文庫,而對于打印時所需的其它功能,如數(shù)據(jù)解析功能、打印配置功能等,則可以在各個不同的打印設備間共享,這種支持打印的方式的可擴展性較強。

本申請還通過設置模版管理單元來支持打印樣式的多樣化,模板管理單元可以為用戶配置定制化的打印模版,在打印時通過調(diào)用用戶定制的打印模板,就可以打印出該用戶所要求的打印樣式。

附圖說明

圖1為本申請實施例提供的打印裝置結(jié)構示意圖;

圖2為打印出的小票示意圖;

圖3為本申請實施例提供的打印方法流程圖。

具體實施方式

本申請實施例通過配置打印上下文庫來存儲對應不同打印設備的打印上下文,通過配置管理單元來配置打印設備,在執(zhí)行打印任務時,通過調(diào)用打印上下文工廠從打印上下文庫中獲取配置管理單元配置的打印設備所對應的打印上下文,并將其寫入虛擬上下文接口,通過調(diào)用虛擬上下文接口來實現(xiàn)打印。采用這種方式,當需要打印sdk增加對新的打印設備的支持能力時,只需要將該新的打印設備對應的打印上下文存入打印上下文庫,而對于打印時所需的其它功能,如數(shù)據(jù)解析功能、打印配置功能等,則可以在各個不同的打印設備間共享,因此,這種支持打印的方式的可擴展性較強。

另外,本申請實施例還提供了對打印機中多種打印樣式的支持。在傳統(tǒng)的 打印方式中,打印樣式通常是單一化的,這里的打印樣式并不是指傳統(tǒng)的打印配置參數(shù)(如打印版式、縮放程度)的不同,而是指的具體的標簽內(nèi)容設計及內(nèi)容屬性的不同。本申請實施例通過設置模版管理單元來支持打印樣式的多樣化,模板管理單元可以為用戶配置定制化的打印模版,在打印時通過調(diào)用用戶定制的打印模板,就可以打印出該用戶所要求的打印樣式。

下面結(jié)合說明書附圖對本申請實施例作進一步詳細描述。

如圖1所示,為本申請實施例提供的打印裝置100結(jié)構示意圖,包括以下單元:

打印用戶界面(userinterface,ui)11,用于接收用戶的打印指示。

打印接口(printinterface)12,用于根據(jù)打印ui11的指示,生成打印任務,并將生成的打印任務加入打印線程池。

打印線程池(printtaskpool)13,用于存儲打印任務。

配置管理(configurationmanagement)單元14,用于提供打印設備配置接口,供用戶配置需要使用的打印設備信息,并保存該打印設備信息;這里,配置管理單元向用戶提供打印設備配置接口,用戶可以通過該單元配置打印設備信息,比如打印設備名稱、標識id等。

打印上下文工廠(printcontextfactory)15,用于在接收到打印任務的調(diào)用指示后,從打印上下文庫中獲取配置管理單元14保存的打印設備信息所對應的打印上下文,并將其寫入虛擬上下文接口。

打印上下文庫16,用于存儲對應不同打印設備的打印上下文。

比如,藍牙打印上下文(bluetoothprintercontext)、com打印上下文(comprintercontext)、usb打印上下文(usbprintercontext)、通用打印上下文(generalprintercontext)。

虛擬上下文接口(virtualcontextinterface)17,用于保存所述打印上下文工廠15寫入的打印上下文,并提供打印調(diào)用接口。這里,通過調(diào)用虛擬上下文接口17,將待打印數(shù)據(jù)打印成小票,同時可以屏蔽具體的打印設備細節(jié),從 而上層可以無感知地支持打印設備的打印。

在具體實施中,打印進程在通過打印用戶界面ui11接收到用戶的打印指示后,通過調(diào)用打印接口12,基于所述打印指示生成打印任務,并將生成的打印任務加入打印線程池13;從所述打印線程池13中調(diào)取當前待處理的打印任務,打印任務中包含待打印數(shù)據(jù)。在獲取打印任務后,通過調(diào)用打印上下文工廠15,從打印上下文庫16中獲取配置管理單元14保存的打印設備信息所對應的打印上下文,并將其寫入虛擬上下文接口17;通過調(diào)用虛擬上下文接口17,將所述打印任務指示的待打印數(shù)據(jù)打印成小票。

在上述過程中,打印進程可以通過調(diào)用數(shù)據(jù)解析器(metadataparser),基于待打印數(shù)據(jù)、預設的打印模版和打印參數(shù)信息,生成可打印數(shù)據(jù)流,再通過調(diào)用虛擬上下文接口17將該可打印數(shù)據(jù)流打印成小票。這里的打印參數(shù)信息可以是預設的,也可以是通過配置管理單元14配置的。

作為一種優(yōu)選的實施方式,本申請實施例還提供了模版管理單元18來支持打印樣式的多樣化,即所述打印裝置還包括:

模版管理單元18,用于為用戶配置定制化的打印模版,其中,所述打印模版中記錄有打印小票對應的標簽內(nèi)容及內(nèi)容屬性信息。在具體實施中,模版管理單元18可以向用戶提供可供編輯的打印模板,用戶基于自身實際需要編輯定制化的打印模板。

數(shù)據(jù)解析器19,用于基于待打印數(shù)據(jù)、模版管理單元18配置的定制化的打印模版和配置管理單元14配置的打印參數(shù)信息,生成可打印數(shù)據(jù)流。

在具體實施中,打印進程通過調(diào)用數(shù)據(jù)解析器19,基于待打印數(shù)據(jù)、模版管理單元18配置的定制化的打印模版、和配置管理單元14配置的打印參數(shù)信息(比如包括打印份數(shù)、打印版式等,當然,這些打印參數(shù)也可以是默認的),生成可打印數(shù)據(jù)流;然后,打印進程通過調(diào)用虛擬上下文接口17,將數(shù)據(jù)解析器19生成的可打印數(shù)據(jù)流打印成小票。

在具體實施中,模版管理單元18可以使用xml語言來定義打印模版,如 下所示:

<?xmlversion="1.0"encoding="utf-8"?>

<root>

<template.id>

<textfont='w'dw='true'dh='true'bold='true'>****測試打印***</text>

<textfont='h'dw='false'dh='false'bold='false'>測試打印,如果看到這些帶你的文字信息,說明已經(jīng)成功連接該打印機!</text><br/>

<br/>

<textfont='t'dw='true'dh='false'bold='false'align='c'>淘點點</text><br/>

<cut/>自動切紙

</template>

</root>

模板定義如下:

屬性列表:

font:字體1/2數(shù)字n,設置打印字體,目前支持1,2,大小兩種;

bold:粗體,tureflase

dw:雙倍寬

dh:雙倍高

datasrc:數(shù)據(jù)源,map<string,dataobj>datasrc;datasrc[orderitem_name]

align:對齊方式,left,center,right

padding:對齊像素

標簽列表:

<template/>模板根節(jié)點,可設置屬性包括id

<text/>輸出文本內(nèi)容,可設置屬性:font,bold,dw,dh,datasrc,align,padding,默認是不換行

<list/>列表內(nèi)容,可包含子節(jié)點datasrc

<blankline/>空行,可設置屬性font

<br/>換行

<tr/>tab節(jié)點

除上述單元外,本申請實施例提供的打印裝置中還可以包括平臺開發(fā)工具包(platformsdk)20,其中包含供各種打印上下文調(diào)用的軟件代碼。平臺應用編程接口(platformapi)21,用于提供執(zhí)行打印任務的操作系統(tǒng)支持。

如圖2所示,為打印出的小票示意圖。圖中,虛線框內(nèi)的信息為打印任務中指示的待打印數(shù)據(jù),其它如點菜單、序號、點菜時間、買家、電話、訂單編號、小計、共計等字樣、及空格、換行等為標簽內(nèi)容,圖中顯示的字體類型、字體大小、對齊方式等為屬性信息。

基于上述打印裝置,本申請實施例中提供了應用上述打印裝置進行打印的打印方法,具體實施與上述描述重復之處不再贅述。

如圖3所示,為本申請實施例提供的打印方法流程圖,包括以下步驟:

s301:在獲取打印任務后,通過調(diào)用打印上下文工廠,從打印上下文庫中獲取配置管理單元保存的打印設備信息所對應的打印上下文,并將其寫入虛擬上下文接口;其中,所述打印上下文庫中存儲有對應不同打印設備的打印上下文;所述配置管理單元保存的打印設備信息,為用戶基于該配置管理單元提供的打印設備配置接口配置的;

s302:通過調(diào)用虛擬上下文接口,將所述打印任務指示的待打印數(shù)據(jù)打印成小票。

可選地,所述方法還包括:

通過模版管理單元為用戶配置定制化的打印模版,其中,所述打印模版中記錄有打印小票對應的標簽內(nèi)容及內(nèi)容屬性信息;

所述通過調(diào)用虛擬上下文接口,將所述待打印數(shù)據(jù)打印成小票,包括:

通過調(diào)用虛擬上下文接口,將所述待打印數(shù)據(jù)基于所述定制化的打印模板打印成小票。

可選地,所述通過調(diào)用虛擬上下文接口,將所述待打印數(shù)據(jù)基于所述定制 化的打印模板打印成小票,包括:

通過調(diào)用數(shù)據(jù)解析器,基于所述待打印數(shù)據(jù)和所述定制化的打印模版,生成可打印數(shù)據(jù)流;

通過調(diào)用所述虛擬上下文接口,將所述數(shù)據(jù)解析器生成的可打印數(shù)據(jù)流打印成小票。

可選地,所述通過調(diào)用數(shù)據(jù)解析器,基于所述待打印數(shù)據(jù)和所述模版管理單元配置的定制化的打印模版,生成可打印數(shù)據(jù)流,包括:

通過調(diào)用數(shù)據(jù)解析器,基于所述待打印數(shù)據(jù)、所述模版管理單元配置的定制化的打印模版、和所述配置管理單元保存的打印參數(shù)信息,生成可打印數(shù)據(jù)流。

可選地,根據(jù)以下步驟獲取所述打印任務:

在通過打印用戶界面ui接收到用戶的打印指示后,通過調(diào)用打印接口,基于所述打印指示生成打印任務,并將生成的打印任務加入打印線程池;

從所述打印線程池中調(diào)取當前待處理的打印任務。

本領域內(nèi)的技術人員應明白,本申請的實施例可提供為方法、系統(tǒng)、或計算機程序產(chǎn)品。因此,本申請可采用完全硬件實施例、完全軟件實施例、或結(jié)合軟件和硬件方面的實施例的形式。而且,本申請可采用在一個或多個其中包含有計算機可用程序代碼的計算機可用存儲介質(zhì)(包括但不限于磁盤存儲器、cd-rom、光學存儲器等)上實施的計算機程序產(chǎn)品的形式。

本申請是參照根據(jù)本申請實施例的方法、裝置(系統(tǒng))、和計算機程序產(chǎn)品的流程圖和/或方框圖來描述的。應理解可由計算機程序指令實現(xiàn)流程圖和/或方框圖中的每一流程和/或方框、以及流程圖和/或方框圖中的流程和/或方框的結(jié)合。可提供這些計算機程序指令到通用計算機、專用計算機、嵌入式處理機或其他可編程數(shù)據(jù)處理設備的處理器以產(chǎn)生一個機器,使得通過計算機或其他可編程數(shù)據(jù)處理設備的處理器執(zhí)行的指令產(chǎn)生用于實現(xiàn)在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能的裝置。

這些計算機程序指令也可存儲在能引導計算機或其他可編程數(shù)據(jù)處理設備以特定方式工作的計算機可讀存儲器中,使得存儲在該計算機可讀存儲器中的指令產(chǎn)生包括指令裝置的制造品,該指令裝置實現(xiàn)在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能。

這些計算機程序指令也可裝載到計算機或其他可編程數(shù)據(jù)處理設備上,使得在計算機或其他可編程設備上執(zhí)行一系列操作步驟以產(chǎn)生計算機實現(xiàn)的處理,從而在計算機或其他可編程設備上執(zhí)行的指令提供用于實現(xiàn)在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能的步驟。

盡管已描述了本申請的優(yōu)選實施例,但本領域內(nèi)的技術人員一旦得知了基本創(chuàng)造性概念,則可對這些實施例作出另外的變更和修改。所以,所附權利要求意欲解釋為包括優(yōu)選實施例以及落入本申請范圍的所有變更和修改。

顯然,本領域的技術人員可以對本申請進行各種改動和變型而不脫離本申請的精神和范圍。這樣,倘若本申請的這些修改和變型屬于本申請權利要求及其等同技術的范圍之內(nèi),則本申請也意圖包含這些改動和變型在內(nèi)。

當前第1頁1 2 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
拜泉县| 富民县| 治多县| 重庆市| 高阳县| 仁布县| 韶关市| 岢岚县| 横峰县| 景宁| 砀山县| 绵阳市| 永州市| 呼和浩特市| 岳普湖县| 铜山县| 禄劝| 汾阳市| 格尔木市| 恩施市| 吕梁市| 丹阳市| 北川| 五大连池市| 长武县| 深水埗区| 运城市| 安泽县| 上蔡县| 广河县| 鄂尔多斯市| 仙居县| 瑞安市| 屏东县| 汝南县| 岑巩县| 左云县| 嘉祥县| 墨脱县| 桂平市| 高密市|