TW201828038A - 列印裝置及列印方法 - Google Patents

列印裝置及列印方法 Download PDF

Info

Publication number
TW201828038A
TW201828038A TW106102715A TW106102715A TW201828038A TW 201828038 A TW201828038 A TW 201828038A TW 106102715 A TW106102715 A TW 106102715A TW 106102715 A TW106102715 A TW 106102715A TW 201828038 A TW201828038 A TW 201828038A
Authority
TW
Taiwan
Prior art keywords
printing
print
context
interface
template
Prior art date
Application number
TW106102715A
Other languages
English (en)
Inventor
王廣浩
Original Assignee
阿里巴巴集團服務有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 阿里巴巴集團服務有限公司 filed Critical 阿里巴巴集團服務有限公司
Priority to TW106102715A priority Critical patent/TW201828038A/zh
Publication of TW201828038A publication Critical patent/TW201828038A/zh

Links

Landscapes

  • Accessory Devices And Overall Control Thereof (AREA)

Abstract

本發明關於網際網路技術領域,尤其關於一種列印裝置及列印方法,本發明提供的列印裝置包括:配置管理單元,用於提供列印設備配置介面,供使用者配置需要使用的列印設備資訊,並保存該列印設備資訊;列印上下文工廠,用於從列印上下文函式庫中獲取配置管理單元保存的列印設備資訊所對應的列印上下文,並將其寫入虛擬上下文介面;列印上下文函式庫,用於儲存對應不同列印設備的列印上下文;虛擬上下文介面,用於保存所述列印上下文工廠寫入的列印上下文,並提供列印呼叫介面。

Description

列印裝置及列印方法
本發明關於網際網路技術領域,尤其關於一種列印裝置及列印方法。
線上下場景中,收據列印是一種很常用的功能。然而,收據列印的使用場景比較複雜,不同使用者使用的列印設備存在不同,有的使用者使用的是藍牙列印設備,有的使用者使用的是USB列印設備,這就需要列印軟體開發套件(Software Development Kit,SDK)能夠支援多種列印設備的使用。
不同的列印設備需要有不同的列印上下文(也即控制列印設備列印的程式)來支援。為了使列印SDK能夠支援多種列印設備的使用,現有的設計方式是在列印SDK中設置多個功能單元,每個功能單元獨立支援一種列印設備的使用。每個功能單元中整合了其支援的列印設備的列印上下文、列印參數配置功能、列印時資料解析的功能等,使用者在終端設備上安裝列印SDK後,可以直接呼叫目標列印設備所對應的功能單元來進行列印。
按照現有的設計方式,每增加一種支援的列印設備,就需要在列印SDK中重新設計一個功能單元來支援該列印設備實現整個列印流程,這種方式可擴縮性較差。
本發明實施例提供一種列印裝置及列印方法,用以解決現有的支援列印的方式可擴縮性較差的問題。
本發明實施例提供一種列印裝置,包括:配置管理單元,用於提供列印設備配置介面,供使用者配置需要使用的列印設備資訊,並保存該列印設備資訊;列印上下文工廠,用於從列印上下文函式庫中獲取所述配置管理單元保存的列印設備資訊所對應的列印上下文,並將其寫入虛擬上下文介面;列印上下文函式庫,用於儲存對應不同列印設備的列印上下文;虛擬上下文介面,用於保存所述列印上下文工廠寫入的列印上下文,並提供列印呼叫介面。
可選地,所述裝置還包括:模版管理單元,用於為使用者配置客製化的列印模版,其中,所述列印模版中記錄有列印收據對應的標籤內容及內容屬性資訊。
可選地,所述裝置還包括:資料剖析器,用於基於待列印資料和所述模版管理單 元配置的客製化的列印模版,產生可列印資料流程,以供被列印成收據。
可選地,所述配置管理單元還用於提供列印參數配置介面,供使用者配置列印參數資訊,並保存該列印參數資訊;資料剖析器具體用於:基於待列印資料、所述模版管理單元配置的客製化的列印模版、和所述配置管理單元保存的列印參數資訊,產生可列印資料流程。
可選地,所述裝置還包括:列印使用者介面UI,用於接收使用者的列印指示;列印介面,用於根據所述列印UI的指示,產生列印任務,並將產生的列印任務加入列印執行緒池;列印執行緒池,用於儲存列印任務。
本發明實施例提供一種列印方法,包括:在獲取列印任務後,透過呼叫列印上下文工廠,從列印上下文函式庫中獲取配置管理單元保存的列印設備資訊所對應的列印上下文,並將其寫入虛擬上下文介面;其中,所述列印上下文函式庫中儲存有對應不同列印設備的列印上下文;所述配置管理單元保存的列印設備資訊,為使用者基於該配置管理單元提供的列印設備配置介面配置的;透過呼叫虛擬上下文介面,將所述列印任務指示的待列印資料列印成收據。
可見,採用上述列印裝置及列印方法,當需要列印 SDK增加對新的列印設備的支援能力時,只需要將該新的列印設備對應的列印上下文存入列印上下文函式庫,而對於列印時所需的其它功能,如資料解析功能、列印配置功能等,則可以在各個不同的列印設備間共用,這種支援列印的方式的可擴縮性較強。
本發明還透過設置模版管理單元來支援列印樣式的多樣化,範本管理單元可以為使用者配置客製化的列印模版,在列印時透過呼叫使用者定制的列印範本,就可以列印出該使用者所要求的列印樣式。
11‧‧‧列印使用者介面
12‧‧‧列印介面
13‧‧‧列印執行緒池
14‧‧‧配置管理單元
15‧‧‧列印上下文工廠
16‧‧‧列印上下文函式庫
17‧‧‧虛擬上下文介面
18‧‧‧模版管理單元
19‧‧‧資料剖析器
20‧‧‧平臺開發套件
21‧‧‧平臺應用程式設計介面
100‧‧‧列印裝置
圖1為本發明實施例提供的列印裝置結構示意圖;圖2為列印出的收據示意圖;圖3為本發明實施例提供的列印方法流程圖。
本發明實施例透過配置列印上下文函式庫來儲存對應不同列印設備的列印上下文,透過配置管理單元來配置列印設備,在執行列印任務時,透過呼叫列印上下文工廠從列印上下文函式庫中獲取配置管理單元配置的列印設備所對應的列印上下文,並將其寫入虛擬上下文介面,透過呼叫虛擬上下文介面來實現列印。採用這種方式,當需要列印SDK增加對新的列印設備的支援能力時,只需要將該新的列印設備對應的列印上下文存入列印上下文函式庫, 而對於列印時所需的其它功能,如資料解析功能、列印配置功能等,則可以在各個不同的列印設備間共用,因此,這種支援列印的方式的可擴縮性較強。
另外,本發明實施例還提供了對印表機中多種列印樣式的支援。在傳統的列印方式中,列印樣式通常是單一化的,這裡的列印樣式並不是指傳統的列印配置參數(如列印版式、縮放程度)的不同,而是指的具體的標籤內容設計及內容屬性的不同。本發明實施例透過設置模版管理單元來支援列印樣式的多樣化,範本管理單元可以為使用者配置客製化的列印模版,在列印時透過呼叫使用者定制的列印範本,就可以列印出該使用者所要求的列印樣式。
下面結合說明書附圖對本發明實施例作進一步詳細描述。
如圖1所示,為本發明實施例提供的列印裝置100結構示意圖,包括以下單元:列印使用者介面(User Interface,UI)11,用於接收使用者的列印指示。
列印介面(Print Interface)12,用於根據列印UI 11的指示,產生列印任務,並將產生的列印任務加入列印執行緒池。
列印執行緒池(Print Task Pool)13,用於儲存列印任務。
配置管理(Configuration Management)單元14,用於提供列印設備配置介面,供使用者配置需要使用的列印 設備資訊,並保存該列印設備資訊;這裡,配置管理單元向使用者提供列印設備配置介面,使用者可以透過該單元配置列印設備資訊,比如列印設備名稱、標識ID等。
列印上下文工廠(Print Context factory)15,用於在接收到列印任務的呼叫指示後,從列印上下文函式庫中獲取配置管理單元14保存的列印設備資訊所對應的列印上下文,並將其寫入虛擬上下文介面。
列印上下文函式庫16,用於儲存對應不同列印設備的列印上下文。
比如,藍牙列印上下文(Bluetooth Printer Context)、com列印上下文(com Printer Context)、USB列印上下文(USB Printer Context)、通用列印上下文(General Printer Context)。
虛擬上下文介面(Virtual Context Interface)17,用於保存所述列印上下文工廠15寫入的列印上下文,並提供列印呼叫介面。這裡,透過呼叫虛擬上下文介面17,將待列印資料列印成收據,同時可以遮罩具體的列印設備細節,從而上層可以無感知地支援列印設備的列印。
在具體實施中,列印程序在透過列印使用者介面UI11接收到使用者的列印指示後,透過呼叫列印介面12,基於所述列印指示產生列印任務,並將產生的列印任務加入列印執行緒池13;從所述列印執行緒池13中調取當前待處理的列印任務,列印任務中包含待列印資料。在獲取列印任務後,透過呼叫列印上下文工廠15,從列印上下 文函式庫16中獲取配置管理單元14保存的列印設備資訊所對應的列印上下文,並將其寫入虛擬上下文介面17;透過呼叫虛擬上下文介面17,將所述列印任務指示的待列印資料列印成收據。
在上述過程中,列印程序可以透過呼叫元資料剖析器(Meta data parser),基於待列印資料、預設的列印模版和列印參數資訊,產生可列印資料流程,再透過呼叫虛擬上下文介面17將該可列印資料流程列印成收據。這裡的列印參數資訊可以是預設的,也可以是透過配置管理單元14配置的。
作為一種較佳的實施方式,本發明實施例還提供了模版管理單元18來支援列印樣式的多樣化,即所述列印裝置還包括:模版管理單元18,用於為使用者配置客製化的列印模版,其中,所述列印模版中記錄有列印收據對應的標籤內容及內容屬性資訊。在具體實施中,模版管理單元18可以向使用者提供可供編輯的列印範本,使用者基於自身實際需要編輯客製化的列印範本。
資料剖析器19,用於基於待列印資料、模版管理單元18配置的客製化的列印模版和配置管理單元14配置的列印參數資訊,產生可列印資料流程。
在具體實施中,列印程序透過呼叫資料剖析器19,基於待列印資料、模版管理單元18配置的客製化的列印模版、和配置管理單元14配置的列印參數資訊(比如包 括列印份數、列印版式等,當然,這些列印參數也可以是默認的),產生可列印資料流程;然後,列印程序透過呼叫虛擬上下文介面17,將資料剖析器19產生的可列印資料流程列印成收據。
在具體實施中,模版管理單元18可以使用xml語言來定義列印模版,如下所示:
<?xml version="1.0" encoding="utf-8"?>
<root>
<template.id>
<text font='w'dw='true'dh='true'bold='true'>****測試列印***</text>
<text font='h'dw='false'dh='false'bold='false'>測試列印,如果看到這些帶你的文字資訊,說明已經成功連接該印表機!</text><br/>
<br/>
<text font='t'dw='true'dh='false'bold='false'align='c'>淘點點</text><br/>
<cut/>自動切紙
</template>
</root>
範本定義如下:屬性清單:font:字體1/2數位n,設置列印字體,目前支援1,2,大小兩種;
bold:粗體,ture flase
dw:雙倍寬
dh:雙倍高
datasrc:資料來源,map<string,dataobj>datasrc;datasrc[orderitem_name]
align:對齊方式,left,center,right
padding:對齊圖元
標籤列表:
<template/>範本根節點,可設置屬性包括id
<text/>輸出文本內容,可設置屬性:font,bold,dw,dh,datasrc,align,padding,默認是不換行
<list/>清單內容,可包含子節點datasrc
<blankline/>空行,可設置屬性font
<br/>換行
<tr/>tab節點
除上述單元外,本發明實施例提供的列印裝置中還可以包括平臺開發套件(Platform SDK)20,其中包含供各種列印上下文呼叫的軟體代碼。平臺應用程式設計介面(Platform API)21,用於提供執行列印任務的作業系統支援。
如圖2所示,為列印出的收據示意圖。圖中,虛線框內的資訊為列印任務中指示的待列印資料,其它如點功能表、序號、點菜時間、買家、電話、訂單編號、小計、共計等字樣、及空格、換行等為標籤內容,圖中顯示的字體 類型、字體大小、對齊方式等為屬性資訊。
基於上述列印裝置,本發明實施例中提供了應用上述列印裝置進行列印的列印方法,具體實施與上述描述重複之處不再贅述。
如圖3所示,為本發明實施例提供的列印方法流程圖,包括以下步驟:S301:在獲取列印任務後,透過呼叫列印上下文工廠,從列印上下文函式庫中獲取配置管理單元保存的列印設備資訊所對應的列印上下文,並將其寫入虛擬上下文介面;其中,所述列印上下文函式庫中儲存有對應不同列印設備的列印上下文;所述配置管理單元保存的列印設備資訊,為使用者基於該配置管理單元提供的列印設備配置介面配置的;S302:透過呼叫虛擬上下文介面,將所述列印任務指示的待列印資料列印成收據。
可選地,所述方法還包括:透過模版管理單元為使用者配置客製化的列印模版,其中,所述列印模版中記錄有列印收據對應的標籤內容及內容屬性資訊;所述透過呼叫虛擬上下文介面,將所述待列印資料列印成收據,包括:透過呼叫虛擬上下文介面,將所述待列印資料基於所述客製化的列印範本列印成收據。
可選地,所述透過呼叫虛擬上下文介面,將所述待列 印資料基於所述客製化的列印範本列印成收據,包括:透過呼叫資料剖析器,基於所述待列印資料和所述客製化的列印模版,產生可列印資料流程;透過呼叫所述虛擬上下文介面,將所述資料剖析器產生的可列印資料流程列印成收據。
可選地,所述透過呼叫資料剖析器,基於所述待列印資料和所述模版管理單元配置的客製化的列印模版,產生可列印資料流程,包括:透過呼叫資料剖析器,基於所述待列印資料、所述模版管理單元配置的客製化的列印模版、和所述配置管理單元保存的列印參數資訊,產生可列印資料流程。
可選地,根據以下步驟獲取所述列印任務:在透過列印使用者介面UI接收到使用者的列印指示後,透過呼叫列印介面,基於所述列印指示產生列印任務,並將產生的列印任務加入列印執行緒池;從所述列印執行緒池中調取當前待處理的列印任務。
本領域內的技術人員應明白,本發明的實施例可提供為方法、系統、或電腦程式產品。因此,本發明可採用完全硬體實施例、完全軟體實施例、或結合軟體和硬體方面的實施例的形式。而且,本發明可採用在一個或多個其中包含有電腦可用程式碼的電腦可用儲存介質(包括但不限於磁碟記憶體、CD-ROM、光學記憶體等)上實施的電腦程式產品的形式。
本發明是參照根據本發明實施例的方法、裝置(系 統)、和電腦程式產品的流程圖和/或方塊圖來描述的。應理解可由電腦程式指令實現流程圖和/或方塊圖中的每一流程和/或方塊、以及流程圖和/或方塊圖中的流程和/或方塊的結合。可提供這些電腦程式指令到通用電腦、專用電腦、嵌入式處理器或其他可程式設計資料處理設備的處理器以產生一個機器,使得透過電腦或其他可程式設計資料處理設備的處理器執行的指令產生用於實現在流程圖一個流程或多個流程和/或方塊圖一個方塊或多個方塊中指定的功能的裝置。
這些電腦程式指令也可儲存在能引導電腦或其他可程式設計資料處理設備以特定方式工作的電腦可讀記憶體中,使得儲存在該電腦可讀記憶體中的指令產生包括指令裝置的製造品,該指令裝置實現在流程圖一個流程或多個流程和/或方塊圖一個方塊或多個方塊中指定的功能。
這些電腦程式指令也可裝載到電腦或其他可程式設計資料處理設備上,使得在電腦或其他可程式設計設備上執行一系列操作步驟以產生電腦實現的處理,從而在電腦或其他可程式設計設備上執行的指令提供用於實現在流程圖一個流程或多個流程和/或方塊圖一個方塊或多個方塊中指定的功能的步驟。
儘管已描述了本發明的較佳實施例,但本領域內的技術人員一旦得知了基本創造性概念,則可對這些實施例作出另外的變更和修改。所以,所附申請專利範圍意欲解釋為包括較佳實施例以及落入本發明範圍的所有變更和修 改。
顯然,本領域的技術人員可以對本發明進行各種改動和變型而不脫離本發明的精神和範圍。這樣,倘若本發明的這些修改和變型屬於本發明申請專利範圍及其等同技術的範圍之內,則本發明也意圖包含這些改動和變型在內。

Claims (10)

  1. 一種列印裝置,其特徵在於,該裝置包括以下組成部分:配置管理單元,用於提供列印設備配置介面,供使用者配置需要使用的列印設備資訊,並保存該列印設備資訊;列印上下文工廠,用於從列印上下文函式庫中獲取該配置管理單元保存的列印設備資訊所對應的列印上下文,並將其寫入虛擬上下文介面;列印上下文函式庫,用於儲存對應不同列印設備的列印上下文;虛擬上下文介面,用於保存該列印上下文工廠寫入的列印上下文,並提供列印呼叫介面。
  2. 如申請專利範圍第1項所述的列印裝置,其中,該裝置還包括:模版管理單元,用於為使用者配置客製化的列印模版,其中,該列印模版中記錄有列印收據對應的標籤內容及內容屬性資訊。
  3. 如申請專利範圍第2項所述的列印裝置,其中,所述裝置還包括:資料剖析器,用於基於待列印資料和該模版管理單元配置的客製化的列印模版,產生可列印資料流程,以供被列印成該收據。
  4. 如申請專利範圍第3項所述的列印裝置,其中, 該配置管理單元還用於提供列印參數配置介面,供使用者配置列印參數資訊,並保存該列印參數資訊;該資料剖析器具體用於:基於待列印資料、該模版管理單元配置的客製化的列印模版、和該配置管理單元保存的列印參數資訊,產生可列印資料流程。
  5. 如申請專利範圍第1項所述的列印裝置,其中,所述裝置還包括:列印使用者介面UI,用於接收使用者的列印指示;列印介面,用於根據該列印使用者介面UI的指示,產生列印任務,並將產生的列印任務加入列印執行緒池;列印執行緒池,用於儲存列印任務。
  6. 一種列印方法,其特徵在於,該方法包括:在獲取列印任務後,透過呼叫列印上下文工廠,從列印上下文函式庫中獲取配置管理單元保存的列印設備資訊所對應的列印上下文,並將其寫入虛擬上下文介面;其中,該列印上下文函式庫中儲存有對應不同列印設備的列印上下文;該配置管理單元保存的列印設備資訊,為使用者基於該配置管理單元提供的列印設備配置介面配置的;透過呼叫虛擬上下文介面,將該列印任務指示的待列印資料列印成收據。
  7. 如申請專利範圍第6項所述的方法,其中,該方法還包括:透過模版管理單元為使用者配置客製化的列印模版,其中,該列印模版中記錄有列印收據對應的標籤內容及內 容屬性資訊;該透過呼叫虛擬上下文介面,將該待列印資料列印成收據,包括:透過呼叫虛擬上下文介面,將該待列印資料基於該客製化的列印範本列印成收據。
  8. 如申請專利範圍第7項所述的方法,其中,該透過呼叫虛擬上下文介面,將該待列印資料基於該客製化的列印範本列印成收據,包括:透過呼叫資料剖析器,基於該待列印資料和該客製化的列印模版,產生可列印資料流程;透過呼叫該虛擬上下文介面,將該資料剖析器產生的可列印資料流程列印成收據。
  9. 如申請專利範圍第8項所述的方法,其中,該透過呼叫該資料剖析器,基於該待列印資料和該模版管理單元配置的該客製化的列印模版,產生可列印資料流程,包括:透過呼叫該資料剖析器,基於該待列印資料、該模版管理單元配置的該客製化的列印模版、和該配置管理單元保存的列印參數資訊,產生可列印資料流程。
  10. 如申請專利範圍第6項所述的方法,其中,根據以下步驟獲取該列印任務:在透過列印使用者介面UI接收到使用者的列印指示後,透過呼叫列印介面,基於該列印指示產生列印任務,並將產生的列印任務加入列印執行緒池; 從該列印執行緒池中調取當前待處理的列印任務。
TW106102715A 2017-01-24 2017-01-24 列印裝置及列印方法 TW201828038A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
TW106102715A TW201828038A (zh) 2017-01-24 2017-01-24 列印裝置及列印方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
TW106102715A TW201828038A (zh) 2017-01-24 2017-01-24 列印裝置及列印方法

Publications (1)

Publication Number Publication Date
TW201828038A true TW201828038A (zh) 2018-08-01

Family

ID=63960541

Family Applications (1)

Application Number Title Priority Date Filing Date
TW106102715A TW201828038A (zh) 2017-01-24 2017-01-24 列印裝置及列印方法

Country Status (1)

Country Link
TW (1) TW201828038A (zh)

Similar Documents

Publication Publication Date Title
WO2017114188A1 (zh) 一种打印装置及打印方法
TWI808393B (zh) 頁面處理方法、裝置、設備及儲存媒體
CN110058856B (zh) 页面配置方法及装置
CN105511873B (zh) 用户界面控件展示方法及装置
US20170286068A1 (en) Development support system
CN109522013A (zh) 一种业务功能的代码生成方法及装置
CN111078221A (zh) 页面颜色主题的切换方法、装置、存储介质及电子设备
US20120260237A1 (en) Portable Business Language and Automated Software Application Development System
CN117762519A (zh) 组件管理方法、装置、计算机设备和存储介质
CN111240676A (zh) 一种生成骨架屏的代码的方法及装置
TW201828038A (zh) 列印裝置及列印方法
US20190042549A1 (en) Method and apparatus for building pages, apparatus and non-volatile computer storage medium
CN113485746B (zh) 应用程序接口文档的生成方法及装置
JP6551082B2 (ja) テスト支援装置、テスト支援方法およびテスト支援プログラム
JP2018181073A (ja) 情報処理装置と、その処理方法及びプログラム
JP2014171053A (ja) 電子文書コンテナデータファイル、電子文書コンテナデータファイル生成装置、電子文書コンテナデータファイル生成プログラム、サーバ装置および電子文書コンテナデータファイル生成方法
JP6845437B2 (ja) 情報処理装置とその処理方法及びプログラム
JP2006331356A (ja) 業務処理プログラム、それを記録した記録媒体及び業務処理システム
JP3969926B2 (ja) 帳票作成装置、帳票作成方法、および記憶媒体
CN114363400B (zh) 基于云平台的应用编排方法、装置及计算机可读存储介质
WO2023162260A1 (ja) 環境構築支援装置、システム及び方法、並びに、コンピュータ可読媒体
KR20180090415A (ko) 디자인 가이드 파일을 생성 또는 보기 위한 장치 및 방법
US8493600B2 (en) Multi-layered printer driver model
US20160085517A1 (en) Program information generating system, program information generating method, and computer program product
KR102076552B1 (ko) 매크로 등록 및 실행 장치, 매크로 등록 방법