N3與網(wǎng)絡(luò)打印機(jī)2進(jìn)行通信的接口。
[0032]控制部11 以 CPU (Central Processing Unit:中央處理單元)、ROM (Read OnlyMemory:只讀存儲(chǔ)器)、以及RAM (Random Access Memory:隨機(jī)存儲(chǔ)器)為主要的構(gòu)成部件。CPU執(zhí)行ROM所存儲(chǔ)的程序,控制客戶端I。ROM存儲(chǔ)CPU執(zhí)行各種處理的控制程序、控制數(shù)據(jù)。RAM作為CPU進(jìn)行各種處理的工作區(qū)而被利用。在存儲(chǔ)部12存儲(chǔ)有應(yīng)用程序、各種數(shù)據(jù)。例如,用戶使用應(yīng)用程序?qū)?yīng)該打印成為打印對(duì)象的數(shù)據(jù)的網(wǎng)絡(luò)打印機(jī)2發(fā)出打印請(qǐng)求。此外,雖然詳細(xì)內(nèi)容后述,但在本實(shí)施方式中,來自客戶端I的打印請(qǐng)求通過訪問網(wǎng)絡(luò)打印機(jī)2所具有的文件服務(wù)器32 (文件系統(tǒng)35)來實(shí)現(xiàn)。另外,在本實(shí)施方式中,對(duì)打印PDF文件作為打印對(duì)象的情況進(jìn)行說明。
[0033]網(wǎng)絡(luò)打印機(jī)2具備信息處理部21、儲(chǔ)存設(shè)備22、打印機(jī)構(gòu)23 (打印部)、以及網(wǎng)絡(luò)接口 24(通信部。以下,記作“網(wǎng)絡(luò)I/F24”)。網(wǎng)絡(luò)I/F24是經(jīng)由LAN3與客戶端I進(jìn)行通信的接口。
[0034]信息處理部21以CPU、ROM、RAM為主要的構(gòu)成部件。ROM存儲(chǔ)CPU執(zhí)行各種處理的控制程序、控制數(shù)據(jù)。RAM作為CPU進(jìn)行各種處理的工作區(qū)被利用。CPU通過執(zhí)行ROM所存儲(chǔ)的程序,從而實(shí)現(xiàn)網(wǎng)絡(luò)設(shè)備代理31、文件服務(wù)器32、儲(chǔ)存控制器33、以及打印機(jī)控制器34的功能。
[0035]文件服務(wù)器32對(duì)客戶端I提供針對(duì)儲(chǔ)存設(shè)備22所儲(chǔ)存的文件夾、文件等信息的訪問,通過文件系統(tǒng)35(管理部)的功能(文件夾創(chuàng)建/刪除、文件寫入/讀出/削除、訪問權(quán)(屬性)的設(shè)定、排他控制等)進(jìn)行文件夾、文件的管理(詳細(xì)而言,包含文件夾名、文件名以及訪問控制信息的文件、文件夾的屬性、文件的保存信息等的管理)。儲(chǔ)存控制器33與文件服務(wù)器32 (文件系統(tǒng)35)進(jìn)行通信,控制儲(chǔ)存設(shè)備22。儲(chǔ)存設(shè)備22由HDD (硬盤驅(qū)動(dòng)器)、SD卡、RAM磁盤等構(gòu)成,作為文件服務(wù)器32的存儲(chǔ)區(qū)域來使用。
[0036]網(wǎng)絡(luò)設(shè)備代理31控制經(jīng)由文件服務(wù)器32 (文件系統(tǒng)35)的打印處理。具體而言,網(wǎng)絡(luò)設(shè)備代理31在文件服務(wù)器32內(nèi)創(chuàng)建打印控制用的文件夾(以下,稱為“打印用文件夾”),并通過在該打印用文件夾內(nèi)的文件的讀寫,由客戶端I控制基于打印請(qǐng)求的打印處理。另外,網(wǎng)絡(luò)設(shè)備代理31具有PDF展開引擎36以及打印機(jī)驅(qū)動(dòng)程序37,使用這些將被寫入打印用文件夾內(nèi)的文件(PDF文件)展開,并生成轉(zhuǎn)換為能夠通過打印機(jī)構(gòu)23處理的形式的打印數(shù)據(jù)。即,在本實(shí)施方式的打印系統(tǒng)SYl中,網(wǎng)絡(luò)打印機(jī)2(網(wǎng)絡(luò)設(shè)備代理31)具備與自身的打印機(jī)構(gòu)23對(duì)應(yīng)的打印機(jī)驅(qū)動(dòng)程序37即可,成為不需要客戶端I的每一種OS的設(shè)備驅(qū)動(dòng)程序的結(jié)構(gòu)。
[0037]打印機(jī)控制器34基于由網(wǎng)絡(luò)設(shè)備代理31生成的打印數(shù)據(jù)來控制打印機(jī)構(gòu)23,執(zhí)行打印。打印機(jī)構(gòu)23包括紙張輸送機(jī)構(gòu)、打印頭、紙張切斷機(jī)構(gòu)、以及各種傳感器、暫時(shí)存儲(chǔ)打印數(shù)據(jù)的接收緩存、存儲(chǔ)字體數(shù)據(jù)的字體存儲(chǔ)器、存儲(chǔ)打印機(jī)的設(shè)定信息的設(shè)定存儲(chǔ)器等,并在打印機(jī)控制器34的控制下進(jìn)行打印動(dòng)作。
[0038]接下來,參照?qǐng)D2的流程圖,對(duì)打印系統(tǒng)SYl中的打印處理順序進(jìn)行說明。如上述那樣,本實(shí)施方式的打印處理通過從客戶端I對(duì)網(wǎng)絡(luò)打印機(jī)2的文件服務(wù)器32 (文件系統(tǒng)35)的訪問來實(shí)現(xiàn)。
[0039]首先,若網(wǎng)絡(luò)打印機(jī)2 (CPU)與網(wǎng)絡(luò)(LAN3)連接并接通電源,則通過網(wǎng)絡(luò)設(shè)備代理31在文件服務(wù)器32內(nèi)創(chuàng)建受理來自客戶端I的打印請(qǐng)求(處理請(qǐng)求)的打印用文件夾(S01,文件夾創(chuàng)建部)。此時(shí),網(wǎng)絡(luò)設(shè)備代理31使用文件系統(tǒng)35的功能,對(duì)使用客戶端I的每位用戶設(shè)定針對(duì)打印用文件夾的訪問權(quán)(是否允許對(duì)打印用文件夾進(jìn)行訪問)(訪問權(quán)設(shè)定部)。換句話說,根據(jù)是否能夠訪問打印用文件夾,來設(shè)定是否允許利用網(wǎng)絡(luò)打印機(jī)2的打印。此外,打印用文件夾也可以作為全部的客戶端I或者全部的用戶共用的文件夾來創(chuàng)建,也可以按照每個(gè)客戶端I或者每個(gè)用戶獨(dú)立地創(chuàng)建。
[0040]接下來,在客戶端I(CPU)對(duì)網(wǎng)絡(luò)打印機(jī)2進(jìn)行打印請(qǐng)求的情況下,將表示打印請(qǐng)求的文件(處理請(qǐng)求信息。以下,稱為“打印請(qǐng)求文件”)寫入在文件服務(wù)器32內(nèi)創(chuàng)建的打印用文件夾(S02)。在這里,在對(duì)操作客戶端I的用戶沒有打印允許的情況下(在通過上述的訪問權(quán)的設(shè)定而針對(duì)打印用文件夾的訪問被設(shè)定為不允許的情況下),拒絕針對(duì)打印用文件夾的打印請(qǐng)求文件的寫入。此外,在打印請(qǐng)求文件中標(biāo)有能夠辨別進(jìn)行打印請(qǐng)求的用戶以及打印任務(wù)的文件名。例如,在使用客戶端I的用戶的識(shí)別信息(用戶ID)是“Userl”,所請(qǐng)求的打印任務(wù)是“Jobl”的情況下,打印請(qǐng)求文件的文件名為“Userljobl.req”。
[0041]接下來,若網(wǎng)絡(luò)打印機(jī)2通過網(wǎng)絡(luò)設(shè)備代理31檢測(cè)到在打印用文件夾中寫入有打印請(qǐng)求文件(例如,Userljobl.req)(打印請(qǐng)求檢測(cè)部,檢測(cè)部),則判定是否是能夠打印的狀態(tài)。而且,在是能夠打印的狀態(tài)的情況下,創(chuàng)建具有能夠進(jìn)行打印用的寫入的文件尺寸,并將文件的后綴設(shè)定為規(guī)定的后綴(在這里,為“rdy”)的響應(yīng)文件(Userljobl.rdy)。然后,用創(chuàng)建的響應(yīng)文件(Userjobl.rdy)來置換打印請(qǐng)求文件(Userljobl.req) (S03,響應(yīng)置換部、處理執(zhí)行部)。
[0042]此時(shí),在從多個(gè)用戶同時(shí)發(fā)來打印請(qǐng)求的情況下(在寫入有多個(gè)打印請(qǐng)求文件的情況下),對(duì)其中被允許的一個(gè)打印請(qǐng)求文件進(jìn)行S03的處理,在針對(duì)該打印請(qǐng)求文件的一定的處理完成后,對(duì)下一個(gè)打印請(qǐng)求文件進(jìn)行相同的處理。即,網(wǎng)絡(luò)設(shè)備代理31進(jìn)行來自客戶端I的打印請(qǐng)求的調(diào)度。該調(diào)度由規(guī)定的算法來決定,例如,對(duì)打印請(qǐng)求文件按照寫入的順序進(jìn)行處理。
[0043]接下來,若客戶端I在打印用文件夾內(nèi)檢測(cè)出被網(wǎng)絡(luò)打印機(jī)2(網(wǎng)絡(luò)設(shè)備代理31)置換后的響應(yīng)文件(Userljobl.rdy),則用實(shí)際作為打印對(duì)象的PDF文件(例如“UserlJobl.pdf”,打印對(duì)象文件(打印對(duì)象信息))來置換該響應(yīng)文件(S04)。
[0044]接下來,若網(wǎng)絡(luò)打印機(jī)2通過網(wǎng)絡(luò)設(shè)備代理31在打印用文件夾內(nèi)檢測(cè)出PDF文件(UserJobl.pdf)(打印對(duì)象檢測(cè)部、處理執(zhí)行部),則通過PDF展開引擎36以及打印機(jī)驅(qū)動(dòng)程序37將該P(yáng)DF文件展開并生成打印數(shù)據(jù)(S05,打印數(shù)據(jù)生成部、處理執(zhí)行部)。然后,網(wǎng)絡(luò)設(shè)備代理31將所生成的打印數(shù)據(jù)發(fā)送至打印機(jī)控制器34,打印機(jī)控制器34基于打印數(shù)據(jù)使打印機(jī)構(gòu)23動(dòng)作來執(zhí)行打印(S06)。
[0045]若打印處理結(jié)束,則網(wǎng)絡(luò)設(shè)備代理31將打印用文件夾內(nèi)的PDF文件置換為寫入了打印結(jié)果狀態(tài)的文件(例如“Userljobl.rlt”,以下,稱為“打印結(jié)果文件”)(S07,打印結(jié)果通知部、處理結(jié)果通知部)。作為該打印結(jié)果狀態(tài),寫入打印處理是否成功(正常結(jié)束)、以及在打印處理失敗(異常結(jié)束)的情況下的錯(cuò)誤信息(例如,沒有紙張等信息)。通過該打印結(jié)果文件,能夠?qū)蛻舳薎 (用戶)通知打印結(jié)果。接下來,客戶端I參照打印結(jié)果文件(Userljobl.rlt),若是正常結(jié)束則刪除該文件并結(jié)束一系列的打印處理。另一方面,若是異常結(jié)束,則由用戶根據(jù)打印結(jié)果文件的內(nèi)容進(jìn)行錯(cuò)誤處理(S08)。
[0046]此外,在客戶端I對(duì)打印用文件夾寫入PDF文件(打印對(duì)象文件)的中途,因其他的打印任務(wù)而產(chǎn)生了沒有紙張等錯(cuò)誤的情況下,在同一文件夾上(寫入有PDF文件的文件夾上)寫入表示錯(cuò)誤的打印結(jié)果文件來進(jìn)行通知。此時(shí),通過在接受了錯(cuò)誤的客戶端I側(cè)中止TOF文件的寫入(將PDF文件從打印用文件夾中刪除),能夠中止打印。
[0047]如以上說明的那樣,根據(jù)第一實(shí)施方式,在客戶端I利用網(wǎng)絡(luò)打印機(jī)2的情況下,通過對(duì)在網(wǎng)絡(luò)打印機(jī)2的文件服務(wù)器32內(nèi)創(chuàng)建的打印用文件夾寫入文件能夠執(zhí)行打印處理。另外,由于網(wǎng)絡(luò)打印機(jī)2將打印結(jié)果狀態(tài)作為打印結(jié)果文件寫入打印用文件夾,所以客戶端1(用戶)能夠訪問打印用文件夾內(nèi)的打印結(jié)果文件來獲取打印結(jié)果(例如,打印成功/打印失敗時(shí)的錯(cuò)誤信息等)。即,由