專(zhuān)利名稱(chēng):環(huán)境設(shè)定數(shù)據(jù)設(shè)定方法、程序及打印數(shù)據(jù)提供裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及環(huán)境設(shè)定數(shù)據(jù)設(shè)定方法、環(huán)境設(shè)定數(shù)據(jù)設(shè)定程序以及打印數(shù)據(jù)提供裝置。
背景技術(shù):
通常所知的打印系統(tǒng)包括打印機(jī)和打印數(shù)據(jù)提供裝置,該打印數(shù)據(jù)提供裝置將打印數(shù)據(jù)提供給該打印機(jī),并使該打印機(jī)打印輸出例如由應(yīng)用程序生成的圖像。例如,已知下述打印系統(tǒng),其打印數(shù)據(jù)提供裝置將由POS(Point Of Sales)應(yīng)用程序生成的收據(jù)圖像的打印數(shù)據(jù)提供給打印機(jī),使打印機(jī)打印輸出該收據(jù)圖像。
發(fā)明內(nèi)容
在上述打印系統(tǒng)中,在將打印機(jī)更換為其他打印機(jī)的情況下,有時(shí)由于更換前的打印機(jī)和更換后的打印機(jī)之間的規(guī)格等不同,在更換前的打印機(jī)的打印輸出和更換后的打印機(jī)的打印輸出之間會(huì)產(chǎn)生差異。在這種情況下,為了得到與更換前的打印機(jī)的打印輸出同樣的打印輸出,必須考慮變更應(yīng)用程序側(cè)的規(guī)格或設(shè)定、以及更換后的打印機(jī)的規(guī)格等。
對(duì)于這一點(diǎn),在上述情況下,考慮在打印數(shù)據(jù)提供裝置中,保留向更換前的打印機(jī)輸出打印數(shù)據(jù)的結(jié)構(gòu),根據(jù)由該結(jié)構(gòu)輸出的打印數(shù)據(jù)(內(nèi)部打印數(shù)據(jù)),暫時(shí)生成打印對(duì)象圖像的最終圖像數(shù)據(jù),之后,生成用于使更換后的打印機(jī)打印輸出該最終圖像數(shù)據(jù)的打印數(shù)據(jù),提供給打印機(jī)。采用這種方式,即使不改變應(yīng)用程序側(cè)的規(guī)格或設(shè)定,也能夠由更換后的打印機(jī)得到與更換前的打印機(jī)同樣的打印輸出。
另外,在上述打印系統(tǒng)中,如果在打印輸出的過(guò)程中,對(duì)打印對(duì)象圖像進(jìn)行用戶(hù)所期望的加工后進(jìn)行打印輸出,則能夠提高方便性。例如,在打印輸出收據(jù)圖像的打印系統(tǒng)中,在收據(jù)圖像中含有由用戶(hù)指定的關(guān)鍵詞(例如特定的商品名稱(chēng)等)的情況下,如果在收據(jù)圖像中附加由用戶(hù)指定的圖像(例如贈(zèng)卷圖像或廣告圖像等),則可以減少針對(duì)購(gòu)入特定商品的顧客,散發(fā)該商品或其相關(guān)商品的廣告、贈(zèng)卷等麻煩,且能夠準(zhǔn)確地進(jìn)行,提高打印系統(tǒng)的方便性。
對(duì)于這一點(diǎn),考慮在打印數(shù)據(jù)提供裝置中,根據(jù)例如從打印機(jī)驅(qū)動(dòng)等輸出的打印數(shù)據(jù)(內(nèi)部打印數(shù)據(jù)),暫時(shí)生成打印對(duì)象圖像的最終圖像數(shù)據(jù)后,對(duì)該最終圖像進(jìn)行用戶(hù)所期望的加工,之后,生成用于使更換后的打印機(jī)打印輸出加工后的最終圖像數(shù)據(jù)的打印數(shù)據(jù),提供給打印機(jī)。如果采用這種方式,則即使不改變應(yīng)用程序側(cè)的規(guī)格或設(shè)定,也能在打印輸出的過(guò)程中,對(duì)打印對(duì)象圖像進(jìn)行用戶(hù)所期望的加工并打印輸出,提高上述打印系統(tǒng)的方便性。
另外,在上述打印系統(tǒng)中,通過(guò)對(duì)應(yīng)于內(nèi)部打印數(shù)據(jù),來(lái)改變打印數(shù)據(jù)提供裝置中執(zhí)行的打印數(shù)據(jù)生成處理(根據(jù)內(nèi)部打印數(shù)據(jù)生成打印數(shù)據(jù)的處理)的內(nèi)容,可以進(jìn)一步提高其方便性。
在實(shí)現(xiàn)上述打印系統(tǒng)的情況下,通常采用如下方式,即,將例如與對(duì)打印對(duì)象圖像進(jìn)行的加工相關(guān)的設(shè)定、或與打印數(shù)據(jù)生成處理的變更相關(guān)的設(shè)定,作為環(huán)境設(shè)定數(shù)據(jù)進(jìn)行存儲(chǔ),根據(jù)該環(huán)境設(shè)定數(shù)據(jù),執(zhí)行打印數(shù)據(jù)生成本身或打印數(shù)據(jù)生成處理的變更處理。另外,在上述打印系統(tǒng)中,作為保存該環(huán)境設(shè)定數(shù)據(jù)的路徑,有時(shí)使用與各個(gè)打印機(jī)相關(guān)聯(lián)的路徑。例如,在打印機(jī)經(jīng)由USB(Universal SerialBus)接口與計(jì)算機(jī)連接的情況下,當(dāng)在打印機(jī)中存儲(chǔ)有可經(jīng)由USB端口讀取的序列號(hào)(識(shí)別各個(gè)打印機(jī)的識(shí)別信息)時(shí),使用根據(jù)該序列號(hào)生成的路徑,另外,當(dāng)在打印機(jī)中沒(méi)有存儲(chǔ)可經(jīng)由USB端口讀取的序列號(hào)時(shí),使用根據(jù)該打印機(jī)所連接的USB端口(符合USB端口規(guī)格的連接口)的識(shí)別信息生成的路徑。在這種情況下,應(yīng)保存環(huán)境設(shè)定文件的路徑,因?yàn)楦鶕?jù)打印機(jī)的序列號(hào)、或者打印機(jī)所連接的USB端口的識(shí)別信息,每個(gè)打印數(shù)據(jù)提供裝置各不相同,所以對(duì)于進(jìn)行上述打印系統(tǒng)(打印數(shù)據(jù)提供裝置)的環(huán)境設(shè)定文件的設(shè)定的人員(例如打印系統(tǒng)的安裝負(fù)責(zé)人或管理者等)來(lái)說(shuō),環(huán)境設(shè)定文件的設(shè)定工作很麻煩。
本發(fā)明就是鑒于上述課題而完成的,其目的在于提供一種環(huán)境設(shè)定數(shù)據(jù)設(shè)定方法、環(huán)境設(shè)定數(shù)據(jù)設(shè)定程序以及打印數(shù)據(jù)提供裝置,其根據(jù)與提供目標(biāo)的打印機(jī)相關(guān)聯(lián)保存的環(huán)境設(shè)定數(shù)據(jù),生成基于內(nèi)部打印數(shù)據(jù)的打印數(shù)據(jù),并提供給該打印機(jī)。
為了解決上述課題,本發(fā)明涉及的打印數(shù)據(jù)提供裝置的環(huán)境設(shè)定數(shù)據(jù)設(shè)定方法,該打印數(shù)據(jù)提供裝置含有與多個(gè)組信息中的至少一個(gè)相關(guān)聯(lián)而保存數(shù)據(jù)的保存單元,根據(jù)與前述多個(gè)組信息中的與提供目標(biāo)的打印機(jī)對(duì)應(yīng)的組信息相關(guān)聯(lián)的環(huán)境設(shè)定數(shù)據(jù),生成以由內(nèi)部打印數(shù)據(jù)生成程序生成的內(nèi)部打印數(shù)據(jù)為基礎(chǔ)的打印數(shù)據(jù),并提供給該打印機(jī),其特征在于,具有判定步驟,該步驟判定打印機(jī)是否連接;組信息生成步驟,在通過(guò)前述判定步驟判定打印機(jī)已連接的情況下,該步驟生成與該打印機(jī)對(duì)應(yīng)的組信息;以及保存步驟,在通過(guò)前述組信息生成步驟生成與前述打印機(jī)對(duì)應(yīng)的組信息的情況下,該步驟將存儲(chǔ)在規(guī)定的存儲(chǔ)單元中的基準(zhǔn)環(huán)境設(shè)定數(shù)據(jù)作為前述環(huán)境設(shè)定數(shù)據(jù),與該組信息關(guān)聯(lián),保存在前述保存單元中。
另外,本發(fā)明涉及的環(huán)境設(shè)定數(shù)據(jù)設(shè)定程序,其用于設(shè)定打印數(shù)據(jù)提供裝置的環(huán)境設(shè)定數(shù)據(jù),該打印數(shù)據(jù)提供裝置含有與多個(gè)組信息中的至少一個(gè)相關(guān)聯(lián)而保存數(shù)據(jù)的保存單元,根據(jù)與前述多個(gè)組信息中的與提供目標(biāo)的打印機(jī)對(duì)應(yīng)的組信息相關(guān)聯(lián)的環(huán)境設(shè)定數(shù)據(jù),生成以由內(nèi)部打印數(shù)據(jù)生成程序生成的內(nèi)部打印數(shù)據(jù)為基礎(chǔ)的打印數(shù)據(jù),并提供給該打印機(jī),該環(huán)境設(shè)定數(shù)據(jù)設(shè)定程序用于使前述打印數(shù)據(jù)提供裝置執(zhí)行下述步驟,即判定步驟,該步驟判定打印機(jī)是否連接;組信息生成步驟,在通過(guò)前述判定步驟判定打印機(jī)已連接的情況下,該步驟生成與該打印機(jī)對(duì)應(yīng)的組信息;以及保存步驟,在通過(guò)前述組信息生成步驟生成與前述打印機(jī)對(duì)應(yīng)的組信息的情況下,該步驟將存儲(chǔ)在規(guī)定的存儲(chǔ)單元中的基準(zhǔn)環(huán)境設(shè)定數(shù)據(jù)作為前述環(huán)境設(shè)定數(shù)據(jù),與該組信息關(guān)聯(lián),保存在前述保存單元中。
另外,本發(fā)明涉及的信息存儲(chǔ)介質(zhì)是存儲(chǔ)了上述程序的計(jì)算機(jī)可讀取的信息存儲(chǔ)介質(zhì)。
另外,本發(fā)明涉及的打印數(shù)據(jù)提供裝置,其含有與多個(gè)組信息中的至少一個(gè)相關(guān)聯(lián)而保存數(shù)據(jù)的保存單元,根據(jù)與前述多個(gè)組信息中的與提供目標(biāo)的打印機(jī)對(duì)應(yīng)的組信息相關(guān)聯(lián)的環(huán)境設(shè)定數(shù)據(jù),生成以由內(nèi)部打印數(shù)據(jù)生成程序生成的內(nèi)部打印數(shù)據(jù)為基礎(chǔ)的打印數(shù)據(jù),并提供給該打印機(jī),具有判定單元,其判定打印機(jī)是否連接;組信息生成單元,其在通過(guò)前述判定單元判定打印機(jī)已連接的情況下,生成與該打印機(jī)對(duì)應(yīng)的組信息;以及保存單元,其在通過(guò)前述組信息生成單元生成與前述打印機(jī)對(duì)應(yīng)的組信息的情況下,將存儲(chǔ)在規(guī)定的存儲(chǔ)單元中的基準(zhǔn)環(huán)境設(shè)定數(shù)據(jù)作為前述環(huán)境設(shè)定數(shù)據(jù),與該組信息關(guān)聯(lián),保存在前述保存單元中。
本發(fā)明涉及下述打印數(shù)據(jù)提供裝置的環(huán)境設(shè)定數(shù)據(jù)的設(shè)定方法,即“含有與多個(gè)組信息中的至少一個(gè)相關(guān)聯(lián)而保存數(shù)據(jù)的保存單元,根據(jù)與前述多個(gè)組信息中的與提供目標(biāo)的打印機(jī)對(duì)應(yīng)的組信息相關(guān)聯(lián)的環(huán)境設(shè)定數(shù)據(jù),生成以由內(nèi)部打印數(shù)據(jù)生成程序生成的內(nèi)部打印數(shù)據(jù)為基礎(chǔ)的打印數(shù)據(jù),并提供給該打印機(jī)的打印數(shù)據(jù)提供裝置”。在本發(fā)明中,判定打印機(jī)是否已連接。然后,在判定打印機(jī)已連接的情況下,生成與該打印機(jī)對(duì)應(yīng)的組信息。另外,在生成該組信息的情況下,存儲(chǔ)在規(guī)定的存儲(chǔ)單元中的基準(zhǔn)環(huán)境設(shè)定數(shù)據(jù)作為上述環(huán)境設(shè)定數(shù)據(jù),與該組信息關(guān)聯(lián),保存在上述保存單元中。根據(jù)本發(fā)明,能夠減少“根據(jù)與提供目標(biāo)打印機(jī)關(guān)聯(lián)地保存的環(huán)境設(shè)定數(shù)據(jù),生成基于內(nèi)部打印數(shù)據(jù)的打印數(shù)據(jù),并提供給該打印機(jī)的打印數(shù)據(jù)提供裝置”的環(huán)境設(shè)定數(shù)據(jù)的設(shè)定中的麻煩。
另外,采用本發(fā)明的一種方式,具有時(shí)間戳比較步驟,其在與前述打印機(jī)對(duì)應(yīng)的組信息中關(guān)聯(lián)前述環(huán)境設(shè)定數(shù)據(jù)的情況下,比較該環(huán)境設(shè)定數(shù)據(jù)的時(shí)間戳與存儲(chǔ)在前述規(guī)定的存儲(chǔ)單元中的基準(zhǔn)環(huán)境設(shè)定數(shù)據(jù)的時(shí)間戳;以及保存步驟,其對(duì)應(yīng)于由前述時(shí)間戳比較步驟得到的比較結(jié)果,將存儲(chǔ)在前述規(guī)定的存儲(chǔ)單元中的基準(zhǔn)環(huán)境設(shè)定數(shù)據(jù)作為前述環(huán)境設(shè)定數(shù)據(jù),與對(duì)應(yīng)于前述打印機(jī)的組信息關(guān)聯(lián),保存在前述保存單元中。
另外,本發(fā)明的一個(gè)方式中,前述基準(zhǔn)環(huán)境設(shè)定數(shù)據(jù)與前述多個(gè)組信息中的打印機(jī)的序列號(hào)或USB端口ID關(guān)聯(lián),保存在前述保存單元中。
另外,本發(fā)明的一個(gè)方式中,前述基準(zhǔn)環(huán)境設(shè)定數(shù)據(jù),存儲(chǔ)在包含與前述打印數(shù)據(jù)提供裝置通信連接的服務(wù)器裝置的存儲(chǔ)單元中。
圖1是表示本發(fā)明的實(shí)施方式所涉及的打印系統(tǒng)的整體結(jié)構(gòu)的圖。
圖2是表示收據(jù)圖像的一個(gè)例子的圖。
圖3是用于說(shuō)明打印數(shù)據(jù)提供裝置中的打印處理的圖。
圖4是表示在環(huán)境設(shè)定文件中保存的信息的一個(gè)例子的圖。
圖5是表示打印數(shù)據(jù)提供裝置的安裝次序的流程圖。
圖6是用于對(duì)打印數(shù)據(jù)提供裝置的安裝次序進(jìn)行說(shuō)明的圖。
圖7是表示由環(huán)境設(shè)定文件的設(shè)定程序執(zhí)行的處理的流程圖。
圖8是表示由環(huán)境設(shè)定文件的設(shè)定程序執(zhí)行的處理的流程圖。
具體實(shí)施例方式
下面,根據(jù)附圖,對(duì)本發(fā)明的實(shí)施方式的一個(gè)例子進(jìn)行詳細(xì)說(shuō)明。
圖1是表示本發(fā)明的實(shí)施方式所涉及的打印系統(tǒng)的整體結(jié)構(gòu)的圖。如該圖所示,本實(shí)施方式所涉及的打印系統(tǒng)1構(gòu)成為含有打印數(shù)據(jù)提供裝置10(主計(jì)算機(jī))和打印機(jī)20。此外,打印數(shù)據(jù)提供裝置10由例如個(gè)人計(jì)算機(jī)等計(jì)算機(jī)實(shí)現(xiàn)。
如圖1所示,打印數(shù)據(jù)提供裝置10構(gòu)成為含有控制部11、存儲(chǔ)部12、輸入部13、顯示部14、接口(I/F)15以及光盤(pán)讀取部16。
控制部11按照存儲(chǔ)在存儲(chǔ)部12中的操作系統(tǒng)以及其他程序進(jìn)行動(dòng)作,執(zhí)行各種信息處理。另外,存儲(chǔ)部12由計(jì)算機(jī)可讀取的信息存儲(chǔ)介質(zhì)構(gòu)成。存儲(chǔ)部12例如構(gòu)成為含有ROM(Read OnlyMemory)、RAM(Random Access Memory)以及硬盤(pán)裝置。存儲(chǔ)部12中存儲(chǔ)由控制部11執(zhí)行的程序。另外,存儲(chǔ)部12還作為存儲(chǔ)控制部11的處理過(guò)程中所必需的各種數(shù)據(jù)的工作存儲(chǔ)器來(lái)工作。
輸入部13是例如鍵盤(pán)或鼠標(biāo)等,將與用戶(hù)的操作輸入對(duì)應(yīng)的數(shù)據(jù)輸入至控制部11。顯示部14是例如顯示器等,根據(jù)從控制部11輸入的指令進(jìn)行信息的顯示。光盤(pán)讀取部16根據(jù)來(lái)自控制部11的指令,讀取存儲(chǔ)在例如CD-ROM等光盤(pán)(信息存儲(chǔ)介質(zhì))中的程序或數(shù)據(jù)。
接口15是用于將各種外圍設(shè)備或信息存儲(chǔ)介質(zhì)(存儲(chǔ)卡等)連接到打印數(shù)據(jù)提供裝置10上的接口。接口15將從外圍設(shè)備等輸入的數(shù)據(jù)輸出給控制部11。另外,接口15根據(jù)從控制部11輸入的指令,將各種數(shù)據(jù)輸出給外圍設(shè)備等。在打印數(shù)據(jù)提供裝置10上,設(shè)有例如1個(gè)或多個(gè)USB端口。
打印數(shù)據(jù)提供裝置10中,利用操作系統(tǒng),數(shù)據(jù)與多個(gè)路徑(組信息)中的某一個(gè)相關(guān)聯(lián)而被保存。此外,在本說(shuō)明書(shū)中,將數(shù)據(jù)與路徑關(guān)聯(lián)表述為“在路徑中保存數(shù)據(jù)”。
在本實(shí)施方式的情況下,在打印數(shù)據(jù)提供裝置10中,安裝有微軟公司的Windows(注冊(cè)商標(biāo))作為操作系統(tǒng)。另外,在打印數(shù)據(jù)提供裝置10中,安裝有POS應(yīng)用程序。POS應(yīng)用程序具有用于生成例如圖2所示的收據(jù)圖像的功能,以及用于開(kāi)始進(jìn)行該收據(jù)圖像的打印處理的功能。
在打印數(shù)據(jù)提供裝置10上,經(jīng)由接口15,以可相互傳輸數(shù)據(jù)的方式連接有打印機(jī)20。如圖1所示,打印機(jī)20構(gòu)成為,包含控制部21、存儲(chǔ)部22、圖像形成部23以及接口(I/F)24。
控制部21進(jìn)行打印機(jī)20整體的控制。存儲(chǔ)部22構(gòu)成為含有ROM或RAM,存儲(chǔ)用于執(zhí)行打印所必需的各種程序或數(shù)據(jù)。接口24接收從打印數(shù)據(jù)提供裝置10發(fā)送的數(shù)據(jù),輸出給控制部21。在打印機(jī)20上設(shè)有例如USB端口作為接口24。圖像形成部23在打印紙等圖像記錄介質(zhì)上,形成基于從控制部21輸入的數(shù)據(jù)的圖像。
打印機(jī)20從打印數(shù)據(jù)提供裝置10接收規(guī)定的指令體系的指令數(shù)據(jù)(打印數(shù)據(jù)),根據(jù)該指令數(shù)據(jù)在圖像記錄介質(zhì)上形成圖像。在本實(shí)施方式的情況下,打印機(jī)20接收表示構(gòu)成圖像的各個(gè)像素的著色信息的指令數(shù)據(jù),根據(jù)該指令數(shù)據(jù),在圖像記錄介質(zhì)上形成圖像。另外,打印機(jī)20接收表示各種機(jī)構(gòu)控制內(nèi)容的指令數(shù)據(jù),進(jìn)行根據(jù)該指令數(shù)據(jù)的機(jī)構(gòu)控制。例如,打印機(jī)20具有自動(dòng)分割機(jī)構(gòu),在接收到指示分割圖像存儲(chǔ)介質(zhì)的指令數(shù)據(jù)的情況下,在所指示的位置以所指示的狀態(tài)分割圖像記錄介質(zhì)。此外,在這里,打印機(jī)20所接受的指令數(shù)據(jù)是“指令體系1”的指令數(shù)據(jù)。
下面,對(duì)在指示打印收據(jù)圖像的情況下,由打印數(shù)據(jù)提供裝置10執(zhí)行的處理進(jìn)行說(shuō)明。圖3是用于說(shuō)明由打印數(shù)據(jù)提供裝置10執(zhí)行的處理的一個(gè)例子的圖。此外,在該圖中,說(shuō)明了POS應(yīng)用程序30a和POS應(yīng)用程序30b,但在打印數(shù)據(jù)提供裝置10中至少安裝二者中的一個(gè)。
首先,對(duì)由POS應(yīng)用程序30a指示打印收據(jù)圖像的情況進(jìn)行說(shuō)明。
如果由POS應(yīng)用程序30a指示打印收據(jù)圖像,則適當(dāng)?shù)卣{(diào)出圖形設(shè)備接口(Graphic Device InterfaceGDI)31的各種函數(shù)。此外,GDI 31是用于進(jìn)行圖像描繪的函數(shù)組,由操作系統(tǒng)提供。
該情況下,首先開(kāi)始進(jìn)行打印任務(wù),然后,生成記錄了用于打印收據(jù)圖像的GDI指令組的中間數(shù)據(jù)。該中間數(shù)據(jù)是獨(dú)立于設(shè)備的數(shù)據(jù)。
此外,在開(kāi)始打印任務(wù)的情況下,打印任務(wù)的名稱(chēng)由POS應(yīng)用程序30a指定。打印任務(wù)名稱(chēng)可以根據(jù)每個(gè)應(yīng)用程序指定固定的名稱(chēng),也可以根據(jù)打印對(duì)象的圖像數(shù)據(jù)指定不同的名稱(chēng)。在本實(shí)施方式的情況下,在POS應(yīng)用程序30a中保存固定的打印任務(wù)名稱(chēng)“A”,在進(jìn)行POS應(yīng)用程序30a的收據(jù)圖像打印的情況下,無(wú)論收據(jù)圖像的種類(lèi)如何,都指定該打印任務(wù)名稱(chēng)“A”。由POS應(yīng)用程序30a指定的打印任務(wù)名稱(chēng),與由POS應(yīng)用程序30a開(kāi)始的打印任務(wù)相關(guān)聯(lián)后被保存。
由GDI 31生成的中間數(shù)據(jù),提供給與打印機(jī)20相關(guān)聯(lián)的打印機(jī)驅(qū)動(dòng)34a。打印機(jī)驅(qū)動(dòng)34a根據(jù)記錄在中間數(shù)據(jù)中的GDI指令組,生成內(nèi)部打印數(shù)據(jù)(RAW數(shù)據(jù))。在這里所生成的內(nèi)部打印數(shù)據(jù),例如是表示每一行的打印內(nèi)容的指令數(shù)據(jù)或表示字體類(lèi)型的指令數(shù)據(jù)等,并不限于打印機(jī)20能夠解釋的指令體系的指令數(shù)據(jù),也可以是打印機(jī)20不能解釋的指令體系的指令數(shù)據(jù)。而且,在這里通過(guò)打印機(jī)驅(qū)動(dòng)34a,生成與“指令體系1”不同的“指令體系2”的指令數(shù)據(jù)作為內(nèi)部打印數(shù)據(jù)。
由打印機(jī)驅(qū)動(dòng)34a生成的內(nèi)部打印數(shù)據(jù)提供給緩沖器(spooler)35。緩沖器35一邊監(jiān)視打印機(jī)20的狀態(tài),一邊向端口驅(qū)動(dòng)40輸出內(nèi)部打印數(shù)據(jù)。
如上所述,在由POS應(yīng)用程序30a指示打印收據(jù)圖像的情況下,內(nèi)部打印數(shù)據(jù)向端口驅(qū)動(dòng)40的輸出,經(jīng)由GDI 31、打印機(jī)驅(qū)動(dòng)34a以及緩沖器35進(jìn)行。
下面,對(duì)由POS應(yīng)用程序30b指示打印收據(jù)圖像的情況進(jìn)行說(shuō)明。該情況下,內(nèi)部打印數(shù)據(jù)向端口驅(qū)動(dòng)40的輸出有下述情況,即1)經(jīng)由GDI 31、打印機(jī)驅(qū)動(dòng)34a以及緩沖器35進(jìn)行的情況;2)經(jīng)由內(nèi)部打印數(shù)據(jù)生成程序34b、緩沖器API(Application ProgramInterface)32以及緩沖器35進(jìn)行的情況;以及3)經(jīng)由內(nèi)部打印數(shù)據(jù)生成程序34c以及端口輸出API 33進(jìn)行。
在上述情況中,在內(nèi)部打印數(shù)據(jù)向端口驅(qū)動(dòng)40的輸出經(jīng)由GDI31、應(yīng)用程序34a以及緩沖器35進(jìn)行的情況下,因?yàn)榕c由POS應(yīng)用程序30a指示打印收據(jù)圖像的情況相同,所以省略說(shuō)明。此外,在本實(shí)施方式的情況下,由POS應(yīng)用程序30b保存固定的打印任務(wù)名稱(chēng)“B”,在由POS應(yīng)用程序30b開(kāi)始打印任務(wù)的情況下,無(wú)論收據(jù)圖像種類(lèi)如何,均指定該打印任務(wù)名稱(chēng)“B”。
首先,對(duì)內(nèi)部打印數(shù)據(jù)向端口驅(qū)動(dòng)40的輸出經(jīng)由內(nèi)部打印數(shù)據(jù)生成程序34b、緩沖器API 32以及緩沖器35進(jìn)行的情況進(jìn)行說(shuō)明。
該情況下,要求內(nèi)部打印數(shù)據(jù)生成程序34b生成內(nèi)部打印數(shù)據(jù),內(nèi)部打印數(shù)據(jù)生成程序34b生成內(nèi)部打印數(shù)據(jù)(RAW數(shù)據(jù))。此外,內(nèi)部打印數(shù)據(jù)生成程序34b可以是與POS應(yīng)用程序30b一體地提供的,也可以是與POS應(yīng)用程序34b分別提供的。另外,此處生成的內(nèi)部打印數(shù)據(jù),是例如表示每一行打印內(nèi)容的指令數(shù)據(jù)或表示字體類(lèi)型的指令數(shù)據(jù)等,與由打印機(jī)驅(qū)動(dòng)34a生成的內(nèi)部打印數(shù)據(jù)同樣地,不限于打印機(jī)20能夠解釋的指令體系的指令數(shù)據(jù),也可以是打印機(jī)20不能解釋的指令體系的指令數(shù)據(jù)。而且,在這里,利用打印機(jī)驅(qū)動(dòng)34b生成“指令體系2”的指令數(shù)據(jù)作為內(nèi)部打印數(shù)據(jù)。
如果由內(nèi)部打印數(shù)據(jù)生成程序34b生成內(nèi)部打印數(shù)據(jù),則適當(dāng)?shù)卣{(diào)出緩沖器API 32的各種函數(shù)。此外,緩沖器API 32是用于不通過(guò)打印機(jī)驅(qū)動(dòng)34a而直接將內(nèi)部打印數(shù)據(jù)提供給緩沖器35的函數(shù)組,可以由操作系統(tǒng)提供。
該情況下,首先開(kāi)始打印任務(wù),然后,內(nèi)部打印數(shù)據(jù)提供給緩沖器35。緩沖器35一邊監(jiān)視打印機(jī)20的狀態(tài),一邊向端口驅(qū)動(dòng)40輸出內(nèi)部打印數(shù)據(jù)。
此外,在要求內(nèi)部打印數(shù)據(jù)生成程序34b生成內(nèi)部打印數(shù)據(jù)的情況下,由POS應(yīng)用程序30b指定打印任務(wù)名稱(chēng)。由POS應(yīng)用程序30b指定的打印任務(wù)名稱(chēng),與由POS應(yīng)用程序30b開(kāi)始的打印任務(wù)相關(guān)聯(lián)而保存。如上所述,在本實(shí)施方式的情況下,由POS應(yīng)用程序30b保存固定的打印任務(wù)名稱(chēng)“B”,在開(kāi)始打印任務(wù)的情況下,無(wú)論收據(jù)圖像種類(lèi)如何,均指定該打印任務(wù)名稱(chēng)“B”。
下面,對(duì)內(nèi)部打印數(shù)據(jù)向端口驅(qū)動(dòng)40的輸出,經(jīng)由內(nèi)部打印數(shù)據(jù)生成程序34c以及端口輸出API 33進(jìn)行的情況進(jìn)行說(shuō)明。
該情況下,要求內(nèi)部打印數(shù)據(jù)生成程序34c生成內(nèi)部打印數(shù)據(jù),內(nèi)部打印數(shù)據(jù)生成應(yīng)用程序34c生成內(nèi)部打印數(shù)據(jù)(RAW數(shù)據(jù))。此外,內(nèi)部打印數(shù)據(jù)生成程序34c可以是與POS應(yīng)用程序34b一體地提供的,也可以是與POS應(yīng)用程序34b分別提供的。另外,此處生成的內(nèi)部打印數(shù)據(jù),例如是表示每一行打印內(nèi)容的指令數(shù)據(jù)或表示字體類(lèi)型的指令數(shù)據(jù)等,與由打印機(jī)驅(qū)動(dòng)34a以及內(nèi)部打印數(shù)據(jù)生成程序34b生成的內(nèi)部打印數(shù)據(jù)同樣地,不限于打印機(jī)20能夠解釋的指令體系的數(shù)據(jù),也可以是打印機(jī)20不能解釋的指令體系的數(shù)據(jù)。在這里,通過(guò)內(nèi)部打印數(shù)據(jù)生成程序34c,生成與“指令體系1”以及“指令體系2”不同的“指令體系3”的指令數(shù)據(jù)作為內(nèi)部打印數(shù)據(jù)。
此外,在要求內(nèi)部打印數(shù)據(jù)生成程序34c生成內(nèi)部打印數(shù)據(jù)的情況下,由POS應(yīng)用程序34b指定該內(nèi)部打印數(shù)據(jù)的名稱(chēng)。如上所述,在本實(shí)施方式的情況下,由POS應(yīng)用程序30b保存固定的內(nèi)部打印數(shù)據(jù)名稱(chēng)(打印任務(wù)名稱(chēng))“B”,在生成內(nèi)部打印數(shù)據(jù)名稱(chēng)的情況下,無(wú)論收據(jù)圖像種類(lèi)如何,均指定該內(nèi)部打印數(shù)據(jù)名稱(chēng)“B”。該內(nèi)部打印數(shù)據(jù)名稱(chēng)與內(nèi)部打印數(shù)據(jù)相關(guān)聯(lián)而保存。
如果由內(nèi)部打印數(shù)據(jù)生成程序34c生成內(nèi)部打印數(shù)據(jù),則適當(dāng)?shù)卣{(diào)出端口輸出API 33的各種函數(shù)。端口輸出API 33是用于不通過(guò)緩沖器35而直接將內(nèi)部打印數(shù)據(jù)輸出給端口驅(qū)動(dòng)40的函數(shù)組,例如由POS應(yīng)用程序30b的供應(yīng)商或打印機(jī)20的供應(yīng)商提供。通過(guò)適當(dāng)?shù)卣{(diào)出端口輸出API 33的各種函數(shù),將內(nèi)部打印數(shù)據(jù)輸出給端口驅(qū)動(dòng)40。
語(yǔ)言監(jiān)控程序36監(jiān)視內(nèi)部打印數(shù)據(jù)向端口驅(qū)動(dòng)40的提供。語(yǔ)言監(jiān)控程序36在檢測(cè)出向端口驅(qū)動(dòng)40提供內(nèi)部打印數(shù)據(jù)的情況下,抑制其提供。此外,語(yǔ)言監(jiān)控程序36將該內(nèi)部打印數(shù)據(jù)向打印數(shù)據(jù)生成程序A39a、打印數(shù)據(jù)生成程序B39b或打印數(shù)據(jù)生成程序C39c中的任一個(gè)提供。此外,語(yǔ)言監(jiān)控程序36還用于經(jīng)由端口驅(qū)動(dòng)40從打印機(jī)20接收狀態(tài)信息,并將其提供給規(guī)定的程序(例如狀態(tài)參考程序等)。
語(yǔ)言監(jiān)控程序36中包含有內(nèi)部打印數(shù)據(jù)分配程序37。內(nèi)部打印數(shù)據(jù)分配程序37根據(jù)環(huán)境設(shè)定文件38,選擇內(nèi)部打印數(shù)據(jù)的提供目標(biāo)的打印數(shù)據(jù)生成程序。
在環(huán)境設(shè)定文件38中保存使與內(nèi)部打印數(shù)據(jù)相關(guān)的條件(內(nèi)部打印數(shù)據(jù)條件)和打印數(shù)據(jù)生成程序相對(duì)應(yīng)的信息。在內(nèi)部打印數(shù)據(jù)條件中,包含有例如與內(nèi)部打印數(shù)據(jù)的屬性相關(guān)的條件、與在內(nèi)部打印數(shù)據(jù)的輸出中使用的1個(gè)或多個(gè)數(shù)據(jù)處理相關(guān)的條件等。
圖4是表示環(huán)境設(shè)定文件38中所保存的信息的一個(gè)例子的圖。在本圖所示的例子中,使得內(nèi)部打印數(shù)據(jù)的輸出流程類(lèi)別和內(nèi)部打印數(shù)據(jù)名稱(chēng)的組合、與打印數(shù)據(jù)生成程序相關(guān)聯(lián)。在這里,內(nèi)部打印數(shù)據(jù)的輸出流程的種類(lèi),表示內(nèi)部打印數(shù)據(jù)向端口驅(qū)動(dòng)40(語(yǔ)言監(jiān)控程序36)的輸出通過(guò)哪個(gè)程序來(lái)進(jìn)行的條件。輸出流程類(lèi)別“1”表示內(nèi)部打印數(shù)據(jù)向端口驅(qū)動(dòng)40(語(yǔ)言監(jiān)控程序36)的輸出,通過(guò)GDI31、打印機(jī)驅(qū)動(dòng)34a以及緩沖器35來(lái)進(jìn)行的情況。另外,輸出流程類(lèi)別“2”表示內(nèi)部打印數(shù)據(jù)向端口驅(qū)動(dòng)40(語(yǔ)言監(jiān)控程序36)的輸出通過(guò)內(nèi)部打印數(shù)據(jù)生成程序34b、緩沖器API 32以及緩沖器35來(lái)進(jìn)行的情況。另外,輸出流程類(lèi)別“3”表示內(nèi)部打印數(shù)據(jù)向端口驅(qū)動(dòng)40(語(yǔ)言監(jiān)控程序36)的輸出通過(guò)內(nèi)部打印數(shù)據(jù)輸出程序34c以及端口輸出API 33進(jìn)行的情況。
環(huán)境設(shè)定文件38是例如文本形式或者XML(eXtensible MarkupLanguage)形式的文件,保存在與各個(gè)打印機(jī)相對(duì)應(yīng)的路徑(以下稱(chēng)為獨(dú)立路徑)中。打印機(jī)20的獨(dú)立路徑生成在規(guī)定的路徑(以下稱(chēng)為環(huán)境設(shè)定路徑)中。下面,說(shuō)明環(huán)境設(shè)定路徑為“C\ProgramFiles\XXX\YYY\Config”的情況。此外,“XXX”例如是打印機(jī)20的供應(yīng)商的簡(jiǎn)稱(chēng),“YYY”例如是打印機(jī)20的機(jī)種名稱(chēng)。另外,打印機(jī)20的獨(dú)立路徑的路徑名稱(chēng),在打印機(jī)20中存儲(chǔ)有可經(jīng)由USB端口讀取的序列號(hào)的情況下,由該序列號(hào)決定,在打印機(jī)20中沒(méi)有存儲(chǔ)可經(jīng)由USB端口讀取的序列號(hào)的情況下,由打印機(jī)20所連接的USB端口的ID決定。例如,在打印機(jī)20中存儲(chǔ)有可經(jīng)由USB端口讀取的序列號(hào)“SN00001”的情況下,打印機(jī)20的獨(dú)立路徑為“C\Program Files\XXX\YYY\Config\SN00001”。
另外,環(huán)境設(shè)定文件38的內(nèi)容,例如可通過(guò)直接編輯該文件來(lái)編輯。另外,例如,通過(guò)規(guī)定的設(shè)定編輯界面(未圖示)來(lái)編輯。
內(nèi)部打印數(shù)據(jù)分配程序37,在內(nèi)部打印數(shù)據(jù)提供給語(yǔ)言監(jiān)控程序36的情況下,參考保存在打印機(jī)20的獨(dú)立路徑中的環(huán)境設(shè)定文件38,判定該內(nèi)部打印數(shù)據(jù)是否滿(mǎn)足與打印數(shù)據(jù)生成程序相對(duì)應(yīng)的內(nèi)部打印數(shù)據(jù)條件。并且,內(nèi)部打印數(shù)據(jù)分配程序37根據(jù)其判斷結(jié)果,選擇打印數(shù)據(jù)生成程序A39a、打印數(shù)據(jù)生成程序B39b以及打印數(shù)據(jù)生成程序C39c中的某一個(gè),執(zhí)行該打印數(shù)據(jù)生成程序。
在本實(shí)施方式的情況下,內(nèi)部打印數(shù)據(jù)分配程序37指定內(nèi)部打印數(shù)據(jù)的輸出流程類(lèi)別。該指定通過(guò)利用操作系統(tǒng)的功能來(lái)進(jìn)行。例如,在微軟公司的Windows(注冊(cè)商標(biāo))中,在內(nèi)部打印數(shù)據(jù)向端口驅(qū)動(dòng)40(語(yǔ)言監(jiān)控程序36)的輸出的過(guò)程中調(diào)出的函數(shù)名稱(chēng),與內(nèi)部打印數(shù)據(jù)(打印任務(wù))相關(guān)聯(lián)地保存。因此,內(nèi)部打印數(shù)據(jù)分配程序37,在向端口驅(qū)動(dòng)40(語(yǔ)言監(jiān)控程序36)輸出內(nèi)部打印數(shù)據(jù)的過(guò)程中,例如判定是否調(diào)出GDI 31的函數(shù)。然后,在調(diào)用了GDI 31的函數(shù)的情況下,判定為通過(guò)GDI 31、打印機(jī)驅(qū)動(dòng)34a以及緩沖器35來(lái)進(jìn)行內(nèi)部打印數(shù)據(jù)向端口驅(qū)動(dòng)40(語(yǔ)言監(jiān)控程序36)的輸出。也就是說(shuō),判定內(nèi)部打印數(shù)據(jù)的輸出流程類(lèi)別為“1”。同樣地,在向端口驅(qū)動(dòng)40(語(yǔ)言監(jiān)控程序36)輸出內(nèi)部打印數(shù)據(jù)的過(guò)程中,調(diào)用例如緩沖器API 32的函數(shù)的情況下,判定內(nèi)部打印數(shù)據(jù)的輸出流程類(lèi)別為“2”。另外同樣地,在向端口驅(qū)動(dòng)40(語(yǔ)言監(jiān)控程序36)輸出內(nèi)部打印數(shù)據(jù)的過(guò)程中,調(diào)用例如端口輸出API 33的函數(shù)的情況下,判定內(nèi)部打印數(shù)據(jù)的輸出流程類(lèi)別為“3”。而且,也可以在例如端口輸出API 33向?yàn)閁SB端口虛擬分配的虛擬COM(串行)端口提供內(nèi)部打印數(shù)據(jù)的情況下,通過(guò)判定內(nèi)部打印數(shù)據(jù)的提供目標(biāo)是否是虛擬COM端口,判定內(nèi)部打印數(shù)據(jù)的輸出流程類(lèi)別是否是“3”。
另外,內(nèi)部打印數(shù)據(jù)分配程序37取得內(nèi)部打印數(shù)據(jù)的內(nèi)部打印數(shù)據(jù)名稱(chēng)。在內(nèi)部打印數(shù)據(jù)的輸出流程類(lèi)別為“1”或“2”的情況下,內(nèi)部打印數(shù)據(jù)分配程序37取得打印任務(wù)名稱(chēng)作為內(nèi)部打印數(shù)據(jù)名稱(chēng)。
然后,內(nèi)部打印數(shù)據(jù)分配程序37根據(jù)保存在打印機(jī)20的獨(dú)立路徑中的環(huán)境設(shè)定文件38,從打印數(shù)據(jù)生成程序A39a、打印數(shù)據(jù)生成程序B39b以及打印數(shù)據(jù)生成程序C39c中,選擇與內(nèi)部打印數(shù)據(jù)的輸出流程類(lèi)別以及內(nèi)部打印數(shù)據(jù)名稱(chēng)的組合相對(duì)應(yīng)的打印數(shù)據(jù)生成程序,并執(zhí)行該打印數(shù)據(jù)生成程序。
打印數(shù)據(jù)生成程序通過(guò)將內(nèi)部打印數(shù)據(jù)(某個(gè)指令體系中的指令數(shù)據(jù))變換為打印機(jī)20能夠解釋的指令體系的指令數(shù)據(jù),生成用于使打印機(jī)20打印輸出收據(jù)圖像的打印數(shù)據(jù)。更具體地說(shuō),打印數(shù)據(jù)生成程序根據(jù)存儲(chǔ)在存儲(chǔ)部12中的用于解釋各種指令體系的指令數(shù)據(jù)的數(shù)據(jù)、在各種指令體系的指令數(shù)據(jù)中指定并得到的字體的字體數(shù)據(jù),解釋內(nèi)部打印數(shù)據(jù),生成收據(jù)圖像的最終圖像數(shù)據(jù)。如果打印數(shù)據(jù)生成程序生成了最終圖像數(shù)據(jù),則生成用于使打印機(jī)20打印輸出該最終圖像數(shù)據(jù)的打印數(shù)據(jù)(“指令體系1”的指令數(shù)據(jù))。
另外,打印數(shù)據(jù)生成程序?qū)κ論?jù)圖像進(jìn)行各種加工處理。例如,打印數(shù)據(jù)生成程序在生成最終圖像數(shù)據(jù)時(shí),將收據(jù)圖像的字體類(lèi)型變更為其他字體類(lèi)型。另外,例如,打印數(shù)據(jù)生成程序在收據(jù)圖像中包含特定關(guān)鍵字的情況下,將與該關(guān)鍵字對(duì)應(yīng)的廣告圖像或贈(zèng)卷圖像附加在收據(jù)圖像的末尾。該情況下,根據(jù)內(nèi)部打印數(shù)據(jù)判斷收據(jù)圖像中是否含有關(guān)鍵字,對(duì)最終圖像數(shù)據(jù)附加廣告圖像或贈(zèng)卷圖像等。另外,例如,打印圖像生成程序在收據(jù)圖像的背景中附加規(guī)定的背景圖像。該情況下,對(duì)最終圖像數(shù)據(jù)附加背景圖像。
由打印數(shù)據(jù)生成程序進(jìn)行的處理也根據(jù)環(huán)境設(shè)定文件38來(lái)進(jìn)行。也就是說(shuō),環(huán)境設(shè)定文件38中還存儲(chǔ)為了根據(jù)內(nèi)部打印數(shù)據(jù)生成打印數(shù)據(jù)進(jìn)行參考的各種信息。更具體地說(shuō),例如,存儲(chǔ)變換字體類(lèi)型的情況下的轉(zhuǎn)換目標(biāo)的字體類(lèi)型、關(guān)鍵字以及廣告圖像(或者贈(zèng)卷圖像)的圖像文件的路徑、背景圖像的圖像文件的路徑等。
而且,在這里如圖4所示,打印數(shù)據(jù)生成程序A39a執(zhí)行解釋“指令體系2”的內(nèi)部打印數(shù)據(jù),生成“指令體系1”的打印數(shù)據(jù)的處理。另外,打印數(shù)據(jù)生成程序B39b執(zhí)行解釋“指令體系2”的內(nèi)部打印數(shù)據(jù),對(duì)收據(jù)圖像進(jìn)行規(guī)定的加工,并生成“指令體系1”的打印數(shù)據(jù)的處理。另外,打印數(shù)據(jù)生成程序C39c執(zhí)行解釋“指令體系3”的內(nèi)部打印數(shù)據(jù),生成“指令體系2”的打印數(shù)據(jù)的處理。
由打印數(shù)據(jù)生成程序A39a、打印數(shù)據(jù)生成程序B39b或打印數(shù)據(jù)生成程序C39c生成的打印數(shù)據(jù),通過(guò)端口驅(qū)動(dòng)40,從連接打印機(jī)20的端口輸出,提供給打印機(jī)20。
如以上說(shuō)明所述,打印系統(tǒng)1中,根據(jù)由打印機(jī)驅(qū)動(dòng)34a或者內(nèi)部打印數(shù)據(jù)輸出程序34b、34c生成的內(nèi)部打印數(shù)據(jù),執(zhí)行打印數(shù)據(jù)生成程序(打印數(shù)據(jù)生成程序A39a、打印數(shù)據(jù)生成程序B39b以及打印數(shù)據(jù)生成程序C39c),由此,暫時(shí)生成打印圖像的最終圖像數(shù)據(jù),之后,生成用于使打印機(jī)20打印輸出該最終圖像數(shù)據(jù)的打印數(shù)據(jù),并提供給打印機(jī)20。其結(jié)果,在打印系統(tǒng)1中,即使在將打印機(jī)更換為其他打印機(jī)的情況下,由于通過(guò)打印機(jī)驅(qū)動(dòng)34a、內(nèi)部打印數(shù)據(jù)生成程序34b、34c生成適于更換前打印機(jī)的打印數(shù)據(jù)(RAW數(shù)據(jù))作為內(nèi)部打印數(shù)據(jù),由此,即使不改變應(yīng)用程序側(cè)的規(guī)格或設(shè)定,也能夠由更換后的打印機(jī)得到與更換前的打印機(jī)相同的打印輸出。
另外,在打印系統(tǒng)1中,根據(jù)由打印機(jī)驅(qū)動(dòng)34a、內(nèi)部打印數(shù)據(jù)生成程序34b、34c生成的內(nèi)部打印數(shù)據(jù),執(zhí)行打印數(shù)據(jù)生成程序(打印數(shù)據(jù)生成程序B39b),由此,進(jìn)行用戶(hù)所期望的加工,生成打印對(duì)象圖像的最終圖像數(shù)據(jù),之后,生成用于使打印機(jī)20打印輸出該最終圖像數(shù)據(jù)的打印數(shù)據(jù),并提供給打印機(jī)20。其結(jié)果,在打印系統(tǒng)1中,即使不改變應(yīng)用程序側(cè)的規(guī)格或設(shè)定,也能夠在打印輸出的過(guò)程中,對(duì)打印對(duì)象圖像進(jìn)行用戶(hù)所期望的加工,進(jìn)行打印輸出。
特別地,打印系統(tǒng)1中,可以使得打印數(shù)據(jù)生成程序根據(jù)每個(gè)內(nèi)部打印數(shù)據(jù)名稱(chēng)而各不相同,該打印數(shù)據(jù)生成程序用于根據(jù)內(nèi)部打印數(shù)據(jù)而生成打印數(shù)據(jù)。其結(jié)果,例如在打印系統(tǒng)1中,如果如POS應(yīng)用程序30a以及30b這樣,由于POS應(yīng)用程序不同而內(nèi)部打印數(shù)據(jù)名稱(chēng)不同,則能夠根據(jù)內(nèi)部打印數(shù)據(jù)名稱(chēng)切換打印數(shù)據(jù)生成程序,其結(jié)果,能夠根據(jù)POS應(yīng)用程序切換打印數(shù)據(jù)生成程序。同樣地,如果根據(jù)各個(gè)打印對(duì)象的收據(jù)圖像的種類(lèi)而內(nèi)部打印數(shù)據(jù)名稱(chēng)不同,則能夠根據(jù)各個(gè)打印對(duì)象的收據(jù)圖像的種類(lèi)切換打印數(shù)據(jù)生成程序。
另外,打印系統(tǒng)1中,可以根據(jù)內(nèi)部打印數(shù)據(jù)向端口驅(qū)動(dòng)40(語(yǔ)言監(jiān)控程序36)的輸出是經(jīng)由哪個(gè)流程進(jìn)行的,而使打印數(shù)據(jù)生成程序不同,該打印數(shù)據(jù)生成程序用于根據(jù)內(nèi)部打印數(shù)據(jù)而生成打印數(shù)據(jù)。其結(jié)果,例如打印系統(tǒng)1中,如果如輸出流程類(lèi)別為“1”以及“3”這樣,因內(nèi)部打印數(shù)據(jù)的輸出流程類(lèi)別不同,內(nèi)部打印數(shù)據(jù)的指令體系不同,則能夠?qū)?yīng)于內(nèi)部打印數(shù)據(jù)的輸出流程類(lèi)別來(lái)切換打印數(shù)據(jù)生成程序,其結(jié)果,能夠根據(jù)內(nèi)部打印數(shù)據(jù)的指令體系來(lái)切換打印數(shù)據(jù)生成程序。
下面,對(duì)用于使安裝有微軟公司的Windows(注冊(cè)商標(biāo))作為操作系統(tǒng)的狀態(tài)下的計(jì)算機(jī)實(shí)現(xiàn)上述打印數(shù)據(jù)提供裝置10的功能的安裝順序進(jìn)行說(shuō)明。圖5是表示安裝順序的流程圖。另外,圖6是特別用于說(shuō)明與環(huán)境設(shè)定數(shù)據(jù)的設(shè)定有關(guān)的順序的圖。
首先,安裝負(fù)責(zé)人將與打印機(jī)20相關(guān)的各種程序安裝在計(jì)算機(jī)上(S101)。例如,由光盤(pán)讀取部16讀取存儲(chǔ)了與打印機(jī)20相關(guān)的各種程序、用于將這些程序安裝到計(jì)算機(jī)上的安裝程序的CD-ROM等的光盤(pán),執(zhí)行安裝程序。在本實(shí)施方式的情況下,所謂與打印機(jī)20相關(guān)的各種程序,是指打印機(jī)驅(qū)動(dòng)34a、語(yǔ)言監(jiān)控程序36、打印數(shù)據(jù)生成程序A39a、打印數(shù)據(jù)生成程序B39b、打印數(shù)據(jù)生成程序C39c。該情況下,這些程序被安裝到計(jì)算機(jī)上,同時(shí)生成環(huán)境設(shè)定路徑(C\Program Files\XXX\YYY\Config)(參考圖6(a))。
而且,該情況下,環(huán)境設(shè)定文件設(shè)定程序也同時(shí)被安裝。環(huán)境設(shè)定文件設(shè)定程序成為所謂的常駐程序。關(guān)于環(huán)境設(shè)定文件程序執(zhí)行的處理如后所述(參考圖7)。
然后,安裝負(fù)責(zé)人將環(huán)境設(shè)定文件38的源文件(復(fù)制源的環(huán)境設(shè)定文件。以下稱(chēng)為基準(zhǔn)環(huán)境設(shè)定文件)保存(生成)在環(huán)境設(shè)定路徑的根目錄下(S102參考圖6(b))。該基準(zhǔn)環(huán)境設(shè)定文件也可以在S101中安裝。
然后,安裝負(fù)責(zé)人將POS應(yīng)用程序安裝在計(jì)算機(jī)上(S103)。例如,由光盤(pán)讀取部16讀取存儲(chǔ)了POS應(yīng)用程序以及用于將這些程序安裝到計(jì)算機(jī)中的安裝程序的CD-ROM的光盤(pán),并執(zhí)行安裝程序。此外,在安裝POS應(yīng)用程序30b的情況下,內(nèi)部打印數(shù)據(jù)生成程序34b、34c和端口輸出API 33也同時(shí)安裝。
在這里,對(duì)由環(huán)境設(shè)定文件設(shè)定程序執(zhí)行的處理進(jìn)行說(shuō)明。圖7是表示由環(huán)境設(shè)定文件設(shè)定程序執(zhí)行的處理的流程圖。
如圖7所示,環(huán)境設(shè)定文件設(shè)定程序監(jiān)視打印機(jī)20是否與計(jì)算機(jī)USB端口連接(S201)。并且,環(huán)境設(shè)定文件設(shè)定程序在檢測(cè)出打印機(jī)20與計(jì)算機(jī)連接的情況下,獲取該打印機(jī)20的個(gè)體識(shí)別信息(S202)。該情況下,在打印機(jī)20中登錄有可經(jīng)由USB端口讀取的序列號(hào)時(shí),取得該序列號(hào)作為個(gè)體識(shí)別信息。另外,在打印機(jī)20中沒(méi)有登錄可經(jīng)由USB端口讀取的序列號(hào)時(shí),根據(jù)打印機(jī)20所連接的USB端口的ID、識(shí)別打印機(jī)20的機(jī)種的機(jī)種ID,生成并獲得上述個(gè)體識(shí)別信息。
然后,環(huán)境設(shè)定文件設(shè)定程序判定在環(huán)境設(shè)定路徑根目錄中是否存在以在S202中所取得的個(gè)體識(shí)別信息為路徑名稱(chēng)的路徑(S203)。
在不存在這樣的路徑的情況下,環(huán)境設(shè)定文件設(shè)定程序在環(huán)境設(shè)定路徑根目錄下,生成以在S202中獲得的個(gè)體識(shí)別信息為路徑名稱(chēng)的獨(dú)立路徑(S204)。例如,在S202中獲得“SN00001”作為個(gè)體識(shí)別信息的情況下,在環(huán)境設(shè)定路徑根目錄下生成名為“SN00001”的路徑(參考圖6(c))。然后,環(huán)境設(shè)定文件設(shè)定程序?qū)⒈4嬖诃h(huán)境設(shè)定路徑根目錄下的基準(zhǔn)環(huán)境設(shè)定文件,復(fù)制到在S204中生成的獨(dú)立路徑中,將其保存為環(huán)境設(shè)定文件38(S205;參考圖6(d))。然后,環(huán)境設(shè)定文件設(shè)定程序再次執(zhí)行S201的處理。此外,在基準(zhǔn)環(huán)境設(shè)定文件未保存在環(huán)境設(shè)定路徑根目錄下的情況下,S205的處理不執(zhí)行,而是重新執(zhí)行S201的處理。
另一方面,在環(huán)境設(shè)定路徑根目錄下存在以S202中獲取的個(gè)體識(shí)別信息作為路徑名稱(chēng)的獨(dú)立路徑的情況下,環(huán)境設(shè)定文件設(shè)定程序判定環(huán)境設(shè)定文件38是否保存在其獨(dú)立路徑根目錄下(S206)。然后,在未保存環(huán)境設(shè)定文件38的情況下,執(zhí)行S205的處理。
另一方面,在保存了環(huán)境設(shè)定數(shù)據(jù)38的情況下,環(huán)境設(shè)定文件設(shè)定程序判定該環(huán)境設(shè)定文件38的時(shí)間戳(更新時(shí)間或生成時(shí)間)是否表示比保存在環(huán)境設(shè)定路徑中的基準(zhǔn)環(huán)境設(shè)定文件的時(shí)間戳更早的時(shí)間(S207)。然后,在環(huán)境設(shè)定文件38的時(shí)間戳表示比基準(zhǔn)環(huán)境設(shè)定文件的時(shí)間戳更早的時(shí)間的情況下,執(zhí)行S205的處理。另一方面,在環(huán)境設(shè)定文件38的時(shí)間戳不是表示比基準(zhǔn)環(huán)境設(shè)定文件的時(shí)間戳更早的時(shí)間的情況下,重新執(zhí)行S201的處理。
在完成直到S103的順序的情況下,安裝負(fù)責(zé)人將打印機(jī)20與計(jì)算機(jī)的USB端口連接,接通打印機(jī)20的電源(S104)。該情況下,因?yàn)榄h(huán)境設(shè)定文件設(shè)定程序在計(jì)算機(jī)中常駐,所以檢測(cè)出打印機(jī)20與USB端口連接(參考圖7的S201),在環(huán)境設(shè)定路徑根目錄下生成該打印機(jī)20的獨(dú)立路徑(參考圖7的S202至S204以及圖6(c)),在S102中,保存到環(huán)境設(shè)定路徑根目錄下的基準(zhǔn)環(huán)境設(shè)定文件被復(fù)制到該獨(dú)立路徑中,保存為環(huán)境設(shè)定文件38(參考圖7的S205以及圖6(d))。如上完成安裝順序。
打印系統(tǒng)1中,內(nèi)部打印數(shù)據(jù)分配程序37、打印數(shù)據(jù)生成程序A39a、打印數(shù)據(jù)生成程序B39b或打印數(shù)據(jù)生成程序C39c訪(fǎng)問(wèn)打印機(jī)20的獨(dú)立路徑,根據(jù)保存在其中的環(huán)境設(shè)定文件38執(zhí)行各種處理。因此,在安裝打印數(shù)據(jù)提供裝置10的情況下,必須將環(huán)境設(shè)定文件38保存(生成)在打印機(jī)20的獨(dú)立路徑中。
如上所述,打印機(jī)20的獨(dú)立路徑的路徑名稱(chēng),在打印機(jī)20中存儲(chǔ)有可經(jīng)由USB端口讀取的序列號(hào)的情況下,為該序列號(hào),在打印機(jī)20中沒(méi)有存儲(chǔ)可經(jīng)由USB端口讀取的序列號(hào)的情況下,則為根據(jù)打印機(jī)20連接的USB端口的ID的文字列。因此,在納入打印系統(tǒng)1這種系統(tǒng)的情況下,即使事先進(jìn)行了安裝作業(yè),如果在安裝作業(yè)時(shí)和實(shí)際使用時(shí)的期間內(nèi),“連接到打印數(shù)據(jù)提供裝置10上的打印機(jī)20的序列號(hào)”或者“打印機(jī)20連接的USB端口”不同,則事先保存的環(huán)境設(shè)定文件38有時(shí)也不能由內(nèi)部打印數(shù)據(jù)分配程序37等參照,在實(shí)際使用時(shí),不能適當(dāng)進(jìn)行由內(nèi)部打印數(shù)據(jù)分配程序37等進(jìn)行的處理。其結(jié)果,為了確保能夠適當(dāng)?shù)剡M(jìn)行由內(nèi)部打印數(shù)據(jù)分配程序37等進(jìn)行的處理,至少對(duì)于環(huán)境設(shè)定文件38的設(shè)定操作(將環(huán)境設(shè)定文件38保存到獨(dú)立路徑中的操作),需要在將打印數(shù)據(jù)提供裝置10以及打印機(jī)20設(shè)置在實(shí)際使用的位置上并連接之后再進(jìn)行。
關(guān)于這一點(diǎn),在上述說(shuō)明的打印數(shù)據(jù)提供裝置10的安裝順序(參照?qǐng)D5)中,通過(guò)由環(huán)境設(shè)定文件設(shè)定程序執(zhí)行圖7所示的處理,打印系統(tǒng)1的安裝負(fù)責(zé)人,只要在打印系統(tǒng)1的納入時(shí)事先進(jìn)行S101至S103的操作,則只要在實(shí)際使用的位置,進(jìn)行設(shè)置打印數(shù)據(jù)提供裝置10以及打印機(jī)20并連接的最低限的過(guò)程(S104)即可,能夠比較簡(jiǎn)單地完成環(huán)境設(shè)定文件38的設(shè)定操作。其結(jié)果,能夠快速地完成在納入打印系統(tǒng)1時(shí)的實(shí)際使用位置的安裝作業(yè)。
此外,環(huán)境設(shè)定文件設(shè)定程序在打印系統(tǒng)1開(kāi)始運(yùn)行之后成為常駐,在執(zhí)行圖7所示的處理的同時(shí),每隔規(guī)定的時(shí)間或者在預(yù)先設(shè)定的定時(shí)(例如,每日的定時(shí))執(zhí)行例如圖8所示的處理。
也就是說(shuō),環(huán)境設(shè)定文件設(shè)定程序首先取得在環(huán)境設(shè)定路徑根目錄下存在的獨(dú)立路徑的列表(S301)。該列表例如以路徑名稱(chēng)的升序來(lái)排列。
然后,環(huán)境設(shè)定文件設(shè)定程序以最初的獨(dú)立路徑為當(dāng)前獨(dú)立路徑(S302),判斷保存在當(dāng)前獨(dú)立路徑中的環(huán)境設(shè)定文件38的時(shí)間戳,是否表示比保存在環(huán)境設(shè)定路徑中的基準(zhǔn)環(huán)境設(shè)定文件的時(shí)間戳更早的時(shí)間(S303)。并且,在環(huán)境設(shè)定文件38的時(shí)間戳表示比基準(zhǔn)環(huán)境設(shè)定文件的時(shí)間戳更早的時(shí)間的情況下,環(huán)境設(shè)定文件設(shè)定程序?qū)⒒鶞?zhǔn)環(huán)境設(shè)定文件替換復(fù)制到當(dāng)前獨(dú)立路徑中(S304)。
然后,環(huán)境設(shè)定文件設(shè)定程序判定下一個(gè)獨(dú)立路徑是否存在(S305)。并且,在存在下一個(gè)獨(dú)立路徑的情況下,使該路徑為當(dāng)前獨(dú)立路徑(S306),執(zhí)行S303至S305的處理。另一方面,在不存在下一個(gè)獨(dú)立路徑的情況下,即,對(duì)所有環(huán)境設(shè)定路徑根目錄下的獨(dú)立路徑都進(jìn)行了S303至S305的處理的情況下,本處理結(jié)束。
打印系統(tǒng)1中,通過(guò)由環(huán)境設(shè)定文件設(shè)定程序執(zhí)行上述處理,打印系統(tǒng)1的管理者在要更新打印數(shù)據(jù)提供裝置10的環(huán)境設(shè)定文件38的情況下,只要將更新的環(huán)境設(shè)定文件38保存在打印數(shù)據(jù)提供裝置10的環(huán)境設(shè)定路徑中作為基準(zhǔn)環(huán)境設(shè)定文件即可,能夠比較簡(jiǎn)單地進(jìn)行環(huán)境設(shè)定文件38的更新。
而且,基準(zhǔn)環(huán)境設(shè)定文件的保存位置可以任意設(shè)定。另外,基準(zhǔn)環(huán)境設(shè)定文件也可以保存在通過(guò)通信網(wǎng)絡(luò)與打印數(shù)據(jù)提供裝置10進(jìn)行通信連接的服務(wù)器裝置上。該情況下,環(huán)境設(shè)定文件設(shè)定程序也可以接收由服務(wù)器裝置發(fā)送的基準(zhǔn)環(huán)境設(shè)定文件,作為環(huán)境設(shè)定文件38保存在環(huán)境設(shè)定路徑根目錄下的獨(dú)立路徑中。另外,由服務(wù)器裝置的基準(zhǔn)環(huán)境設(shè)定文件的發(fā)送,可以根據(jù)來(lái)自環(huán)境設(shè)定文件設(shè)定程序的發(fā)送要求來(lái)進(jìn)行,也可以每隔規(guī)定的時(shí)間或者在預(yù)先設(shè)定的定時(shí)(例如每天的定時(shí))執(zhí)行。這樣,在安裝多個(gè)打印數(shù)據(jù)提供裝置10的情況下,或更新多個(gè)打印數(shù)據(jù)提供裝置10的環(huán)境設(shè)定文件38的情況下,只要將基準(zhǔn)環(huán)境設(shè)定文件存儲(chǔ)在服務(wù)器裝置中即可,因?yàn)椴槐貙?duì)每個(gè)打印數(shù)據(jù)提供裝置10,都在環(huán)境設(shè)定路徑中保存基準(zhǔn)環(huán)境設(shè)定文件,所以能夠減少打印系統(tǒng)1的安裝負(fù)責(zé)人或管理者的麻煩。
此外,本發(fā)明并不限于以上說(shuō)明的實(shí)施方式。
例如,由主機(jī)10執(zhí)行的操作系統(tǒng)不限于微軟的Windows(注冊(cè)商標(biāo))。另外,主機(jī)中執(zhí)行的應(yīng)用程序并不限于POS應(yīng)用程序30a、30b。也就是說(shuō),打印機(jī)20中的打印對(duì)象并不限于由POS應(yīng)用程序30a、30b生成的收據(jù)圖像,也可以是由其他應(yīng)用程序生成的文檔或圖像等。
另外,例如,以上說(shuō)明了主機(jī)10和打印機(jī)20經(jīng)由USB端口連接的情況,但也可以通過(guò)其他接口連接主機(jī)10與打印機(jī)20。
另外,例如,也可以取代語(yǔ)言監(jiān)控程序36,使用以“語(yǔ)言監(jiān)控程序”以外的名稱(chēng)命名的程序(例如“端口模擬器”等)。
權(quán)利要求
1.一種打印數(shù)據(jù)提供裝置的環(huán)境設(shè)定數(shù)據(jù)設(shè)定方法,該打印數(shù)據(jù)提供裝置含有與多個(gè)組信息中的至少一個(gè)相關(guān)聯(lián)而保存數(shù)據(jù)的保存單元,根據(jù)與前述多個(gè)組信息中的與提供目標(biāo)的打印機(jī)對(duì)應(yīng)的組信息相關(guān)聯(lián)的環(huán)境設(shè)定數(shù)據(jù),生成以由內(nèi)部打印數(shù)據(jù)生成程序生成的內(nèi)部打印數(shù)據(jù)為基礎(chǔ)的打印數(shù)據(jù),并提供給該打印機(jī),其特征在于,具有判定步驟,該步驟判定打印機(jī)是否連接;組信息生成步驟,在通過(guò)前述判定步驟判定打印機(jī)已連接的情況下,該步驟生成與該打印機(jī)對(duì)應(yīng)的組信息;以及保存步驟,在通過(guò)前述組信息生成步驟生成與前述打印機(jī)對(duì)應(yīng)的組信息的情況下,該步驟將存儲(chǔ)在規(guī)定的存儲(chǔ)單元中的基準(zhǔn)環(huán)境設(shè)定數(shù)據(jù)作為前述環(huán)境設(shè)定數(shù)據(jù),與該組信息關(guān)聯(lián),保存在前述保存單元中。
2.如權(quán)利要求1所述的環(huán)境設(shè)定數(shù)據(jù)設(shè)定方法,其特征在于,具有時(shí)間戳比較步驟,其在前述環(huán)境設(shè)定數(shù)據(jù)已與對(duì)應(yīng)于前述打印機(jī)的組信息關(guān)聯(lián)的情況下,對(duì)該環(huán)境設(shè)定數(shù)據(jù)的時(shí)間戳和存儲(chǔ)在前述規(guī)定的存儲(chǔ)單元中的基準(zhǔn)環(huán)境設(shè)定數(shù)據(jù)的時(shí)間戳進(jìn)行比較;以及保存步驟,其對(duì)應(yīng)于由前述時(shí)間戳比較步驟得到的比較結(jié)果,將存儲(chǔ)在前述規(guī)定的存儲(chǔ)單元中的基準(zhǔn)環(huán)境設(shè)定數(shù)據(jù)作為前述環(huán)境設(shè)定數(shù)據(jù),與對(duì)應(yīng)于前述打印機(jī)的組信息關(guān)聯(lián),保存在前述保存單元中。
3.如權(quán)利要求1或2所述的環(huán)境設(shè)定數(shù)據(jù)設(shè)定方法,其特征在于,前述基準(zhǔn)環(huán)境設(shè)定數(shù)據(jù)與前述多個(gè)組信息中的打印機(jī)的序列號(hào)或USB端口ID關(guān)聯(lián),保存在前述保存單元中。
4.如權(quán)利要求1或2所述的環(huán)境設(shè)定數(shù)據(jù)設(shè)定方法,其特征在于,前述基準(zhǔn)環(huán)境設(shè)定數(shù)據(jù),存儲(chǔ)在包含與前述打印數(shù)據(jù)提供裝置進(jìn)行通信連接的服務(wù)器裝置的存儲(chǔ)單元中。
5.一種環(huán)境設(shè)定數(shù)據(jù)設(shè)定程序,其用于設(shè)定打印數(shù)據(jù)提供裝置的環(huán)境設(shè)定數(shù)據(jù),該打印數(shù)據(jù)提供裝置含有與多個(gè)組信息中的至少一個(gè)相關(guān)聯(lián)而保存數(shù)據(jù)的保存單元,根據(jù)與前述多個(gè)組信息中的與提供目標(biāo)的打印機(jī)對(duì)應(yīng)的組信息相關(guān)聯(lián)的環(huán)境設(shè)定數(shù)據(jù),生成以由內(nèi)部打印數(shù)據(jù)生成程序生成的內(nèi)部打印數(shù)據(jù)為基礎(chǔ)的打印數(shù)據(jù),并提供給該打印機(jī),其特征在于,該環(huán)境設(shè)定數(shù)據(jù)設(shè)定程序用于使前述打印數(shù)據(jù)提供裝置執(zhí)行下述步驟,即判定步驟,該步驟判定打印機(jī)是否連接;組信息生成步驟,該步驟在通過(guò)前述判定步驟判定打印機(jī)已連接的情況下,生成與該打印機(jī)對(duì)應(yīng)的組信息;以及保存步驟,該步驟在通過(guò)前述組信息生成步驟生成與前述打印機(jī)對(duì)應(yīng)的組信息的情況下,將存儲(chǔ)在規(guī)定的存儲(chǔ)單元中的基準(zhǔn)環(huán)境設(shè)定數(shù)據(jù)作為前述環(huán)境設(shè)定數(shù)據(jù),與該組信息關(guān)聯(lián),保存在前述保存單元中。
6.一種打印數(shù)據(jù)提供裝置,其含有與多個(gè)組信息中的至少一個(gè)相關(guān)聯(lián)而保存數(shù)據(jù)的保存單元,根據(jù)與前述多個(gè)組信息中的與提供目標(biāo)的打印機(jī)對(duì)應(yīng)的組信息相關(guān)聯(lián)的環(huán)境設(shè)定數(shù)據(jù),生成以由內(nèi)部打印數(shù)據(jù)生成程序生成的內(nèi)部打印數(shù)據(jù)為基礎(chǔ)的打印數(shù)據(jù),并提供給該打印機(jī),其特征在于,具有判定單元,其判定打印機(jī)是否連接;組信息生成單元,其在通過(guò)前述判定單元判定打印機(jī)已連接的情況下,生成與該打印機(jī)對(duì)應(yīng)的組信息;以及保存單元,其在通過(guò)前述組信息生成單元生成與前述打印機(jī)對(duì)應(yīng)的組信息的情況下,將存儲(chǔ)在規(guī)定的存儲(chǔ)單元中的基準(zhǔn)環(huán)境設(shè)定數(shù)據(jù)作為前述環(huán)境設(shè)定數(shù)據(jù),與該組信息關(guān)聯(lián),保存在前述保存單元中。
全文摘要
本發(fā)明提供一種環(huán)境設(shè)定數(shù)據(jù)設(shè)定方法,其能夠減少打印數(shù)據(jù)提供裝置的環(huán)境設(shè)定數(shù)據(jù)的設(shè)定時(shí)的麻煩。本發(fā)明涉及一種打印數(shù)據(jù)提供裝置的環(huán)境設(shè)定數(shù)據(jù)設(shè)定方法,該打印數(shù)據(jù)提供裝置具有與多個(gè)組信息的至少一個(gè)相關(guān)聯(lián)而保存數(shù)據(jù)的保存單元,根據(jù)與提供目標(biāo)的打印機(jī)相對(duì)應(yīng)的組信息相關(guān)聯(lián)的環(huán)境設(shè)定數(shù)據(jù),生成基于內(nèi)部打印數(shù)據(jù)的打印數(shù)據(jù),提供給該打印機(jī)。在本發(fā)明中,在判定打印機(jī)被連接的情況下,生成與該打印機(jī)對(duì)應(yīng)的組信息,以存儲(chǔ)在規(guī)定存儲(chǔ)單元中的基準(zhǔn)環(huán)境設(shè)定數(shù)據(jù)作為上述環(huán)境設(shè)定數(shù)據(jù),與該組信息相關(guān)聯(lián)保存在保存單元中。
文檔編號(hào)G06F3/12GK1991738SQ20061016732
公開(kāi)日2007年7月4日 申請(qǐng)日期2006年12月27日 優(yōu)先權(quán)日2005年12月28日
發(fā)明者艾伯特·肯尼斯, 五味健一 申請(qǐng)人:星精密株式會(huì)社