本公開(kāi)涉及一種用于打印表示由存儲(chǔ)在服務(wù)器中的文件所表示的多個(gè)頁(yè)面的頁(yè)面圖像的打印機(jī)。
背景技術(shù):
已知的圖像形成設(shè)備通過(guò)下載存儲(chǔ)在服務(wù)器中的文件來(lái)執(zhí)行打印。圖像形成設(shè)備接受由用戶(hù)經(jīng)由操作面板提供的打印請(qǐng)求。打印請(qǐng)求包括指定例如待打印的頁(yè)面范圍的打印設(shè)定。圖像形成設(shè)備請(qǐng)求服務(wù)器根據(jù)打印設(shè)定將數(shù)據(jù)下載到圖像形成設(shè)備,并且根據(jù)打印設(shè)定執(zhí)行打印。
技術(shù)實(shí)現(xiàn)要素:
本公開(kāi)的一些實(shí)施例提供用于使得打印機(jī)能夠在打印設(shè)定已被指定給存儲(chǔ)在服務(wù)器中的文件的狀態(tài)下使用具有相對(duì)較小的存儲(chǔ)容量的存儲(chǔ)器來(lái)執(zhí)行由存儲(chǔ)在服務(wù)器中的文件所表示的圖像的打印的技術(shù)。也就是說(shuō),在一些實(shí)施例中,當(dāng)打印機(jī)在打印設(shè)定已被指定給存儲(chǔ)在服務(wù)器中的文件的狀態(tài)下通過(guò)從服務(wù)器接收數(shù)據(jù)來(lái)執(zhí)行打印時(shí)考慮打印機(jī)中的存儲(chǔ)器的使用空間的最小化。
本公開(kāi)的一個(gè)說(shuō)明性方面可以提供打印機(jī),所述打印機(jī)包括:通信接口;打印引擎;以及控制器,所述控制器包括:處理器;以及存儲(chǔ)計(jì)算機(jī)可讀指令的存儲(chǔ)器,所述計(jì)算機(jī)可讀指令當(dāng)由所述處理器執(zhí)行時(shí),使所述打印機(jī)執(zhí)行以下操作:在接收處理中,經(jīng)由所述通信接口從服務(wù)器接收打印設(shè)定信息,其中,所述服務(wù)器將表示表示n個(gè)頁(yè)面(n是2或大于2的整數(shù))的頁(yè)面圖像的文件和所述打印設(shè)定信息彼此關(guān)聯(lián)地存儲(chǔ)在其中,其中,所述打印設(shè)定信息包括與所述頁(yè)面圖像的打印次序有關(guān)的次序信息;以及響應(yīng)于從所述服務(wù)器接收到所述打印設(shè)定信息,在重復(fù)處理中,重復(fù)一套處理,所述一套處理包括:在指定處理中,根據(jù)所述次序信息來(lái)指定識(shí)別待從所述服務(wù)器接收的部分?jǐn)?shù)據(jù)的識(shí)別信息,其中,所述部分?jǐn)?shù)據(jù)表示作為表示n個(gè)頁(yè)面的所述頁(yè)面圖像的一部分的部分圖像;在發(fā)送處理中,經(jīng)由所述通信接口向所述服務(wù)器發(fā)送包括所指定的識(shí)別信息的請(qǐng)求;響應(yīng)于經(jīng)由所述通信接口從所述服務(wù)器接收到由包括在所述請(qǐng)求中的所述識(shí)別信息所識(shí)別的所述部分?jǐn)?shù)據(jù),在存儲(chǔ)處理中,將所述部分?jǐn)?shù)據(jù)存儲(chǔ)在所述存儲(chǔ)器中;在打印處理中,使所述打印引擎使用存儲(chǔ)在所述存儲(chǔ)器中的所述部分?jǐn)?shù)據(jù)來(lái)執(zhí)行由所述部分?jǐn)?shù)據(jù)表示的所述部分圖像的打??;以及繼所述打印處理之后,在釋放處理中,在所述存儲(chǔ)器中釋放存儲(chǔ)所述部分?jǐn)?shù)據(jù)的特定區(qū)域。
根據(jù)本公開(kāi)的一個(gè)或多個(gè)方面,響應(yīng)于從服務(wù)器接收到打印設(shè)定信息,打印機(jī)可以重復(fù)其中可以根據(jù)包括在所述打印設(shè)定信息中的次序信息來(lái)打印可以為表示n個(gè)頁(yè)面的頁(yè)面圖像的一部分的部分圖像的一套處理。因此,這個(gè)配置可以使得所述打印機(jī)不能夠在打印表示n個(gè)頁(yè)面的所述頁(yè)面圖像時(shí)立刻存儲(chǔ)表示n個(gè)頁(yè)面的所有部分?jǐn)?shù)據(jù)。因此,在已經(jīng)為存儲(chǔ)在所述服務(wù)器中的所述文件指定所述打印設(shè)定信息的情況下,所述打印機(jī)可以使用具有相對(duì)較小的存儲(chǔ)容量的存儲(chǔ)器來(lái)執(zhí)行表示n個(gè)頁(yè)面的所述頁(yè)面圖像的打印。
本公開(kāi)的另一說(shuō)明性方面可以提供打印機(jī),所述打印機(jī)包括:通信接口;打印引擎;以及控制器,所述控制器包括:處理器;以及存儲(chǔ)計(jì)算機(jī)可讀指令的存儲(chǔ)器,所述計(jì)算機(jī)可讀指令當(dāng)由所述處理器執(zhí)行時(shí),使所述打印機(jī)執(zhí)行以下操作:在接收處理中,經(jīng)由所述通信接口從服務(wù)器接收打印設(shè)定信息,其中,所述服務(wù)器將表示表示n個(gè)頁(yè)面(n是2或大于2的整數(shù))的頁(yè)面圖像的文件和所述打印設(shè)定信息彼此關(guān)聯(lián)地存儲(chǔ)在其中;以及在所述打印設(shè)定信息包括指示m個(gè)集合的集合量信息的第一情況下,在第一重復(fù)處理中,通過(guò)重復(fù)第一套處理直到表示n個(gè)頁(yè)面的所述頁(yè)面圖像中的全部被打印為止來(lái)執(zhí)行單個(gè)集合的整理打印,所述第一套處理包括:響應(yīng)于經(jīng)由所述通信接口從所述服務(wù)器接收到表示作為表示n個(gè)頁(yè)面的所述頁(yè)面圖像的一部分的部分圖像的部分?jǐn)?shù)據(jù),在存儲(chǔ)處理中,將所述部分?jǐn)?shù)據(jù)存儲(chǔ)在所述存儲(chǔ)器中;在第一打印處理中,使所述打印引擎使用存儲(chǔ)在所述存儲(chǔ)器中的所述部分?jǐn)?shù)據(jù)來(lái)執(zhí)行由所述部分?jǐn)?shù)據(jù)表示的所述部分圖像的打印;繼所述第一打印處理之后,在第一釋放處理中,在所述存儲(chǔ)器中釋放存儲(chǔ)所述部分?jǐn)?shù)據(jù)的特定區(qū)域,在所述第一情況下,通過(guò)執(zhí)行所述第一重復(fù)處理m次來(lái)執(zhí)行所述m個(gè)集合的整理打印。
根據(jù)本公開(kāi)的一個(gè)或多個(gè)方面,所述打印機(jī)可以重復(fù)其中可以打印可以為表示n個(gè)頁(yè)面的所述頁(yè)面圖像的一部分的部分圖像的一套處理。因此,這個(gè)配置可以使得所述打印機(jī)不能夠在通過(guò)打印表示n個(gè)頁(yè)面的頁(yè)面圖像來(lái)執(zhí)行m個(gè)集合的整理打印時(shí)立刻存儲(chǔ)表示n個(gè)頁(yè)面的所有部分?jǐn)?shù)據(jù)。因此,在已經(jīng)為存儲(chǔ)在所述服務(wù)器中的所述文件指定所述打印設(shè)定信息的情況下,所述打印機(jī)可以使用具有相對(duì)較小的存儲(chǔ)容量的存儲(chǔ)器來(lái)執(zhí)行表示n個(gè)頁(yè)面的所述頁(yè)面圖像的打印。
可以提供用于實(shí)現(xiàn)上述打印機(jī)的控制方法和計(jì)算機(jī)程序以及存儲(chǔ)所述計(jì)算機(jī)程序的計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)。
附圖說(shuō)明
本公開(kāi)的各方面通過(guò)示例而不通過(guò)限制被圖示在附圖中,在附圖中相同的附圖標(biāo)記指示類(lèi)似的元件。
圖1描繪根據(jù)本公開(kāi)的一個(gè)或多個(gè)方面的說(shuō)明性實(shí)施例中的通信系統(tǒng)的配置。
圖2是描繪根據(jù)本公開(kāi)的一個(gè)或多個(gè)方面的說(shuō)明性實(shí)施例中的示例打印處理的流程圖。
圖3是描繪根據(jù)本公開(kāi)的一個(gè)或多個(gè)方面的說(shuō)明性實(shí)施例中的示例單面整理打印處理的流程圖。
圖4圖示根據(jù)本公開(kāi)的一個(gè)或多個(gè)方面的說(shuō)明性實(shí)施例中的單面整理打印的特定示例。
圖5是描繪根據(jù)本公開(kāi)的一個(gè)或多個(gè)方面的說(shuō)明性實(shí)施例中的示例單面非整理打印處理的流程圖。
圖6圖示根據(jù)本公開(kāi)的一個(gè)或多個(gè)方面的說(shuō)明性實(shí)施例中的單面非整理打印的特定示例。
圖7是描繪根據(jù)本公開(kāi)的一個(gè)或多個(gè)方面的說(shuō)明性實(shí)施例中的示例雙面整理打印處理的流程圖。
圖8圖示根據(jù)本公開(kāi)的一個(gè)或多個(gè)方面的說(shuō)明性實(shí)施例中的雙面整理打印(總頁(yè)數(shù)為偶數(shù))的特定示例。
圖9圖示根據(jù)本公開(kāi)的一個(gè)或多個(gè)方面的說(shuō)明性實(shí)施例中的雙面整理打印(總頁(yè)數(shù)為奇數(shù))的特定示例。
圖10是描繪根據(jù)本公開(kāi)的一個(gè)或多個(gè)方面的說(shuō)明性實(shí)施例中的示例雙面非整理打印處理的流程圖。
圖11圖示根據(jù)本公開(kāi)的一個(gè)或多個(gè)方面的說(shuō)明性實(shí)施例中的雙面非整理打印(總頁(yè)數(shù)為偶數(shù))的特定示例。
圖12圖示根據(jù)本公開(kāi)的一個(gè)或多個(gè)方面的說(shuō)明性實(shí)施例中的雙面非整理打印(總頁(yè)數(shù)為奇數(shù))的特定示例。
具體實(shí)施方式
(說(shuō)明性實(shí)施例)
將參考附圖詳細(xì)地描述說(shuō)明性實(shí)施例,相同的附圖標(biāo)記被用于各個(gè)圖中的相同的對(duì)應(yīng)部分。
如圖1中所描繪,通信系統(tǒng)2包括打印機(jī)10、終端裝置50和服務(wù)器100。打印機(jī)10經(jīng)由局域網(wǎng)(“l(fā)an”)4連接到互聯(lián)網(wǎng)6。打印機(jī)10和服務(wù)器100被允許經(jīng)由互聯(lián)網(wǎng)6彼此進(jìn)行通信。終端裝置50和服務(wù)器100被允許經(jīng)由互聯(lián)網(wǎng)6彼此進(jìn)行通信。
(打印機(jī)10的配置)
打印機(jī)10可以是能夠執(zhí)行打印功能的外圍裝置(即,終端裝置50的外圍裝置)。打印機(jī)10包括連接到總線(xiàn)(未指派有附圖標(biāo)記)的操作單元12、顯示單元14、網(wǎng)絡(luò)接口(“i/f”)16、打印引擎18和控制器30。
操作單元12包括多個(gè)鍵和按鈕。操作單元12使得用戶(hù)能夠借此向打印機(jī)10提供各種指令。顯示單元14可以是用于在其上顯示各種信息的顯示器。顯示單元14還充當(dāng)觸摸面板并且因此作為另一操作單元操作。網(wǎng)絡(luò)接口16連接到lan4。lan4可以是有線(xiàn)或無(wú)線(xiàn)lan。
打印引擎18包括使用例如噴墨打印方法或激光打印方法的打印機(jī)制。打印引擎18還包括用于執(zhí)行雙面打印的雙面打印機(jī)制。雙面打印機(jī)制將打印紙輸送到能夠?qū)Υ蛴〖埖牡谝幻鎴?zhí)行打印的特定位置,并且對(duì)打印紙執(zhí)行打印。響應(yīng)于對(duì)打印紙的第一面的打印的完成,雙面打印機(jī)制還將打印紙輸送到能夠?qū)Υ蛴〖埖牡诙鎴?zhí)行打印的另一特定位置。第二面與第一面相反。更具體地,例如,打印引擎18可能不在雙面打印中打印按照頁(yè)碼的升序表示多個(gè)頁(yè)面的圖像。打印引擎18在第一打印紙的第一面上打印表示第二頁(yè)面的圖像,然后在第一打印紙的第二面上打印第一頁(yè)面的圖像。此后,打印引擎18在第二打印紙的第一面上打印表示第四頁(yè)面的圖像,然后在第二打印紙的第二面上打印第三頁(yè)面的圖像。如上所述,打印引擎18在打印紙的第一面上打印第2n個(gè)頁(yè)面(n是1或大于1的整數(shù))的圖像,然后在打印紙的第二面上打印第(2n-1)個(gè)頁(yè)面的圖像。
控制器30包括中央處理單元(“cpu”)32和存儲(chǔ)器34。cpu32可以是被配置成根據(jù)存儲(chǔ)在存儲(chǔ)器34中的程序36來(lái)執(zhí)行各種處理的處理器。存儲(chǔ)器34包括隨機(jī)存取存儲(chǔ)器(“ram”)、只讀存儲(chǔ)器(“rom”)和硬盤(pán)。存儲(chǔ)器34包括部分?jǐn)?shù)據(jù)區(qū)域40和打印數(shù)據(jù)區(qū)域42。
部分?jǐn)?shù)據(jù)區(qū)域40用于存儲(chǔ)從服務(wù)器100接收到的部分?jǐn)?shù)據(jù)。服務(wù)器存儲(chǔ)圖像文件if。圖像文件if包括表示多個(gè)頁(yè)面的多個(gè)圖像。部分?jǐn)?shù)據(jù)表示圖像文件if的圖像的一部分。在該說(shuō)明性實(shí)施例中,部分?jǐn)?shù)據(jù)是按照由服務(wù)器100基于圖像文件if生成的pwg(“pwg”代表打印機(jī)工作組)光柵格式。然而,在其它實(shí)施例中,例如,部分?jǐn)?shù)據(jù)可以具有另一格式,例如pdf(“pdf”代表便攜式文檔格式)格式。部分?jǐn)?shù)據(jù)區(qū)域40具有用于表示單個(gè)頁(yè)面的部分?jǐn)?shù)據(jù)的存儲(chǔ)容量,但是可能不能存儲(chǔ)表示兩個(gè)頁(yè)面的部分?jǐn)?shù)據(jù)。
打印數(shù)據(jù)區(qū)域42用于存儲(chǔ)由打印機(jī)10基于部分?jǐn)?shù)據(jù)生成的打印數(shù)據(jù)。打印數(shù)據(jù)可以具有可由打印引擎18解釋的格式。在該說(shuō)明性實(shí)施例中,打印數(shù)據(jù)可以是具有相對(duì)更少的cmyk色調(diào)(例如,二級(jí)或三級(jí))的位圖數(shù)據(jù)。
(服務(wù)器100的配置)
服務(wù)器100由與打印機(jī)10的供應(yīng)商不同的提供商在互聯(lián)網(wǎng)6上提供。服務(wù)器100可以是例如由google(
服務(wù)器100被配置成調(diào)解終端裝置50與打印機(jī)10之間的打印。也就是說(shuō),服務(wù)器100對(duì)包括在從終端裝置50提交的打印作業(yè)pj中的圖像文件if進(jìn)行轉(zhuǎn)換以生成具有可由打印機(jī)10解釋的格式(例如,pwg光柵格式)的轉(zhuǎn)換的數(shù)據(jù),并且將經(jīng)轉(zhuǎn)換的數(shù)據(jù)發(fā)送到打印機(jī)10。因此,即使終端裝置50不配備有用于對(duì)圖像文件if進(jìn)行轉(zhuǎn)換的打印機(jī)驅(qū)動(dòng)器,終端裝置50也可以使打印機(jī)10通過(guò)向服務(wù)器100提交打印作業(yè)pj來(lái)執(zhí)行打印。
(打印的概述)
將簡(jiǎn)要地描述打印機(jī)10根據(jù)從終端裝置50提交給服務(wù)器100的打印作業(yè)pj來(lái)執(zhí)行打印的處理。首先,打印機(jī)10的用戶(hù)在服務(wù)器100上注冊(cè)有關(guān)打印機(jī)10的信息并且在打印機(jī)10與服務(wù)器100之間建立xmpp(“xmpp”代表可擴(kuò)展消息傳送和表示協(xié)議)連接。因此,在打印機(jī)10與服務(wù)器100之間建立了常開(kāi)型連接。常開(kāi)型連接可以使得能夠?qū)?lái)自互聯(lián)網(wǎng)6上的服務(wù)器100的作業(yè)通知發(fā)送到lan4上的打印機(jī)10。
在終端裝置50的用戶(hù)期望使打印機(jī)10執(zhí)行打印的情況下,用戶(hù)訪(fǎng)問(wèn)服務(wù)器100以將包括圖像文件if和打印設(shè)定信息ps的打印作業(yè)pj提交給服務(wù)器100。圖像文件if可以是例如存儲(chǔ)在終端裝置50的存儲(chǔ)器中的文件,并且例如具有jpeg(“jpeg”代表聯(lián)合圖像專(zhuān)家組)或pdf格式。打印設(shè)定信息ps可以是由用戶(hù)指定的信息,并且可以包括例如指示雙面打印和單面打印中的一種的信息、指示集合量的信息(在下文中,被稱(chēng)為“集合量信息”)以及指示整理打印和非整理打印中的一個(gè)的信息。整理打印可能與排序打印同義。非整理打印可能是與不排序打印同義。
響應(yīng)于對(duì)打印作業(yè)pj的提交的接受,服務(wù)器100通過(guò)xmpp連接向打印機(jī)10發(fā)送作業(yè)通知。因此,可以通知打印機(jī)10打印作業(yè)pj已被存儲(chǔ)在服務(wù)器100中。打印機(jī)10通過(guò)從服務(wù)器100請(qǐng)求每個(gè)部分?jǐn)?shù)據(jù)的傳輸相繼地從服務(wù)器100接收基于圖像文件if生成的每個(gè)部分?jǐn)?shù)據(jù)。打印機(jī)10基于每個(gè)接收到的部分?jǐn)?shù)據(jù)相繼地生成打印數(shù)據(jù)并且將所生成的打印數(shù)據(jù)相繼地提供給打印引擎18。因此,打印機(jī)10可以根據(jù)打印作業(yè)pj執(zhí)行打印。請(qǐng)求的發(fā)送以及每個(gè)部分?jǐn)?shù)據(jù)的接收是遵照https(“https”代表超文本傳輸協(xié)議安全)而不是xmpp來(lái)執(zhí)行的。
如上所述,打印機(jī)10的部分?jǐn)?shù)據(jù)區(qū)域40具有不能存儲(chǔ)表示兩個(gè)頁(yè)面的部分?jǐn)?shù)據(jù)的相對(duì)較小的存儲(chǔ)容量。在該說(shuō)明性實(shí)施例中,打印機(jī)10能夠使用具有相對(duì)較小的存儲(chǔ)容量的部分?jǐn)?shù)據(jù)區(qū)域40來(lái)適當(dāng)?shù)貓?zhí)行雙面打印和整理打印。假定圖像文件if表示表示多個(gè)頁(yè)面的圖像,將在下面描述用于使用具有相對(duì)較小的存儲(chǔ)容量的部分?jǐn)?shù)據(jù)區(qū)域40來(lái)實(shí)現(xiàn)雙面打印和整理打印的處理。
(打印處理)
參考圖2,將描述由cpu32執(zhí)行的打印處理。可以經(jīng)由網(wǎng)絡(luò)接口16來(lái)執(zhí)行與在下面所描述的通信有關(guān)的所有處理,并且因此,可以省略“經(jīng)由網(wǎng)絡(luò)接口16”的短語(yǔ)。
在步驟s10中,cpu32監(jiān)視作業(yè)通知通過(guò)xmpp連接從服務(wù)器100的接收。響應(yīng)于作業(yè)通知的接收,cpu32在步驟s10中做出肯定確定(例如,“是”)并且例程進(jìn)行到步驟s20。
在步驟s20中,cpu32向服務(wù)器100發(fā)送用于建立tcp(“tcp”代表傳輸控制協(xié)議)連接的連接信號(hào)。響應(yīng)于從服務(wù)器100接收到ok信號(hào),cpu32在打印機(jī)10與服務(wù)器100之間建立tcp連接。結(jié)果,cpu32被允許通過(guò)該tcp連接向服務(wù)器100發(fā)送請(qǐng)求并且從服務(wù)器100接收數(shù)據(jù)。在步驟s22中,cpu32從服務(wù)器100接收包括在打印作業(yè)pj中的打印設(shè)定信息ps。
在步驟s30中,cpu32確定打印設(shè)定信息ps是否包括指示單面打印的信息。當(dāng)打印設(shè)定信息ps包括指示單面打印的信息時(shí),cpu32在步驟s30中做出肯定確定(例如,“是”)并且例程進(jìn)行到步驟s32。當(dāng)打印設(shè)定信息ps包括指示雙面打印的信息時(shí),cpu32在步驟s30中做出否定確定(例如,“否”)并且例程進(jìn)行到步驟s34。
在步驟s32中,cpu32確定打印設(shè)定信息ps是否還包括指示多個(gè)集合的集合量信息以及指示整理打印的信息兩者。當(dāng)打印設(shè)定信息ps包括兩個(gè)信息時(shí),cpu32在步驟s32中做出肯定確定(例如,“是”)。然后,在步驟s40中,cpu32執(zhí)行單面整理打印處理(參考圖3)。當(dāng)打印設(shè)定信息ps包括指示單個(gè)集合的集合量信息以及指示非整理打印的信息中的至少一種時(shí),cpu32在步驟s32中做出否定確定(例如,“否”)。然后,在步驟s50中,cpu32執(zhí)行單面非整理打印處理(參考圖5)。
步驟s34與步驟s32類(lèi)似。當(dāng)cpu32在步驟s34中做出肯定確定(例如,“是”)時(shí),在步驟s60中,cpu32執(zhí)行雙面整理打印處理(參考圖7)。當(dāng)cpu32在步驟s34中做出否定確定(例如,“否”)時(shí),在步驟s70中,cpu32執(zhí)行雙面非整理打印處理(參考圖10)。
響應(yīng)于步驟s40、s50、s60和s70中的一個(gè)的完成,在步驟s80中,cpu32向服務(wù)器100發(fā)送指示根據(jù)打印作業(yè)pj打印的完成的作業(yè)完成通知。因此,已完成的打印作業(yè)pj在服務(wù)器100中被清除。
(單面整理打印處理)
參考圖3,將描述圖2的步驟s2中所執(zhí)行的單面整理打印處理。在下面所描述的打印機(jī)10與服務(wù)器100之間的每個(gè)通信(例如,步驟s110和s112)通過(guò)tcp連接來(lái)執(zhí)行(參考圖2中的步驟s20和步驟s152)。因此,在下面的描述中,將省略短語(yǔ)“通過(guò)tcp連接”。在圖5、圖7、圖10和圖11中所圖示的處理中,打印機(jī)10與服務(wù)器100之間的每個(gè)通信還通過(guò)tcp連接來(lái)執(zhí)行,并且因此,將省略短語(yǔ)“通過(guò)tcp連接”。
在步驟s100中,cpu32將指針m和n中的每一個(gè)設(shè)定為“1(一)”。指針m涉及集合量并且打印機(jī)n涉及頁(yè)碼。
在步驟s110中,cpu32向服務(wù)器100發(fā)送包括頁(yè)碼“n(在此處理中為“1”)”的請(qǐng)求。這個(gè)請(qǐng)求可以是用于請(qǐng)求服務(wù)器100發(fā)送表示由頁(yè)碼“n”識(shí)別的頁(yè)面的圖像的部分?jǐn)?shù)據(jù)的命令。響應(yīng)于請(qǐng)求的接收,服務(wù)器100通過(guò)對(duì)圖像文件if進(jìn)行轉(zhuǎn)換來(lái)生成部分?jǐn)?shù)據(jù)(例如,pwg光柵格式的數(shù)據(jù)),并且從表示該部分?jǐn)?shù)據(jù)的第一部分的數(shù)據(jù)開(kāi)始,將具有預(yù)定大小并且表示該部分?jǐn)?shù)據(jù)的一部分的數(shù)據(jù)相繼地發(fā)送到打印機(jī)10。因此,在步驟s112中,cpu32接收從服務(wù)器100發(fā)送的部分?jǐn)?shù)據(jù),并且在步驟s114中,cpu32將該部分?jǐn)?shù)據(jù)存儲(chǔ)在部分?jǐn)?shù)據(jù)區(qū)域40中。
在步驟s120中,cpu32監(jiān)視表示表示單個(gè)頁(yè)面的部分?jǐn)?shù)據(jù)的最后一部分的數(shù)據(jù)的接收。部分?jǐn)?shù)據(jù)的總數(shù)據(jù)大小被寫(xiě)入在表示部分?jǐn)?shù)據(jù)的第一部分的數(shù)據(jù)中。cpu32對(duì)各自表示在步驟s112中接收到的部分?jǐn)?shù)據(jù)的一部分的各條數(shù)據(jù)的累積數(shù)據(jù)大小進(jìn)行計(jì)數(shù)。當(dāng)計(jì)數(shù)值尚未達(dá)到總數(shù)據(jù)大小時(shí),cpu32在步驟s120中做出否定確定(例如,“否”)并且例程返回到步驟s112。當(dāng)計(jì)數(shù)值已達(dá)到總數(shù)據(jù)大小時(shí),cpu32在步驟s120中做出肯定確定(例如,“是”)并且例程進(jìn)行到步驟s130。
一般地,在tcp連接被建立的同時(shí),服務(wù)器100連續(xù)地向打印機(jī)10發(fā)送數(shù)據(jù),除非服務(wù)器100從打印機(jī)10接收到暫停指令。例如,繼表示單個(gè)頁(yè)面的部分?jǐn)?shù)據(jù)到打印機(jī)10的傳輸之后,服務(wù)器100相繼地向打印機(jī)10發(fā)送表示另一單個(gè)頁(yè)面的部分?jǐn)?shù)據(jù)。然而,如上所述,打印機(jī)10的部分?jǐn)?shù)據(jù)區(qū)域40不能存儲(chǔ)表示兩個(gè)頁(yè)面的部分?jǐn)?shù)據(jù)。因此,響應(yīng)于表示單個(gè)頁(yè)面的部分?jǐn)?shù)據(jù)的接收的完成(例如,步驟s120中的“是”),cpu32向服務(wù)器100發(fā)送暫停指令以停止來(lái)自服務(wù)器100的后續(xù)數(shù)據(jù)傳輸。
然而,在其它實(shí)施例中,例如,響應(yīng)于表示單個(gè)頁(yè)面的部分?jǐn)?shù)據(jù)的接收的完成(例如,步驟s120中的“是”),cpu32可以斷開(kāi)在打印機(jī)10與服務(wù)器100之間建立的tcp連接。通過(guò)這樣做,cpu32還可以停止來(lái)自服務(wù)器100的后續(xù)數(shù)據(jù)傳輸。在這種情況下,當(dāng)cpu32打算接收表示另一單個(gè)頁(yè)面的部分?jǐn)?shù)據(jù)時(shí),cpu32可以再次在打印機(jī)10與服務(wù)器100之間建立tcp連接。然而,可以每次完成表示單個(gè)頁(yè)面的部分?jǐn)?shù)據(jù)的接收時(shí)斷開(kāi)并重新建立tcp連接。因此,可以使接收部分?jǐn)?shù)據(jù)所需的時(shí)間延長(zhǎng)。與此相反,在該說(shuō)明性實(shí)施例中,雖然tcp連接被保持建立,但是暫停指令被發(fā)送到服務(wù)器100。因此,與其它實(shí)施例的配置相比可以縮短接收部分?jǐn)?shù)據(jù)所需的時(shí)間。
在步驟s130中,cpu32通過(guò)對(duì)表示存儲(chǔ)在部分?jǐn)?shù)據(jù)區(qū)域40中的單個(gè)頁(yè)面的部分?jǐn)?shù)據(jù)(例如,pwg光柵格式的數(shù)據(jù))進(jìn)行轉(zhuǎn)換在打印數(shù)據(jù)區(qū)域42中生成表示單個(gè)頁(yè)面的打印數(shù)據(jù)(例如,具有相對(duì)更少的色調(diào)級(jí)的cmyk數(shù)據(jù))。然而,在其它實(shí)施例中,例如,服務(wù)器100可以生成打印數(shù)據(jù)。在這種情況下,cpu32可以在步驟s112中接收所生成的打印數(shù)據(jù)并且可以在步驟s114中存儲(chǔ)所接收到的打印數(shù)據(jù),以及可以省略步驟s130。因此,打印數(shù)據(jù)本身可以是部分?jǐn)?shù)據(jù)。
在步驟s132中,cpu32將存儲(chǔ)在打印數(shù)據(jù)區(qū)域42中的表示單個(gè)頁(yè)面的打印數(shù)據(jù)提供給打印引擎18。因此,打印引擎18在打印紙的一面上打印由打印數(shù)據(jù)表示的圖像。在步驟s132中,cpu32還向打印引擎18提供用于排出打印紙的排出指令。因此,打印引擎18排出在其一面上具有表示單個(gè)頁(yè)面的圖像的打印紙。
在步驟s134中,cpu32通過(guò)從部分?jǐn)?shù)據(jù)區(qū)域40和打印數(shù)據(jù)區(qū)域42中的每一個(gè)中清除數(shù)據(jù)來(lái)釋放部分?jǐn)?shù)據(jù)區(qū)域40和打印數(shù)據(jù)區(qū)域42中的每一個(gè)。因此,部分?jǐn)?shù)據(jù)區(qū)域40和打印數(shù)據(jù)區(qū)域42中的每一個(gè)變得能夠?qū)⑿聰?shù)據(jù)存儲(chǔ)在其中。然而,可能不必從部分?jǐn)?shù)據(jù)區(qū)域40和打印數(shù)據(jù)區(qū)域42中的每一個(gè)中清除數(shù)據(jù)。在其它實(shí)施例中,例如,cpu32可以通過(guò)允許在部分?jǐn)?shù)據(jù)區(qū)域40和打印數(shù)據(jù)區(qū)域42中的每一個(gè)中用新數(shù)據(jù)覆寫(xiě)舊數(shù)據(jù)來(lái)釋放部分?jǐn)?shù)據(jù)區(qū)域40和打印數(shù)據(jù)區(qū)域42中的每一個(gè)。在仍然其它的實(shí)施例中,例如,在cpu32在步驟s130中生成打印數(shù)據(jù)之后,cpu32可以在在步驟s132中提供打印數(shù)據(jù)之前釋放部分?jǐn)?shù)據(jù)區(qū)域40,并且可以在在步驟s132中提供打印數(shù)據(jù)之后釋放打印數(shù)據(jù)區(qū)域42。
在步驟s140中,cpu32確定是否已接收到表示最后單個(gè)頁(yè)面的部分?jǐn)?shù)據(jù)。當(dāng)指示最后頁(yè)面的字符串被寫(xiě)入在步驟s112中所接收到的部分?jǐn)?shù)據(jù)的最后一部分中時(shí),cpu32在步驟s140中做出肯定確定(例如,“是”)并且例程進(jìn)行到步驟s150。當(dāng)指示最后頁(yè)面的字符串未被寫(xiě)入在步驟s112中所接收到的部分?jǐn)?shù)據(jù)的最后一部分中時(shí),cpu32在步驟s140中做出否定確定(例如,“否”)并且向服務(wù)器100發(fā)送用于重新開(kāi)始數(shù)據(jù)傳輸?shù)闹匦麻_(kāi)始指令,并且例程返回到步驟s112。
在在步驟s140中做出肯定確定(例如,“是”)的情況下,n張打印紙(“n”表示紙的數(shù)目)已被排出。經(jīng)排出的打印紙?jiān)谄湟幻嫔细髯跃哂斜硎居蓤D像文件if表示的n(“n”是2或大于2的整數(shù))個(gè)頁(yè)面的圖像中的一個(gè)。也就是說(shuō),第一集合的單面整理打印已完成。當(dāng)集合量信息表示多個(gè)集合時(shí),需要隨后執(zhí)行第二集合的單面整理打印。因此,打印機(jī)10需要再次接收表示第一頁(yè)面的部分?jǐn)?shù)據(jù)并且因此需要再次請(qǐng)求服務(wù)器100發(fā)送表示第一頁(yè)面的部分?jǐn)?shù)據(jù)(例如,步驟s110)。在該說(shuō)明性實(shí)施例中,為了請(qǐng)求服務(wù)器100發(fā)送表示第一頁(yè)面的部分?jǐn)?shù)據(jù)以用在第二集合的單面整理打印中,打印機(jī)10斷開(kāi)在打印機(jī)10與服務(wù)器100之間建立的tcp連接并且然后再次在其之間建立tcp連接。步驟s150和s152是為了tcp連接的斷開(kāi)和重新建立而執(zhí)行的。
在步驟s150中,cpu32通過(guò)向服務(wù)器100發(fā)送用于斷開(kāi)打印機(jī)10與服務(wù)器100之間的tcp連接的斷開(kāi)信號(hào)來(lái)斷開(kāi)在打印機(jī)10與服務(wù)器100之間建立的tcp連接。在步驟s152中,cpu32通過(guò)再次向服務(wù)器100發(fā)送用于建立tcp連接的連接信號(hào)來(lái)在打印機(jī)10與服務(wù)器100之間建立tcp連接。然而,在其它實(shí)施例中,例如,打印機(jī)10可能不必?cái)嚅_(kāi)并重新建立tcp連接(即,可能不必執(zhí)行步驟s150和s152)。
在步驟s160中,cpu32確定指針m的當(dāng)前值是否等于由集合量信息表示的集合量m。當(dāng)指針m的當(dāng)前值等于由集合量信息表示的集合量m時(shí),cpu32在步驟s160中做出肯定確定(例如,“是”)并且結(jié)束圖3的單面整理打印處理。當(dāng)指針m的當(dāng)前值小于由集合量信息表示的集合量m時(shí),cpu32在步驟s160中做出否定確定(例如,“否”)。在步驟s162中,cpu32通過(guò)將“1”添加到指針m的當(dāng)前值來(lái)為指針m指定新值,并且例程返回到步驟s110。因此,包括第二集合的一個(gè)或多個(gè)集合的單面整理打印被執(zhí)行。
(單面整理打印的特定示例)
參考圖4,將描述通過(guò)圖3的單面整理打印處理所實(shí)現(xiàn)的特定示例。在下文中,表示第n個(gè)頁(yè)面的部分?jǐn)?shù)據(jù)被稱(chēng)為“部分?jǐn)?shù)據(jù)(pn)”并且使用表示第n個(gè)頁(yè)面的部分?jǐn)?shù)據(jù)的打印被稱(chēng)為“打印(pn)”。包括在圖像文件if中的總頁(yè)數(shù)(即,頁(yè)面的總數(shù)目)由“n”指示。在下文中,將在類(lèi)似的附圖中使用相同的表達(dá)。圖4包括具有被稱(chēng)作“頁(yè)碼”的列的表。頁(yè)碼列指示打印的次序。次序意指待打印的頁(yè)面的順序。圖6、圖8、圖9、圖11和圖12具有類(lèi)似的頁(yè)碼列。
在t100中,打印機(jī)10向服務(wù)器100發(fā)送包括頁(yè)碼“1”的請(qǐng)求(例如,步驟s110)。在t110中,打印機(jī)10從服務(wù)器100接收部分?jǐn)?shù)據(jù)(p1)(例如,步驟s112和s114)。在t112中,打印機(jī)10執(zhí)行打印(p1)(例如,步驟s130和s132)并且釋放部分?jǐn)?shù)據(jù)區(qū)域40(例如,步驟s134)。
t110和t112可以是包括表示單個(gè)頁(yè)面的部分?jǐn)?shù)據(jù)的接收、打印以及部分?jǐn)?shù)據(jù)區(qū)域40的釋放的一套處理。打印機(jī)10針對(duì)第一集合通過(guò)執(zhí)行一套處理被重復(fù)直到表示n個(gè)頁(yè)面的圖像中的全部的打印完成為止的重復(fù)處理來(lái)對(duì)n張打印紙(“n”表示紙的數(shù)目)執(zhí)行單面整理打印。也就是說(shuō),打印機(jī)10執(zhí)行包括用于打印表示第二頁(yè)面的圖像的t120和t122的一套處理并且重復(fù)該一套處理。打印機(jī)10還執(zhí)行包括用于打印表示作為最后頁(yè)面的第n個(gè)頁(yè)面的圖像的t130和t132的一套處理。因此,重復(fù)處理的一個(gè)循環(huán)(例如,t111至t132)完成并且針對(duì)一套的n張打印紙上的單面整理打印完成。
在完成重復(fù)處理的一個(gè)循環(huán)時(shí)(例如,步驟s140中的是),在t140中,打印機(jī)10斷開(kāi)并重新建立tcp連接(例如,步驟s150和s152)。然后,打印機(jī)10執(zhí)行重復(fù)處理與集合量m相對(duì)應(yīng)的m次(例如,步驟s160中的否)。因此,針對(duì)m個(gè)集合的(n×m)張打印紙上的單面整理打印完成。
在圖4中,表示出打印張數(shù)與表示待打印在對(duì)應(yīng)的打印紙上的圖像的頁(yè)碼之間的對(duì)應(yīng)。該表示出在圖像文件if包括表示六個(gè)頁(yè)面的圖像并且圖像將在兩個(gè)集合中被打印的情況下的對(duì)應(yīng)。圖6、圖8和圖11中所描繪的表各自示出類(lèi)似的情況。附加到表的箭頭指示tcp連接的斷開(kāi)和重新建立的發(fā)生定時(shí)(例如,t140)。表示第一頁(yè)面至第六頁(yè)面的圖像被打印在第一打印紙至第六打印紙上并且因此第一集合的單面整理打印完成。然后,表示第一頁(yè)面至第六頁(yè)面的相同圖像被打印在第七打印紙至第十二打印紙上并且因此第二集合的單面整理打印完成。因此,針對(duì)兩個(gè)集合的十二(例如,6個(gè)頁(yè)面×2個(gè)集合)個(gè)打印紙上的單面整理打印完成。
如果部分?jǐn)?shù)據(jù)區(qū)域40具有能夠存儲(chǔ)表示例如六個(gè)頁(yè)面的部分?jǐn)?shù)據(jù)的存儲(chǔ)容量,則打印機(jī)10不必每當(dāng)使用表示單個(gè)頁(yè)面的部分?jǐn)?shù)據(jù)的打印被執(zhí)行時(shí)釋放部分?jǐn)?shù)據(jù)區(qū)域40,并且打印機(jī)10能夠立刻將表示六個(gè)頁(yè)面的部分?jǐn)?shù)據(jù)存儲(chǔ)在部分?jǐn)?shù)據(jù)區(qū)域40中。因此,繼完成第一集合的單面整理打印之后,打印機(jī)10可以使用存儲(chǔ)在部分?jǐn)?shù)據(jù)區(qū)域40中的相同部分?jǐn)?shù)據(jù)來(lái)執(zhí)行第二集合的單面整理打印,而無(wú)需從服務(wù)器100接收表示單個(gè)頁(yè)面的每個(gè)部分?jǐn)?shù)據(jù)。然而,在該說(shuō)明性實(shí)施例中,部分?jǐn)?shù)據(jù)區(qū)域40僅能夠存儲(chǔ)表示單個(gè)頁(yè)面的部分?jǐn)?shù)據(jù),并且因此,可能不采用上述方式。因此,打印機(jī)10針對(duì)m個(gè)集合通過(guò)執(zhí)行包括表示單個(gè)頁(yè)面的部分?jǐn)?shù)據(jù)的接收、打印以及部分?jǐn)?shù)據(jù)區(qū)域40的釋放的一套處理被執(zhí)行的重復(fù)處理m次來(lái)實(shí)現(xiàn)單面整理打印。因此,在已經(jīng)為存儲(chǔ)在服務(wù)器100中的圖像文件if指定打印設(shè)定信息ps的情況下,打印機(jī)10可以適當(dāng)?shù)厥褂镁哂邢鄬?duì)較小的存儲(chǔ)容量的存儲(chǔ)器34來(lái)針對(duì)多個(gè)集合執(zhí)行單面整理打印。
(單面非整理打印處理)
參考圖5,將描述圖2的步驟s50中所執(zhí)行的單面非整理打印處理。步驟s200至s232分別與圖3的步驟s100至s132類(lèi)似。
步驟s240和s242分別與圖3的步驟s160和s162類(lèi)似。當(dāng)在步驟s240中做出否定確定(例如,“否”)時(shí),步驟s232繼步驟s242之后被再次執(zhí)行。也就是說(shuō),步驟s232被重復(fù)直到表示單個(gè)頁(yè)面的圖像在與集合量m相對(duì)應(yīng)的m張打印紙中的每一個(gè)上的打印完成為止。
當(dāng)在步驟s240中做出肯定確定(例如,“是”)時(shí),在步驟s244中,cpu32將指針m的值初始化為“1”。在步驟s246中,cpu32釋放部分?jǐn)?shù)據(jù)區(qū)域40。步驟s250與圖3的步驟s140類(lèi)似。當(dāng)在步驟s250中做出否定確定(例如,“否”)時(shí),例程回到步驟s212。當(dāng)在步驟s250中做出肯定確定(例如,“是”)時(shí),cpu32結(jié)束圖5的單面非整理打印。
(單面非整理打印的特定示例)
參考圖6,將描述通過(guò)圖5的單面非整理打印處理所實(shí)現(xiàn)的特定示例。在t200中,打印機(jī)10向服務(wù)器100發(fā)送包括頁(yè)碼“1”的請(qǐng)求(例如,步驟s210)。在t210中,打印機(jī)10從服務(wù)器100接收部分?jǐn)?shù)據(jù)(p1)(例如,步驟s212和s214)。在t212中,打印機(jī)10執(zhí)行打印(p1)(例如,步驟s230和s232)。打印機(jī)10重復(fù)打印(p1)直到表示第一頁(yè)面的圖像在m張打印紙中的每一張上的打印完成為止(例如,步驟s240中的否以及步驟s232)。也就是說(shuō),在t214中,打印機(jī)10再次執(zhí)行打印(p1)(例如,步驟s232)并且重復(fù)打印(p1)m次。然后,在t220中,打印機(jī)10釋放部分?jǐn)?shù)據(jù)區(qū)域40(例如,步驟s246)。
t210和t220可以是包括表示單個(gè)頁(yè)面的部分?jǐn)?shù)據(jù)的接收、m次打印以及部分?jǐn)?shù)據(jù)區(qū)域40的釋放的一套處理。打印機(jī)10執(zhí)行一套處理被重復(fù)n次直到表示n個(gè)頁(yè)面的圖像中的全部的打印完成為止的重復(fù)處理。也就是說(shuō),打印機(jī)10執(zhí)行包括用于打印表示第二頁(yè)面的圖像的t230至t240的一套處理(例如,步驟s212至步驟s246)并且還以類(lèi)似方式執(zhí)行用于打印表示第三頁(yè)面以及一個(gè)或多個(gè)后續(xù)頁(yè)面的圖像的一套處理(例如,步驟s212至s246)。因此,針對(duì)m個(gè)集合的(n×m)張打印紙上的單面非整理打印完成。
如圖6的表中所描繪,表示第一頁(yè)面的圖像被打印在第一打印紙和第二打印紙中的每一個(gè)上,并且表示第二頁(yè)面的圖像被打印在第三打印紙和第四打印紙中的每一個(gè)上。以類(lèi)似方式,同一圖像被重復(fù)地打印在每個(gè)連續(xù)的兩張打印紙上。因此,針對(duì)兩個(gè)集合的十二(例如,6個(gè)頁(yè)面×2個(gè)集合)打印紙上的單面非整理打印完成。因此,在已經(jīng)為存儲(chǔ)在服務(wù)器100中的圖像文件if指定打印設(shè)定信息ps的情況下,打印機(jī)10可以適當(dāng)?shù)厥褂镁哂邢鄬?duì)較小的存儲(chǔ)容量的存儲(chǔ)器34來(lái)針對(duì)多個(gè)集合執(zhí)行單面非整理打印。
(雙面整理打印處理)
參考圖7,將描述圖2的步驟s60中所執(zhí)行的雙面整理打印處理。步驟s300與圖3的步驟s100類(lèi)似。
如上所述,打印引擎18的雙面打印機(jī)制在打印紙的第一面上打印表示第2n個(gè)頁(yè)面的圖像,然后在打印紙的第二面上打印表示第(2n-1)個(gè)頁(yè)面的圖像。為了實(shí)現(xiàn)這樣的打印方式,在步驟s310中,cpu32對(duì)于待向服務(wù)器100請(qǐng)求的頁(yè)碼指定“2n”并且向服務(wù)器100發(fā)送包括所指定的頁(yè)碼“2n”的請(qǐng)求。
在步驟s311中,cpu32響應(yīng)于步驟s310中所發(fā)送的請(qǐng)求而確定是否已經(jīng)從服務(wù)器100接收到ok信號(hào)??梢栽趫D像文件if包括與包括在步驟s310中所發(fā)送的請(qǐng)求中的頁(yè)碼“2n”相對(duì)應(yīng)的頁(yè)面的情況下從服務(wù)器100發(fā)送ok信號(hào)。然而,假定n=3并且cpu32向服務(wù)器100發(fā)送包括頁(yè)碼“6”的請(qǐng)求(盡管圖像文件if總共具有五個(gè)頁(yè)面)。在這種情況下,圖像文件if不具有與頁(yè)碼“6”相對(duì)應(yīng)的頁(yè)面。因此,從服務(wù)器100發(fā)送ng信號(hào)。當(dāng)已經(jīng)從服務(wù)器100接收到ok信號(hào)(例如,步驟s311中的是)時(shí),例程進(jìn)行到步驟s312。當(dāng)已經(jīng)從服務(wù)器100接收到ng信號(hào)(例如,步驟s311中的否)時(shí),例程進(jìn)行到步驟s345。
步驟s312至s334分別與圖3的步驟s112至s134類(lèi)似。然而,在步驟s332中,cpu32向打印引擎18提供輸送指令代替用于排出打印紙的排出指令。因此,繼在打印紙的第一面上打印表示第2n個(gè)頁(yè)面的圖像之后,打印引擎18將打印紙從能夠?qū)Υ蛴〖埖牡谝幻鎴?zhí)行打印的特定位置輸送到能夠?qū)Υ蛴〖埖牡诙鎴?zhí)行打印的特定位置。
步驟s340和s342分別與圖3的步驟s150和s152類(lèi)似。在服務(wù)器100響應(yīng)于包括頁(yè)碼“2n”的請(qǐng)求而向打印機(jī)10發(fā)送表示第2n個(gè)頁(yè)面的部分?jǐn)?shù)據(jù)的情況下,服務(wù)器100可能未被允許響應(yīng)于包括頁(yè)碼“2n-1”的請(qǐng)求而向打印機(jī)10發(fā)送表示第(2n-1)個(gè)頁(yè)面的部分?jǐn)?shù)據(jù),直到(a)服務(wù)器100完成所有部分?jǐn)?shù)據(jù)按照頁(yè)碼的升序從第2n個(gè)頁(yè)面到最后頁(yè)面的傳輸或者(b)執(zhí)行tcp連接的斷開(kāi)和重新建立為止。在前者配置即(a)的情況中,需要執(zhí)行通信直到表示最后頁(yè)面的部分?jǐn)?shù)據(jù)被發(fā)送為止,并且因此,考慮到通信持續(xù)時(shí)間的延長(zhǎng)可能不優(yōu)選采用前者配置。因此,在該說(shuō)明性實(shí)施例中,可以采用后者配置即(b)的情況并且步驟s340和s342被執(zhí)行。因此,打印機(jī)10向服務(wù)器100發(fā)送包括頁(yè)碼“2n-1”的請(qǐng)求(例如,步驟s310)以接收表示第(2n-1)個(gè)頁(yè)面的部分?jǐn)?shù)據(jù),而無(wú)需繼表示第2n個(gè)頁(yè)面的部分?jǐn)?shù)據(jù)的接收之后接收包括最后頁(yè)面的所有部分?jǐn)?shù)據(jù)。與此類(lèi)似,在步驟s352中,打印機(jī)10還執(zhí)行步驟s340和s342。因此,打印機(jī)10可以向服務(wù)器100發(fā)送包括頁(yè)碼“2n”的請(qǐng)求(例如,步驟s310)以接收表示第2n個(gè)頁(yè)面的部分?jǐn)?shù)據(jù),而無(wú)需接收包括最后頁(yè)面的所有部分?jǐn)?shù)據(jù)。然而,在其它實(shí)施例中,例如,打印機(jī)10可以采用前者配置并且可能不執(zhí)行步驟s340和s342。
在步驟s345中,cpu32僅向打印引擎18提供與在步驟s332中提供的輸送指令相同的輸送指令。因此,打印引擎18將打印紙從能夠?qū)Υ蛴〖埖牡谝幻鎴?zhí)行打印的特定位置輸送到能夠?qū)Υ蛴〖埖牡诙鎴?zhí)行打印的特定位置,而無(wú)需對(duì)打印紙的第一面執(zhí)行打印。繼步驟s345之后,例程進(jìn)行到步驟s350。
在步驟s350中,cpu32對(duì)于待向服務(wù)器100請(qǐng)求的頁(yè)碼指定“2n-1”并且向服務(wù)器100發(fā)送包括所指定的頁(yè)碼“2n-1”的請(qǐng)求。在步驟s352中,cpu32執(zhí)行與步驟s312至s342中所執(zhí)行的處理類(lèi)似的處理。然而,在這種情況下,在步驟s332中,cpu32向打印引擎18提供用于排出打印紙的排出指令代替輸送指令。因此,打印引擎18在在打印紙的第二面上打印表示第(2n-1)個(gè)頁(yè)面的圖像之后排出打印紙。
在步驟s360中,cpu32確定表示第2n個(gè)頁(yè)面的部分?jǐn)?shù)據(jù)以及表示第(2n-1)個(gè)頁(yè)面的部分?jǐn)?shù)據(jù)中的一個(gè)是否表示最后頁(yè)面。當(dāng)指示最后頁(yè)面的字符串未被寫(xiě)入在表示第2n個(gè)頁(yè)面的部分?jǐn)?shù)據(jù)或表示第(2n-1)個(gè)頁(yè)面的部分?jǐn)?shù)據(jù)中的任何一個(gè)中時(shí),cpu32在步驟s360中做出否定確定(例如,“否”),并且例程進(jìn)行到步驟s362。在步驟s362中,cpu32通過(guò)將“1”添加到指針n的當(dāng)前值來(lái)為指針n指定新值,并且例程返回到步驟s310。
當(dāng)指示最后頁(yè)面的字符串被寫(xiě)入在表示第2n個(gè)頁(yè)面的部分?jǐn)?shù)據(jù)以及表示第(2n-1)個(gè)頁(yè)面的部分?jǐn)?shù)據(jù)中的一個(gè)中時(shí),cpu32在步驟s360中做出肯定確定(例如,“是”),并且例程進(jìn)行到步驟s370。在在步驟s360中做出肯定確定(例如,“是”)的情況下時(shí),第一集合的雙面整理打印已完成。當(dāng)指針m的當(dāng)前值等于由集合量信息表示的集合量m(步驟s370中的是)時(shí),cpu32結(jié)束圖7的雙面整理打印處理。當(dāng)指針m的當(dāng)前值小于由集合量信息表示的集合量m(例如,步驟s370中的否)時(shí),在步驟s372中,cpu32通過(guò)將“1”添加到指針m的當(dāng)前值來(lái)為指針m指定新值并且將指針n的值初始化為“1”。然后,例程返回到步驟s310。因此,包括第二集合的一個(gè)或多個(gè)集合的雙面整理打印被執(zhí)行。
(雙面整理打印的特定示例(總頁(yè)數(shù)為偶數(shù)))
參考圖8,將描述通過(guò)圖7的雙面整理打印處理所實(shí)現(xiàn)的特定示例。圖8圖示圖像文件if的頁(yè)面的總數(shù)目是偶數(shù)的情況。在t300中,打印機(jī)10向服務(wù)器100發(fā)送包括頁(yè)碼“2”的請(qǐng)求(例如,步驟s310)。在t302中,打印機(jī)10從服務(wù)器100接收部分?jǐn)?shù)據(jù)(p2)(例如,步驟s312和s314)。在t304中,打印機(jī)10執(zhí)行打印(p2)(例如,步驟s330和s332)并且釋放部分?jǐn)?shù)據(jù)區(qū)域40(例如,步驟s334)。然后,在t306中,打印機(jī)10斷開(kāi)并重新建立與服務(wù)器100的tcp連接(例如,步驟s340和s342)。
t300、t302和t304可以是包括待從服務(wù)器100請(qǐng)求的頁(yè)碼的指定、表示單個(gè)頁(yè)面的部分?jǐn)?shù)據(jù)的傳輸?shù)恼?qǐng)求、打印以及部分?jǐn)?shù)據(jù)區(qū)域40的釋放的一套處理。打印機(jī)10針對(duì)一個(gè)集合通過(guò)執(zhí)行重復(fù)處理來(lái)對(duì)n/2張打印紙執(zhí)行雙面整理打印。在重復(fù)處理中,一套處理被重復(fù),直到表示n個(gè)頁(yè)面的圖像中的全部的打印完成為止,同時(shí)每當(dāng)一套處理完成時(shí),執(zhí)行與服務(wù)器100的tcp連接的斷開(kāi)和重新建立。也就是說(shuō),打印機(jī)10執(zhí)行包括用于打印表示第一頁(yè)面的圖像的t310、t312和t314的一套處理(例如,步驟s350以及包括在步驟s352中的步驟s312至s334)。在t316中,打印機(jī)10斷開(kāi)并重新建立與服務(wù)器100的tcp連接(例如,包括在步驟s352中的步驟s340以及s342)。繼這個(gè)之后,打印機(jī)10執(zhí)行包括用于打印表示第四頁(yè)面的圖像的t320、t322和t324的一套處理(例如,步驟s310至s334)。在t326中,打印機(jī)10斷開(kāi)并重新建立與服務(wù)器100的tcp連接(例如,步驟s340和s342)。
以類(lèi)似方式,打印機(jī)10執(zhí)行包括用于打印表示第n個(gè)頁(yè)面的圖像的t330、t332和t334的一套處理(例如,步驟s310至s334)。在t336中,打印機(jī)10斷開(kāi)并重新建立與服務(wù)器100的tcp連接(例如,步驟s340和s342)。在此一套處理中,打印機(jī)10接收指示最后頁(yè)面的字符串被寫(xiě)入的部分?jǐn)?shù)據(jù)。然而,打印機(jī)10再一次執(zhí)行包括用于打印表示第(n-1)個(gè)頁(yè)面的圖像的t340、t342和t344的一套處理(例如,步驟s350以及包括在步驟s352中的步驟s312至s334)。在t346中,打印機(jī)10斷開(kāi)并重新建立與服務(wù)器100的tcp連接(例如,包括在步驟s352中的步驟s340以及s342)。因此,重復(fù)處理的一個(gè)循環(huán)(例如,t300至t346)完成并且針對(duì)一個(gè)集合的n/2張打印紙上的雙面整理打印完成。
在完成重復(fù)處理的一個(gè)循環(huán)(例如,步驟s360中的是)時(shí),打印機(jī)10執(zhí)行重復(fù)處理的另一循環(huán)(例如,步驟s370中的否)。打印機(jī)10執(zhí)行重復(fù)處理總共m次。因此,針對(duì)m個(gè)集合的(n/2(四舍五入到最近的整數(shù))×m)張打印紙上的雙面整理打印完成。
如圖8中的表中所描繪,表示第一頁(yè)面至第六頁(yè)面的圖像被打印在第一打印紙至第三打印紙上并且因此第一集合的雙面整理打印完成。繼這個(gè)之后,表示第一頁(yè)面至第六頁(yè)面的圖像被再次打印在第四打印紙至第六打印紙上并且因此第二集合的雙面整理打印完成。因此,針對(duì)兩個(gè)集合的六(例如,6個(gè)頁(yè)面/2×2個(gè)集合)打印紙上的雙面整理打印完成。
(雙面整理打印的特定示例(總頁(yè)數(shù)為奇數(shù)))
圖9圖示圖像文件if的頁(yè)面的總數(shù)目是奇數(shù)的情況。t300至t326分別與圖8的t300至t326類(lèi)似。在t330'中,假定了打印機(jī)10向服務(wù)器100發(fā)送包括比圖像文件if的總頁(yè)數(shù)“n(例如,5)”大的頁(yè)碼“n+1(例如,6)”的請(qǐng)求(例如,步驟s310)。在這種情況下,打印機(jī)10從服務(wù)器100接收到ng信號(hào)(例如,步驟s311中的否),并且輸送打印紙而無(wú)需執(zhí)行打印(例如,步驟s345)。在t336'中,打印機(jī)10斷開(kāi)并重新建立與服務(wù)器100的tcp連接(例如,步驟s340和s342)。繼這個(gè)之后,打印機(jī)10執(zhí)行包括t340'、t342'和t344'的一套處理(例如,步驟s350以及包括在步驟s352中的步驟s312至s334)。在t346'中,服務(wù)器100斷開(kāi)并重新建立與服務(wù)器100的tcp連接(例如,包括在步驟s352中的步驟s340以及s342)。因此,重復(fù)處理的一個(gè)循環(huán)(例如,t300至t346')完成并且針對(duì)一個(gè)集合的n/2(四舍五入到最近的整數(shù))打印紙上的雙面整理打印完成。
在完成重復(fù)處理的一個(gè)循環(huán)(例如,步驟s360中的是)時(shí),打印機(jī)10執(zhí)行重復(fù)處理的另一循環(huán)(例如,步驟s370中的否)。打印機(jī)10執(zhí)行重復(fù)處理m次。因此,針對(duì)m個(gè)集合的(n/2(四舍五入到最近的整數(shù))×m)上的雙面整理打印完成。
在圖9中,表示出打印張數(shù)與表示待打印在對(duì)應(yīng)的打印紙上的圖像的頁(yè)碼之間的對(duì)應(yīng)。該表示出在圖像文件if包括表示五個(gè)頁(yè)面的圖像并且圖像將在兩個(gè)集合中被打印的情況下的對(duì)應(yīng)。圖11中所描繪的表示出類(lèi)似的情況。如圖9中的表中所描繪,表示第一頁(yè)面至第五頁(yè)面的圖像被打印在第一打印紙至第三打印紙上并且因此第一集合的雙面整理打印完成。繼這個(gè)之后,表示第一頁(yè)面至第五頁(yè)面的圖像被再次打印在第四打印紙至第六打印紙上并且因此第二集合的雙面整理打印完成。第三打印紙和第六打印紙?jiān)谒鼈兊牡诙嫔暇哂斜硎镜谖屙?yè)面的圖像,同時(shí)在它們的第一面上沒(méi)有圖像。因此,針對(duì)兩個(gè)集合的六(例如,5個(gè)頁(yè)面/2(四舍五入到最近的整數(shù))×2個(gè)集合)打印紙上的雙面整理打印完成。
假定了打印機(jī)10被配置成減少表示單個(gè)頁(yè)面的一個(gè)部分?jǐn)?shù)據(jù)的大小以及表示單個(gè)頁(yè)面的另一部分?jǐn)?shù)據(jù)的大小并且將兩個(gè)減少的數(shù)據(jù)作為一條部分?jǐn)?shù)據(jù)存儲(chǔ)在部分?jǐn)?shù)據(jù)區(qū)域40中。在這種情況下,打印機(jī)10接收表示第一頁(yè)面的部分?jǐn)?shù)據(jù)。響應(yīng)于此,打印機(jī)10減少所接收到的部分?jǐn)?shù)據(jù)并且將減少的數(shù)據(jù)存儲(chǔ)在部分?jǐn)?shù)據(jù)區(qū)域40中。繼這個(gè)之后,打印機(jī)10接收表示第二頁(yè)面的部分?jǐn)?shù)據(jù)。響應(yīng)于此,打印機(jī)10減少所接收到的部分?jǐn)?shù)據(jù)并且將減少的數(shù)據(jù)存儲(chǔ)在部分?jǐn)?shù)據(jù)區(qū)域40中。即便當(dāng)部分?jǐn)?shù)據(jù)區(qū)域40具有用于表示單個(gè)頁(yè)面的部分?jǐn)?shù)據(jù)的存儲(chǔ)容量時(shí),這個(gè)配置也可以使得部分?jǐn)?shù)據(jù)區(qū)域40能夠存儲(chǔ)各自表示單個(gè)頁(yè)面的兩個(gè)減少的數(shù)據(jù)。打印機(jī)10使用表示第二頁(yè)面的減少的數(shù)據(jù)來(lái)對(duì)打印紙的第一面執(zhí)行打印并且然后使用表示第一頁(yè)面的減少的數(shù)據(jù)來(lái)對(duì)打印紙的第二面執(zhí)行打印。如果這個(gè)配置被采用,則打印機(jī)10可以按照頁(yè)碼的升序接收各條部分?jǐn)?shù)據(jù)。因此,可能不必重復(fù)一套處理,并且還可能不必每當(dāng)執(zhí)行一套處理時(shí)執(zhí)行tcp連接的斷開(kāi)和重新建立。然而,因?yàn)椴糠謹(jǐn)?shù)據(jù)的大小減少了,所以使打印圖像的質(zhì)量可能劣化。為了避免圖像質(zhì)量的劣化,在該說(shuō)明性實(shí)施例中,打印機(jī)10重復(fù)一套處理并且每當(dāng)執(zhí)行一套處理時(shí)執(zhí)行tcp連接的斷開(kāi)和重新建立。因此,根據(jù)該說(shuō)明性實(shí)施例的配置可能不需要部分?jǐn)?shù)據(jù)的大小減少,由此打印機(jī)10可以打印相對(duì)高質(zhì)量的圖像。因此,在已經(jīng)為存儲(chǔ)在服務(wù)器100中的圖像文件if指定打印設(shè)定信息ps的情況下,打印機(jī)10可以適當(dāng)?shù)厥褂镁哂邢鄬?duì)較小的存儲(chǔ)容量的存儲(chǔ)器34來(lái)針對(duì)多個(gè)集合執(zhí)行雙面整理打印。
(雙面非整理打印處理)
參考圖10,將描述圖2的步驟s70中所執(zhí)行的雙面非整理打印處理。步驟s400與圖3的步驟s100類(lèi)似。在步驟s402中,cpu32執(zhí)行與圖7的步驟s310至s350中所執(zhí)行的處理類(lèi)似的處理。在步驟s404中,cpu32執(zhí)行與圖7的步驟s352(即,步驟s312至s342)中所執(zhí)行的處理類(lèi)似的處理。
當(dāng)指針m的當(dāng)前值小于由集合量信息表示的集合量m的值(例如,步驟s410中的否)時(shí),在步驟s412中,cpu32通過(guò)將“1”添加到指針m的當(dāng)前值來(lái)為指針m指定新值,并且例程返回到步驟s402。也就是說(shuō),步驟s402和s404被重復(fù)直到頁(yè)面集在與集合量m相對(duì)應(yīng)的m張打印紙中的每一個(gè)上的打印完成為止。在圖像文件if的頁(yè)面的總數(shù)目是偶數(shù)的情況下,每個(gè)頁(yè)面集包括表示連續(xù)的兩個(gè)頁(yè)面的圖像,并且同一頁(yè)面集被打印在m張打印紙上。包括連續(xù)的兩個(gè)頁(yè)面的第一頁(yè)面集被打印在m張打印紙上。隨后,包括另一連續(xù)的兩個(gè)頁(yè)面的另一頁(yè)面集被打印在另一m張打印紙上。這個(gè)打印方式被重復(fù)直到最后頁(yè)面集被打印在最后m個(gè)打印紙上為止。在圖像文件if的頁(yè)面的總數(shù)目是奇數(shù)的情況下,每個(gè)頁(yè)面集包括表示除最后頁(yè)面集以外的連續(xù)的兩個(gè)頁(yè)面的圖像。最后頁(yè)面集僅包括表示單個(gè)頁(yè)面即最后頁(yè)面的圖像。與圖像文件if的頁(yè)面的總數(shù)目是偶數(shù)的情況類(lèi)似,同一頁(yè)面集被打印在m張打印紙上。包括連續(xù)的兩個(gè)頁(yè)面的第一頁(yè)面集被打印在m張打印紙上。隨后,包括另一連續(xù)的兩個(gè)頁(yè)面的另一頁(yè)面集被打印在另一m張打印紙上。這個(gè)打印方式被重復(fù)直到最后頁(yè)面集被打印在最后m個(gè)打印紙上為止。
當(dāng)指針m的當(dāng)前值等于集合量m(例如,步驟s410中的是)時(shí),例程進(jìn)行到步驟s460。步驟s460與圖7的步驟s360類(lèi)似。當(dāng)cpu32在步驟s460中做出肯定確定(例如,“是”)時(shí),cpu32結(jié)束圖10的雙面非整理打印處理。當(dāng)cpu32在步驟s460中做出否定確定(例如,“否”)時(shí),在步驟s462中,cpu32通過(guò)將“1”添加到指針n的當(dāng)前值來(lái)為指針m指定新值并且將指針m的值初始化為“1”。然后,例程返回到步驟s402。
(雙面非整理打印的特定示例(總頁(yè)數(shù)為偶數(shù)))
參考圖11,將描述通過(guò)圖10的雙面非整理打印處理所實(shí)現(xiàn)的特定示例。圖11圖示圖像文件if的頁(yè)面的總數(shù)目是偶數(shù)的情況。t400至t416分別與圖8的t300至t316類(lèi)似。通過(guò)t400至t416,包括兩個(gè)連續(xù)的頁(yè)面的圖像的第一頁(yè)面集在第一打印紙上的打印完成。繼這個(gè)之后,打印機(jī)10執(zhí)行包括用于在第二打印紙上打印同一頁(yè)面集的t420、t422和t424的一套處理(例如,包括在步驟s402中的步驟s310至s334)。然后,打印機(jī)10斷開(kāi)并重新建立與服務(wù)器100的tcp連接(例如,包括在步驟s402中的步驟s340以及s342)。如上所述,打印機(jī)10重復(fù)一套處理2m次(例如,t400至t426)。因此,同一頁(yè)面集在m張打印紙上的打印完成。
在完成重復(fù)處理的一個(gè)循環(huán)時(shí)(例如,步驟s410中的是)時(shí),打印機(jī)10執(zhí)行重復(fù)處理的另一循環(huán)(例如,步驟s460中的否)。用于打印包括最后兩個(gè)連續(xù)的頁(yè)面的最后頁(yè)面集的t430至t446分別與圖8的t330至t346類(lèi)似。打印機(jī)10執(zhí)行重復(fù)處理總共n/2次,并且針對(duì)m個(gè)集合的(n/2×m)張打印紙上的雙面非整理打印完成。
如圖11中的表中所描繪,表示第二頁(yè)面的圖像被打印在第一張打印紙和第二張打印紙中的每一個(gè)的第一面上,并且表示第一頁(yè)面的圖像被打印在第一打印紙和第二打印紙中的每一個(gè)的第二面上。表示第四頁(yè)面的圖像被打印在第三張打印紙和第四張打印紙中的每一個(gè)的第一面上,并且表示第三頁(yè)面的圖像被打印在第三張紙和第四張紙中的每一個(gè)的第二面上。以類(lèi)似方式,表示相應(yīng)的連續(xù)頁(yè)面的另一兩個(gè)圖像被打印在另一兩張打印紙上。因此,針對(duì)兩個(gè)集合的六(例如,6個(gè)頁(yè)面/2×2個(gè)集合)打印紙上的雙面非整理打印完成。如上所述,這個(gè)配置可能不需要部分?jǐn)?shù)據(jù)的大小減少,由此打印機(jī)10可以打印相對(duì)高質(zhì)量的圖像。因此,在已經(jīng)為存儲(chǔ)在服務(wù)器100中的圖像文件if指定打印設(shè)定信息ps的情況下,打印機(jī)10可以適當(dāng)?shù)厥褂镁哂邢鄬?duì)較小的存儲(chǔ)容量的存儲(chǔ)器34來(lái)針對(duì)多個(gè)集合執(zhí)行雙面非整理打印。
(雙面非整理打印的特定示例(總頁(yè)數(shù)為奇數(shù)))
圖12圖示圖像文件if的頁(yè)面的總數(shù)目是奇數(shù)的情況。t400至t426分別與圖11的t400至t426類(lèi)似。在t430'中,假定了打印機(jī)10向服務(wù)器100發(fā)送包括比圖像文件if的總頁(yè)數(shù)“n(例如,5)”大的頁(yè)碼“n+1(例如,6)”的請(qǐng)求(例如,包括在步驟s402中的步驟s310)。在這種情況下,打印機(jī)10從服務(wù)器100接收到ng信號(hào)(例如,包括在步驟s402中的步驟s311中的否),并且輸送打印紙而無(wú)需執(zhí)行打印(例如,包括在步驟s402中的步驟s345)。在t436'中,打印機(jī)10斷開(kāi)并重新建立與服務(wù)器100的tcp連接(例如,包括在步驟s402中的步驟s340以及步驟s342)。繼這個(gè)之后,打印機(jī)10執(zhí)行包括t440'、t442'和t444'的一套處理(例如,包括在步驟s402中的步驟s350以及包括在步驟s404中的步驟s312至步驟s334)。在t446'中,服務(wù)器100斷開(kāi)并重新建立與服務(wù)器100的tcp連接(例如,包括在步驟s404中的步驟s340以及s342)。也就是說(shuō),打印機(jī)10執(zhí)行重復(fù)處理總共n/2(四舍五入到最近的整數(shù))次。因此,針對(duì)m個(gè)集合的(n/2(四舍五入到最近的整數(shù))×m)打印紙上的雙面非整理打印完成。
圖12中所圖示的表與圖11中所圖示的表類(lèi)似。然而,第五打印紙和第六打印紙?jiān)谒鼈兊牡诙嫔暇哂斜硎镜谖屙?yè)面的圖像,同時(shí)在它們的第一面上沒(méi)有打印的圖像。因此,針對(duì)兩個(gè)集合的六(5個(gè)頁(yè)面/2(四舍五入到最近的整數(shù))×2個(gè)集合)打印紙上的雙面整理打印完成。
(通過(guò)說(shuō)明性實(shí)施例獲得的效果)
根據(jù)該說(shuō)明性實(shí)施例,如圖8、圖9、圖11和圖12中所描繪,響應(yīng)于從服務(wù)器100接收到打印設(shè)定信息ps(例如,圖2中的步驟s22),打印機(jī)10重復(fù)用于使用包括在打印設(shè)定信息ps中的各種信息(例如,指示雙面打印和單面打印中的一個(gè)的信息、集合量信息以及指示整理打印和非整理打印的信息)來(lái)打印可以為表示n個(gè)頁(yè)面的圖像的一部分的表示單個(gè)頁(yè)面的圖像的一套處理。因此,這個(gè)配置可以使得打印機(jī)10不能夠在打印表示n個(gè)頁(yè)面的圖像時(shí)立刻將表示n個(gè)頁(yè)面的所有部分?jǐn)?shù)據(jù)存儲(chǔ)在部分?jǐn)?shù)據(jù)區(qū)域40中。因此,在已經(jīng)為存儲(chǔ)在服務(wù)器100中的圖像文件if指定打印設(shè)定信息ps的情況下,打印機(jī)10可以使用具有相對(duì)較小的存儲(chǔ)容量的存儲(chǔ)器34來(lái)執(zhí)行表示n個(gè)頁(yè)面的圖像的打印。
根據(jù)該說(shuō)明性實(shí)施例,如圖3、圖8和圖9中所描繪,當(dāng)打印機(jī)10已從服務(wù)器100接收到打印設(shè)定信息ps(例如,圖2中的步驟s22)并且打印設(shè)定信息ps包括指示指代多個(gè)集合的m個(gè)集合的集合量信息以及指示整理打印的信息(例如,圖2中的步驟s34中的是以及步驟s32中的是)時(shí),打印機(jī)10重復(fù)用于打印可以為表示n個(gè)頁(yè)面的圖像的一部分的表示單個(gè)頁(yè)面的圖像的一套處理。因此,這個(gè)配置可以使得打印機(jī)10不能夠在針對(duì)m個(gè)集合執(zhí)行表示n個(gè)頁(yè)面的圖像的整理打印時(shí)立刻將表示n個(gè)頁(yè)面的所有部分?jǐn)?shù)據(jù)存儲(chǔ)在部分?jǐn)?shù)據(jù)區(qū)域40中。因此,在已經(jīng)為存儲(chǔ)在服務(wù)器100中的圖像文件if指定打印設(shè)定信息ps的情況下,打印機(jī)10可以使用具有相對(duì)較小的存儲(chǔ)容量的存儲(chǔ)器34來(lái)針對(duì)m個(gè)集合執(zhí)行表示n個(gè)頁(yè)面的圖像的打印。
雖然已經(jīng)參考本公開(kāi)的特定實(shí)施例詳細(xì)地描述了本公開(kāi),但是這僅僅是示例,并且在不脫離本公開(kāi)的精神和范圍的情況下,可以在其中應(yīng)用各種改變、布置和修改。在下文中,將描述該說(shuō)明性實(shí)施例的變型。
(第一變型)
在一個(gè)示例中,部分?jǐn)?shù)據(jù)區(qū)域40可以具有用于表示少于單個(gè)頁(yè)面的頁(yè)面的部分?jǐn)?shù)據(jù)的存儲(chǔ)容量(例如,用于表示半個(gè)頁(yè)面的部分?jǐn)?shù)據(jù)的存儲(chǔ)容量)。在這種情況下,cpu32可以相繼地接收表示單個(gè)頁(yè)面的部分?jǐn)?shù)據(jù)。例如,在圖7的步驟s310中,cpu32可以發(fā)送請(qǐng)求表示第二頁(yè)面的頁(yè)碼的請(qǐng)求。在這種情況下,在步驟s312和s314中,cpu32可以接收并存儲(chǔ)表示第二頁(yè)面的第一半的部分?jǐn)?shù)據(jù),并且在步驟s330和s332中,cpu32可以使用該部分?jǐn)?shù)據(jù)來(lái)執(zhí)行打印。在步驟s334中,cpu32可以釋放部分?jǐn)?shù)據(jù)區(qū)域40。繼這個(gè)之后,cpu32可以再次發(fā)送表示第二頁(yè)面的頁(yè)碼的請(qǐng)求。響應(yīng)于此,盡管cpu32再次接收到表示第二頁(yè)面的第一半的部分?jǐn)?shù)據(jù),然而cpu32可以放棄表示第二頁(yè)面的第一半的部分?jǐn)?shù)據(jù)。與此相反,cpu32可以接收并存儲(chǔ)表示第二頁(yè)面的第二半的部分?jǐn)?shù)據(jù),使用表示第二頁(yè)面的第二半的部分?jǐn)?shù)據(jù)來(lái)執(zhí)行打印,并且釋放部分?jǐn)?shù)據(jù)區(qū)域40。在除圖7的打印處理外的其它打印處理中,可以執(zhí)行類(lèi)似的處理。在此變型示例中,“部分?jǐn)?shù)據(jù)”可以表示頁(yè)面或少于單個(gè)頁(yè)面的一部分。在另一示例中,部分?jǐn)?shù)據(jù)區(qū)域40可以具有用于具有比表示單個(gè)頁(yè)面的部分?jǐn)?shù)據(jù)更大的大小的部分?jǐn)?shù)據(jù)的存儲(chǔ)容量。在這種情況下,“部分?jǐn)?shù)據(jù)”可以表示具有比表示單個(gè)頁(yè)面的圖像更大的大小的圖像(例如,“部分?jǐn)?shù)據(jù)”可以表示表示兩個(gè)頁(yè)面的圖像)。
(第二變型)
在該說(shuō)明性實(shí)施例中,響應(yīng)于接收到包括頁(yè)碼的請(qǐng)求,服務(wù)器100向打印機(jī)10相繼地發(fā)送與包括在該請(qǐng)求中的頁(yè)碼相對(duì)應(yīng)的部分?jǐn)?shù)據(jù),以及與一個(gè)或多個(gè)后續(xù)頁(yè)碼相對(duì)應(yīng)的一個(gè)或多個(gè)后續(xù)部分?jǐn)?shù)據(jù)。然而,在變型中,例如,響應(yīng)于接收到包括頁(yè)碼的請(qǐng)求,服務(wù)器100可以向打印機(jī)10發(fā)送僅與包括在該請(qǐng)求中的頁(yè)碼相對(duì)應(yīng)的部分?jǐn)?shù)據(jù)。在這種情況下,例如,這個(gè)配置可以使得cpu32不能夠在圖3的步驟s120中檢測(cè)到部分?jǐn)?shù)據(jù)的最后一部分。當(dāng)cpu32在圖3的步驟s140中做出否定確定(例如,“否”)時(shí),cpu32可以向服務(wù)器100發(fā)送包括下一個(gè)頁(yè)碼的另一請(qǐng)求,并且例程進(jìn)行到步驟s112。在此變型中,cpu32可能不必執(zhí)行例如圖7的步驟s340和s342。
(第三變型)
例如,在圖7的步驟s310以及類(lèi)似的步驟中,不是向服務(wù)器100發(fā)送包括頁(yè)碼的請(qǐng)求,而是cpu32可以向服務(wù)器100發(fā)送包括指示由頁(yè)碼識(shí)別的部分?jǐn)?shù)據(jù)的數(shù)據(jù)起始位置的信息(例如,從圖像文件if的頂部起的字節(jié)的數(shù)目)的請(qǐng)求。在此變型中,指示數(shù)據(jù)起始位置的信息是“識(shí)別信息”的示例。
(第四變型)
打印設(shè)定信息ps還可以包括其它信息,例如,指示降序打印的執(zhí)行的降序打印信息以及指示打印頁(yè)面范圍的范圍信息。在這種情況下,例如,在圖7的步驟s310以及類(lèi)似的步驟中,cpu32可以根據(jù)降序打印信息和范圍信息來(lái)指定待向服務(wù)器100請(qǐng)求的頁(yè)碼。在此變型中,降序打印信息和范圍信息中的每一個(gè)是“次序信息”的示例。
(第五變型)
在該說(shuō)明性實(shí)施例中,在雙面整理打印中,打印引擎18按照此次序在第一打印紙的第一面上打印表示第二頁(yè)面的圖像,在第一打印紙的第二面上打印表示第一頁(yè)面的圖像,在第二打印紙的第一面上打印表示第四頁(yè)面的圖像,并且在第二打印紙的第二面上打印表示第三頁(yè)面的圖像。然而,在第五變型的一個(gè)示例中,打印引擎18可以按照另一次序執(zhí)行打印。例如,打印引擎18可以按照此次序在第一打印紙的第一面上打印表示第二頁(yè)面的圖像,在第二打印紙的第一面上打印表示第四頁(yè)面的圖像,在第一打印紙的第二面上打印表示第一頁(yè)面的圖像,并且在第二打印紙的第二面上打印表示第三頁(yè)面的圖像。也就是說(shuō),在雙面整理打印中,打印機(jī)10可以按照為第二頁(yè)面、第四頁(yè)面、第一頁(yè)面、第三頁(yè)面等的次序接收到表示相應(yīng)頁(yè)面的各條部分?jǐn)?shù)據(jù)。在另一示例中,打印引擎18可以按照此次序在第一打印紙的第一面上打印表示第一頁(yè)面的圖像,在第一打印紙的第二面上打印表示第二頁(yè)面的圖像,在第二打印紙的第一面上打印表示第三頁(yè)面的圖像,并且在第二打印紙的第二面上打印表示第四頁(yè)面的圖像。也就是說(shuō),在雙面整理打印中,打印機(jī)10可以按照為第一頁(yè)面、第二頁(yè)面、第三頁(yè)面、第四頁(yè)面等的次序接收到表示相應(yīng)頁(yè)面的各條部分?jǐn)?shù)據(jù)。也就是說(shuō),在“指定處理”中,識(shí)別信息的指定次序可以與該說(shuō)明性實(shí)施例中所使用的次序不同。
(第六變型)
在執(zhí)行圖7的打印處理之前,cpu32可以確定待請(qǐng)求的頁(yè)碼的次序。在確定之后,cpu32向服務(wù)器發(fā)送具有頁(yè)碼的次序的請(qǐng)求。例如,在圖8中所圖示的表中,cpu32可以確定例如為2、1、4、3等的請(qǐng)求次序。不是使用指針m和n,而是每當(dāng)cpu32向服務(wù)器100發(fā)送請(qǐng)求時(shí),cpu32可以根據(jù)所確定的請(qǐng)求次序來(lái)指定待請(qǐng)求的頁(yè)碼。根據(jù)所確定的次序來(lái)指定頁(yè)碼是“指定處理”的另一示例。
(第七變型)
例如,在圖7的步驟s320以及類(lèi)似的步驟中,cpu32可以監(jiān)視存儲(chǔ)在部分?jǐn)?shù)據(jù)區(qū)域40中的數(shù)據(jù)的量達(dá)到閾值的定時(shí)(例如,在部分?jǐn)?shù)據(jù)區(qū)域40的狀態(tài)改變?yōu)榇鎯?chǔ)器滿(mǎn)狀態(tài)的定時(shí)處)。當(dāng)部分?jǐn)?shù)據(jù)區(qū)域40的狀態(tài)已改變?yōu)榇鎯?chǔ)器滿(mǎn)狀態(tài)時(shí),cpu32可以在步驟s320中做出肯定確定(例如,“是”)。也就是說(shuō),可能不必執(zhí)行“監(jiān)視頁(yè)面結(jié)束數(shù)據(jù)的接收”。
(第八變型)
可以像在下面所描述的那樣執(zhí)行存儲(chǔ)器34的部分?jǐn)?shù)據(jù)區(qū)域40和打印數(shù)據(jù)區(qū)域42的釋放(例如,圖3的步驟s134、圖5的步驟s246以及圖7的步驟s334)??梢栽试S部分?jǐn)?shù)據(jù)區(qū)域40和打印數(shù)據(jù)區(qū)域42中的每一個(gè)始終將數(shù)據(jù)覆寫(xiě)在其中。cpu32可以通過(guò)接收部分?jǐn)?shù)據(jù)并且將該部分?jǐn)?shù)據(jù)存儲(chǔ)在部分?jǐn)?shù)據(jù)區(qū)域40中來(lái)釋放部分?jǐn)?shù)據(jù)區(qū)域40(例如,圖7的步驟s314)。也就是說(shuō),在第八變型中,可以同時(shí)執(zhí)行針對(duì)表示頁(yè)面的部分?jǐn)?shù)據(jù)的“釋放處理”以及針對(duì)表示后續(xù)頁(yè)面的部分?jǐn)?shù)據(jù)的“存儲(chǔ)處理”。
(第九變型)
在一個(gè)示例中,打印機(jī)10可以?xún)H能夠執(zhí)行整理打印,即,打印機(jī)10可能不能執(zhí)行非整理打印。在另一示例中,打印機(jī)10可以?xún)H能夠執(zhí)行非整理打印,即,打印機(jī)10可能不能執(zhí)行整理打印。在以上無(wú)論哪一個(gè)示例中,打印設(shè)定信息ps可能不必包括指示整理打印和非整理打印中的一個(gè)的信息。在再一個(gè)示例中,打印機(jī)10可以?xún)H能夠執(zhí)行單面打印,即,打印機(jī)10可能不能執(zhí)行雙面打印。在這種情況下,打印設(shè)定信息ps可能不必包括指示雙面打印和單面打印中的一個(gè)的信息。在又一個(gè)示例中,當(dāng)為打印機(jī)10的紙排出方式指定了“面朝上”時(shí),打印機(jī)10可以按照頁(yè)碼的降序請(qǐng)求表示相應(yīng)頁(yè)面的多條部分?jǐn)?shù)據(jù)的傳輸。當(dāng)為打印機(jī)10的紙排出方式指定了“面朝下”時(shí),打印機(jī)10可以按照頁(yè)碼的升序請(qǐng)求表示相應(yīng)頁(yè)面的多條部分?jǐn)?shù)據(jù)的傳輸?!懊娉稀笨梢员硎敬蛴〖埵前雌浯蛴∶婷嫦蛏隙懦龅?。“面朝下”可以表示打印紙是按其打印面面向下而排出的。如上所述,打印機(jī)10可以能夠根據(jù)紙排出方式確定待請(qǐng)求的頁(yè)碼。因此,打印設(shè)定信息ps可能不必包括升序和降序中的一個(gè)的信息。如上所述,打印設(shè)定信息ps可能不必包括指示整理打印和非整理打印中的一個(gè)的信息、指示雙面打印和單面打印中的一個(gè)的信息,也不必包括指示升序和降序中的一個(gè)的信息。一般地,“打印設(shè)定信息”可能不必包括次序信息。
(第十變型)
在一個(gè)示例中,用戶(hù)可能不能夠在圖像文件if被提交給服務(wù)器100時(shí)指定集合量。在這種情況下,打印設(shè)定信息ps可能不必包括集合量信息,并且打印機(jī)10可以?xún)H打印一個(gè)集合。在另一示例中,用戶(hù)可以能夠在圖像文件if被提交給服務(wù)器100時(shí)指定集合量。在用戶(hù)指定指示多個(gè)集合的集合量的情況下,打印設(shè)定信息ps可以包括集合量信息。在用戶(hù)指定指示單個(gè)集合的集合量的情況下,打印設(shè)定信息ps可能不包括集合量信息。
(第十一變型)
在該說(shuō)明性實(shí)施例中,圖2至圖12中的每一個(gè)的處理由執(zhí)行存儲(chǔ)在存儲(chǔ)器34中的程序36的打印機(jī)10的cpu32來(lái)實(shí)現(xiàn)。然而,在第十一變型中,例如,圖2至圖12的處理中的至少一個(gè)可以由其它硬件(例如,邏輯電路)來(lái)實(shí)現(xiàn)。
另外,本說(shuō)明書(shū)和附圖中所描述的技術(shù)要素單獨(dú)或者按照各種組合展示技術(shù)可用性,并且不限于在提交本公開(kāi)時(shí)的權(quán)利要求中的那些要素。此外,在本說(shuō)明書(shū)或附圖中作為示例所描述的技術(shù)可以同時(shí)實(shí)現(xiàn)多個(gè)目的,并且通過(guò)實(shí)現(xiàn)這些目的中的任一個(gè)而具有技術(shù)實(shí)用性。