本公開的一些方面涉及在計算機上實現的致使打印機執行打印操作的方法和根據來自計算機的指令來執行打印操作的打印機。
背景技術:
已經提出了計算機程序,該計算機程序被配置成在指示經由通信網絡連接到計算機的打印機執行打印操作之前指示該打印機執行預打印操作,以使得打印操作的質量得以保證。例如,在日本專利臨時公開no.h11-5350a(下文中,被稱為專利文獻1)中,由操作系統調用的程序響應于打印機的輸出端口處于就緒狀態并且從將最新數據發送到打印機的逝去時間大于或者等于所定義時間的事實,向打印機發送執行預打印操作的自動喚醒命令。
技術實現要素:
然而,專利文獻1中描述的程序響應于滿足上述條件的事實而向打印機發送自動喚醒命令,而不管實際上是否指示打印機執行打印操作。也就是說,即使當打印機實際上不執行打印操作時,打印機也有可能執行預打印操作。在這種情況下,引起的問題是,墨水和電力被浪費地消耗掉。
本公開的一些方面的有利之處在于,其提供了能夠讓打印機執行具有適宜操作內容的預打印操作的、在計算機上實現的至少一種方法,和根據來自計算機的指令來執行預打印操作的打印機。
根據本公開的一些方面,提供了一種在具有通信接口的計算機上實現的方法,所述方法包括:執行打印指令接收處理,所述打印指令接收處理包括從所述計算機的操作系統接收打印指令,所述打印指令指示用戶輸入了指令,所述指令用于指令打印機根據所述用戶所指定的執行條件來執行打印操作;響應于在所述打印指令接收處理中接收到所述打印指令,執行準備指令處理,所述準備指令處理包括經由所述通信接口向所述打印機發送準備指令信息,所述準備指令信息包括指示特定執行條件的特定條件信息,所述準備指令信息是用于指令執行至少一個預打印操作中的至少一部分的信息,所述至少一個預打印操作是由所述打印機執行以在打印操作中對具有特定質量的圖像進行記錄,所述特定執行條件是改變所述至少一個預打印操作的操作內容的執行條件;響應于執行所述準備指令處理,基于所述用戶指定的內容數據,執行包括生成作為所述打印操作的對象的打印數據的生成處理;以及執行包括經由所述通信接口向所述打印機發送打印指令信息的打印指令處理,所述打印指令信息是用于指令對所述生成處理所生成的所述打印數據根據所述執行條件來執行所述打印操作的信息。根據上述配置,由于在打印指令信息之前發送包括特定條件信息的準備指令信息,因此變得可以致使打印機執行其操作內容根據特定條件信息而變化的預打印操作,使得在接收到打印指令信息之前,具有適宜操作內容的預打印操作被執行。另外,由于在打印機執行預打印操作時生成打印數據,因此變得可以縮短fpot(firstprintouttime,首次打印的完成時間),fpot為從輸入用于打印操作的執行指令直到初始紙張從打印機中被排出而而逝去的所需時間。
根據本公開的一些方面,提供了一種打印機,所述打印機包括:操作單元,其被配置為執行根據執行條件將圖像記錄在紙張上的打印操作,并且執行用于在所述打印操作中將具有特定質量的圖像記錄在所述紙張上的至少一個預打印操作;通信接口;以及控制裝置,其被配置為執行準備指令處理,所述準備指令處理包括經由所述通信接口從信息處理終端接收準備指令信息,所述準備指令信息指令執行所述至少一個預打印操作中的至少一部分,所述準備指令信息包括指示特定執行條件的特定條件信息,所述特定執行條件是改變所述至少一個預打印操作的操作內容的執行條件。所述控制裝置被進一步配置為:響應于在所述準備指令接收處理中接收到所述準備指令信息,執行預打印處理,所述預打印處理包括致使所述操作單元執行其操作內容與所述特定執行條件相符合的所述至少一個預打印操作;執行打印指令接收處理,所述打印指令接收處理包括經由所述通信接口從所述信息處理終端接收打印指令信息,所述打印指令信息指令根據所述執行條件來執行所述打印操作;響應于在所述打印指令接收處理中接收到所述打印指令信息,執行包括確定是否已經執行所述至少一個預打印操作的確定處理;以及響應于在所述確定處理中確定已經執行了所述至少一個預打印操作,執行打印處理,所述打印處理包括致使所述操作單元執行所述打印指令信息所指示的所述打印操作。
根據上述配置,由于打印機根據準備指令信息中包括的特定條件信息來執行預打印操作,因此變得可以執行其操作內容根據特定條件信息而變化的預打印操作,使得在接收到打印指令信息之前,執行具有適宜操作內容的預打印操作。另外,由于在接收到打印指令信息之前可開始預打印操作,因此可縮短fpot。
附圖說明
圖1是示出在根據本公開的一個或多個方面的例示實施例中的打印機的配置的框圖。
圖2是打印機的平面圖,示出了在根據本公開的一個或多個方面的例示實施例中從頂側看到的紙張面對區域。
圖3a是示出在根據本公開的一個或多個方面的例示實施例中的信息處理終端的配置的框圖。
圖3b示意性地示出在根據本公開的一個或多個方面的例示實施例中的存儲在數據存儲區中的條件信息。
圖4a示意性地示出在根據本公開的一個或多個方面的例示實施例中的打印機和隊列區之間的關系。
圖4b示意性地示出在根據本公開的一個或多個方面的例示實施例中存儲打印指令信息的隊列區。
圖4c示意性地示出在根據本公開的一個或多個方面的例示實施例中存儲準備指令信息的隊列區。
圖5是示出在根據本公開的一個或多個方面的例示實施例中的打印指令處理的流程圖。
圖6是示出在根據本公開的一個或多個方面的例示實施例中的startdoc處理的流程圖。
圖7是示出在根據本公開的一個或多個方面的例示實施例中的startpage處理的流程圖。
圖8是示出在根據本公開的一個或多個方面的例示實施例中的準備指令處理的流程圖。
圖9是示出在根據本公開的一個或多個方面的例示實施例中的打印處理的流程圖。
圖10是示出在根據本公開的一個或多個方面的例示實施例中的預打印處理的流程圖。
圖11a示意性地示出在根據本公開的一個或多個方面的例示實施例中的編輯畫面示例。
圖11b示意性地示出在根據本公開的一個或多個方面的例示實施例中的紙張從打印機中被排出的情形。
圖12示意性地示出在根據本公開的一個或多個方面的例示實施例中的標準設置畫面的示例。
具體實施方式
要注意,在以下描述中闡述了元件之間的各種連接。要注意,這些連接是常見的,并且除非另外指定,否則連接可以直接或間接的,并且本說明書不旨在在這個方面進行限制。本公開的一些方面可在電路(諸如,專用集成電路)上被實現或者在計算機軟件中被實現為可在計算機可讀介質上存儲的程序,這些計算機可讀介質包括但不限于ram、rom、閃存存儲器、eeprom、cd-介質、dvd-介質、暫存存儲器、硬盤驅動器、軟盤驅動器、永久存儲器等。
下文中,將參照附圖描述根據本公開的一些方面的例示實施例。要注意,下述的例示實施例僅僅是本公開的一些方面的示例,并且可按各種方式進行變化。例如,可改變下述各種處理的執行次序。
根據例示實施例的系統例如包括圖1中示出的打印機10和圖3a中示出的信息處理終端50。打印機10和信息處理終端50被配置成能夠經由通信網絡彼此通信。通信網絡的具體示例包括但不限于有線lan、無線lan和usb電纜。如圖4a中所示,信息處理終端50可以例如能夠與多個打印機10a和10b通信。
例如,打印機10的銷售方向用戶提供包括打印機10和驅動程序66的套裝,驅動程序66可被安裝在信息處理終端50上。通過讓用戶將驅動程序66安裝在信息處理終端50上,根據例示實施例的系統被配置。例如,可以以與打印機10一起包括在包裝中的cd-rom等的形式來提供驅動程序66,或者可經由銷售方網站下載驅動程序66。
如圖1和圖2中所示,打印機10包括作為主要組件的電源單元11、顯示器13、輸入i/f14、通信i/f15、操作單元20和控制單元40。構成打印機10的組件經由通信總線彼此連接。雖然在附圖中未示出,但打印機10包括支承紙張的第一供應紙盤、支承紙張的第二供應紙盤和上面支承形成有圖像的紙張的排出紙盤。雖然在這個例示示例中,以示例的方式描述了噴墨類型的打印機10,但打印機10的記錄系統不限于噴墨類型,而可以是本領域中已知的另一種類型,諸如電子照相類型。圖4a中示出的打印機10a和10b中的每個的基本配置可以與圖1和圖2中示出的打印機10的基本配置相同。
電源單元11向打印機10中的組件供應從外部電源經由電源插頭供應的電力。具體地,電源單元11將得自外部電源的電力作為驅動電力(例如,24v)輸出到操作單元20,并且將電力作為控制電力(例如,5v)輸出到控制單元40。雖然在附圖中未示出,但電源單元11還向顯示器13、輸入i/f14和通信i/f15供應電力。
電源單元11能夠基于從控制單元40輸出的電力信號在驅動狀態和休眠狀態之間切換。更具體地,控制單元40通過輸出高電平(例如,5v)的電力信號來致使電源單元11從休眠狀態切換成驅動狀態。另外,控制單元40通過輸出低電平(例如,0v)的電力信號來致使電源單元11從驅動狀態切換成休眠狀態。
驅動狀態意指電源單元11向操作單元20輸出驅動電力的狀態。換句話講,驅動狀態是操作單元20能夠進行操作的狀態。休眠狀態意指電源單元11不向操作單元20輸出驅動電力的狀態。換句話講,休眠狀態是操作單元20不能夠進行操作的狀態。另一方面,不管狀態是驅動狀態還是休眠狀態,電源單元11均向控制單元40輸出控制電力。雖然在附圖中未示出,但不管電源單元11是驅動狀態還是休眠狀態,輸入i/f14都能夠根據用戶操作來輸出操作信號。另外,不管電源單元11是驅動狀態還是休眠狀態,通信i/f15都能夠從外部裝置接收信息。
顯示器13例如是液晶顯示器或有機el顯示器,并且包括上面顯示各種類型信息的顯示表面。
輸入i/f14是通過其接收用戶的輸入操作的用戶接口。具體地,輸入i/f14包括按鈕,并且將與所按下的按鈕分別對應的各種操作信號輸出到cpu41。輸入i/f14可包括層壓在顯示器13的顯示表面上的隔膜觸摸傳感器。用于指定在顯示器13的顯示表面上顯示的對象的操作或用于輸入字符串或數字串的操作是用戶操作的示例。術語“對象”意指例如在顯示器13上顯示的字符串、圖標、按鈕或鏈接。
被配置為觸摸傳感器的輸入i/f14輸出指示位置的位置信息,在該位置上用戶觸摸了顯示表面。本文中使用的術語“觸摸”一般包括讓輸入介質接觸顯示表面的操作。術語“觸摸”的概念還可包括讓輸入介質被放置在非常靠近顯示表面的位置,雖然在這種情況下輸入介質實際上并沒有接觸顯示表面。輸入介質可以是用戶的手指,或者可以是觸摸筆等。用于輕擊顯示器53上顯示的圖標位置的用戶操作是用于指定圖標的指定操作的示例。
通信i/f15是能夠經由通信網絡與外部裝置通信的接口。也就是說,打印機10經由通信i/f15向外部裝置輸出各種類型的信息,并且經由通信i/f15從外部裝置接收各種類型的信息。例如,通信i/f15可根據基于wi-fi(商標)的通信協議來交換無線信號,或者可以是lan電纜或usb電纜所連接的接口。
操作單元20根據來自控制單元40的指令來執行打印操作和預打印操作。打印操作是用于將圖像記錄在紙張上的操作。預打印操作是在打印操作之前執行的以使得在打印操作期間具有特定質量程度的圖像被記錄在紙張上的操作。隨后,描述關于打印操作和預打印操作的細節。如圖1和圖2中所示,操作單元20包括作為主要組件的供應馬達21、傳送馬達22、托架馬達23、供應輥24和25、傳送輥26、托架27、記錄頭28、維護機構30、墨水接收單元33和驅動力傳輸機構35。
供應輥24將支承在第一供應紙盤上的紙張供應到紙張經由傳送路徑(未示出)到達傳送輥26的位置。供應輥25將支承在第二供應紙盤上的紙張供應到紙張經由傳送路徑(未示出)到達傳送輥26的位置。供應輥24和25在經由驅動力傳輸機構35傳輸的供應馬達21的旋轉驅動力的作用下旋轉。應該注意,在這個例示實施例中,被設置成從第一供應紙盤或第二供應紙盤向傳送輥26延伸的傳送路徑的至少一部分是彎曲的。
傳送輥26將供應輥24或25供應的紙張在傳送方向上向著圖2中示出的紙張面對區域傳送。紙張面對區域是在主掃描方向上延伸的區域,并且在紙張面對區域中,紙張和托架27可彼此面對。傳送方向和主掃描方向彼此垂直地相交。傳送輥26將記錄頭28已經在其上記錄了圖像的紙張在傳送方向上向著排出紙盤傳送。傳送輥26在經由驅動力傳輸機構35傳輸的傳送馬達22的旋轉驅動力的作用下旋轉。傳送輥26可由多個輥形成。
如圖2中所示,托架27在主掃描方向上在包括紙張面對區域的區域中移動。更具體地,托架27在主掃描方向上從紙張面對區域向右偏離的頂蓋位置和在主掃描方向上從紙張面對區域向左偏離的閃噴位置(flushingposition)之間移動。在從托架馬達23接收到旋轉驅動力的同時托架27移動。記錄頭28被安裝在托架27上。在記錄頭28的下表面(下文中,被稱為“噴嘴表面”)上,形成有多個噴嘴。通過讓諸如壓電元件的驅動元件震動,記錄頭29從噴嘴噴射墨水。
在托架27在主掃描方向上從一側移向另一側的過程期間,墨滴從記錄頭28被噴射到設置在紙張面對區域中的紙張的記錄區。結果,圖像被記錄在紙張上。紙張被劃分成在紙張的較短邊方向上彼此鄰近的多個記錄片段。在隨后描述的打印操作期間,操作單元20順序地分別將圖像記錄在多個記錄片段中。
維護機構30為記錄頭28執行維護。更具體地,維護機構30執行所謂的凈化(purging)操作,以將墨水抽吸到噴嘴中。如圖2中所示,維護機構30處于在主掃描方向上從紙張面對區域向右偏離的位置處。如圖1中所示,維護機構30包括作為主要組件的頂蓋31和泵32。
頂蓋31處于面對記錄頭28的位置,記錄頭28被安裝在設置在頂蓋位置處的托架27上。頂蓋31被配置成能夠在上下方向上彼此分離的覆蓋位置和分離位置之間移動。設置在覆蓋位置的頂蓋31緊密地接觸設置在頂蓋位置的托架27的記錄頭28,以覆蓋噴嘴表面。在分離位置處,頂蓋31與噴嘴表面分離。升降機構(未示出)通過使用經由驅動力傳輸機構35所傳輸的供應馬達21的旋轉驅動力將頂蓋31在覆蓋位置和分離位置之間移動。泵32經由處于覆蓋位置的頂蓋31將墨水抽吸到噴嘴中,并且將所抽吸的墨水排放到廢料墨水罐(未示出)中。泵32在驅動力傳輸機構35傳輸的傳送馬達22的旋轉驅動力的作用下驅動。
傳輸機構35將供應馬達21和傳送馬達22的驅動力傳輸到供應輥24和25、傳送輥26、用于頂蓋31的升降機構和泵32。驅動力傳輸機構35被配置為齒狀輪、皮帶輪、環狀環形帶、擺齒輪機構、單向離合器等的全部或部分的組合。通過托架27來切換驅動力傳輸機構35將供應馬達21和傳送馬達22的驅動力傳輸所至的傳輸目的地。驅動力傳輸機構35被配置成能夠在其驅動力的傳輸目的地彼此不同的第一狀態、第二狀態和第三狀態之間切換。
第一狀態是供應馬達21的驅動力被傳輸到供應輥24而不被傳輸到供應輥25和用于頂蓋31的升降機構的狀態。第二狀態是供應馬達21的驅動力被傳輸到供應輥25而不被傳輸到供應輥24和用于頂蓋31的升降機構的狀態。第三狀態是供應馬達21的驅動力被傳輸到用于頂蓋31的升降機構而不被傳輸到供應輥24和25的狀態。另外,在第一狀態和第二狀態下,傳送馬達22的驅動力被傳輸到傳送輥26而不被傳輸到泵32。在第三狀態下,傳送馬達22的驅動力被傳輸到傳送輥26和泵32二者。
如圖2中所示,驅動力傳輸機構35包括滑動構件36,滑動構件36被形成為延伸到滑動構件36可接觸托架37的位置。滑動構件36在接觸托架27或與托架27分離的同時在主掃描方向上移動。通過滑動構件36在主掃描方向上移動來切換驅動力傳輸機構35的狀態。更具體地,通過讓滑動構件36在主掃描方向上移動,構成驅動力傳輸機構35的齒輪的接合狀態改變。
當向右移動到頂蓋位置的托架27接觸滑動構件36時,驅動力傳輸機構35切換成第三狀態。另外,當從頂蓋位置向左移動的托架27與滑動構件36分離時,驅動力傳輸機構35從第三狀態切換成第一狀態。另外,當向右移動到頂蓋位置前方的托架27接觸滑動構件36時,驅動力傳輸機構35從第一狀態切換成第二狀態。應該注意,根據例示實施例的驅動力傳輸機構35不可直接從第三狀態切換成第一狀態。
控制單元40總體上控制打印機10的操作。如圖1中所示,控制單元40是包括作為主要組件的cpu41、rom42、ram43、eeprom44和asic45的微計算機。
在rom42中,存儲用于致使cpu41控制打印機10的操作的程序。ram43被用作在其中暫時存儲各種類型數據的存儲區或工作區,這些數據被cpu41用于執行程序。在eeprom44中,存儲在斷電之后將保持的設置、標志等。通過從rom42讀取程序并且執行程序,cpu41控制打印機10的操作。顯示器13、輸入i/f14、通信i/f15、供應馬達21、傳送馬達22、托架23和記錄頭28連接到asic45。asic45致使打印機10中的組件根據來自cpu41的指令進行操作。
rom42、ram43和eeprom44可以是非瞬時計算機可讀介質。非瞬時計算機可讀介質可包括諸如cd-rom和dvd-rom以及ram、rom、eeprom等記錄介質。非瞬時計算機可讀介質可以是有形介質。要注意,非瞬時計算機可讀介質并不包括諸如用于攜載從互聯網上的服務器下載的程序的載波的任何電信號。對于隨后描述的信息處理終端50的存儲器62,同樣如此。
asic45向馬達21、22和23輸出驅動信號。當馬達21、22和23旋轉時,輥24、25和26傳送紙張,并且托架27在主掃描方向上移動。asic45向諸如壓電元件的驅動元件輸出驅動信號。當驅動信號振蕩時,記錄頭28從噴嘴噴射墨滴。asic45向顯示器13輸出圖像信號,以在顯示器13上顯示圖像。asic45得到從輸入i/f14輸出的操作信號。asic45經由通信i/f15從外部裝置接收信息,并且經由通信i/f15向外部裝置發送信息。此外,本領域中已知的各種傳感器連接到asic45。基于從各種傳感器輸出的檢測到的信號,控制單元40檢測到例如通過傳送輥26傳送的紙張的位置、托架27的位置和頂蓋31的位置。
如圖3a中所示,信息處理終端50包括作為主要組件的輸入i/f54、通信i/f55、cpu61、存儲器62和通信總線63。由于信息處理終端50中設置的顯示器53、輸入i/f54、通信i/f55和cpu61分別具有與打印機10中設置的顯示器13、輸入i/f14、通信i/f55和cpu41的配置基本上相同的配置,因此省略對其的說明。
信息處理終端50例如是移動電話、智能電話、平板終端、或pc。信息處理終端50是計算機的示例。信息處理終端50的輸入i/f54可以例如是鍵盤和鼠標的組合。在這種情況下,將鼠標指示器移動到顯示器53上顯示的圖標的位置并隨后點擊鼠標的用戶操作是用于指定圖標的指定操作的示例。
存儲器62例如是ram、rom、eeproom、hdd、可拆卸地附接到信息處理終端50的諸如usb存儲器的便攜式存儲介質、設置在cpu61中的緩沖器、或其組合。存儲器62包括程序存儲區62a和數據存儲區62b。在程序存儲區62a中,安裝有os64、編輯程序65和驅動程序66。存儲在區域62a中的每個程序可以是單個程序或多個程序的組合。在區域62b中,存儲執行有程序所需的數據或信息。
在這個例示實施例中,將說明windows(商標)操作系統,以作為os64的具體示例;然而,os64的具體示例不限于此示例。例如,可使用android(商標)os、或ios(商標)。
編輯程序65是用于根據用戶操作來編輯內容數據的程序。如作為圖11a中的示例示出的,編輯程序65致使顯示器53顯示所指定內容數據所代表的圖像,接收用于指令經由輸入i/f54編輯內容的用戶操作,并且根據接收到的用戶操作來編輯內容數據。例如,引用文本格式、圖像格式、電子表格格式和演示文稿格式,以作為內容數據的格式。內容數據可包括不止一頁的數據。頁數據意指代表記錄在一張紙上的內容的數據。
驅動程序66是致使打印機10根據從os64接收到的打印指令來執行打印操作的程序。如圖6和圖7中所示,根據例示實施例的驅動程序66包括作為第一模塊示例的ui模塊66a和作為第二模塊示例的呈現模塊66b。驅動程序66可由單個模塊形成或者可另外包括另一個模塊。驅動程序66可被配置成能夠指令對于單個模塊的打印機10進行打印操作,或者可被配置成能夠指令對于多個模型的打印機10進行打印操作。
在驅動程序66中,定義os64所指定的多個函數。通過讓os64以特定次序調用多個函數,驅動程序66能夠致使打印機10執行打印操作。根據例示實施例的打印指令意指例如ui模塊66a中定義的第一函數“drvdocumentevent()”在使用常數“documentevent_startdoc”作為自變量的同時被os64調用的事實。
如圖3a中所示,區域62b包括第一區62c和第二區62d。第一區62c例如是所謂s注冊表,即,用于與os64有關的基本信息和驅動程序的設置信息的數據庫。通過os64來定義用于引用存儲在第一區62c中的信息的引用程序。os64保障根據引用程序而引用的信息的適宜性,并且不保障不根據引用程序而引用的信息的適宜性。相比之下,可在不遵循像上述引用程序一樣的引用程序但在所期望時間進行引用的情況下,引用存儲在第二區62d中的信息。以下,當被表達為“程序將信息存儲在區域62b中”時,這種類型的表達意指信息主要被存儲在第二區62d中。以下,說明對第一區62c中存儲的信息的引用過程的示例。
舉例來說,編輯程序65確保第二區62d中的特定存儲區。然后,編輯程序65使用第一指針“devmode”作為自變量來調用os64中定義的讀出函數,第一指針“devmode”指示所確保的存儲區的首地址。os64將存儲在第一區62c中的信息復制到第一指針“devmode”所指示的存儲區。結果,編輯程序65變成能夠讀取或編輯從第一區62c復制到第一指針“devmode”所指示的存儲區的信息。
又如,在驅動程序66中,定義由os64所定義的函數(例如,第一函數“drvdocumentevent()”)。os64使用常數“documentevent_first”和第二指針作為自變量來調用第一函數。第二指針指示存儲在第一區62c中的信息存儲在其中的存儲區的首地址或從第一區62c復制到第二區62d的信息存儲在其中的存儲區的首地址。驅動程序66能夠讀取或編輯第二指針所指示的存儲區中存儲的信息作為存儲在第一區62c中的信息。在這個例示實施例中,在指定常數“documentevent_first”和第二指針作為自變量的同時執行第一函數的事實可被表達為用于允許引用第一區62c中存儲的信息的引用指令。
如圖3b中的示例中所示,第一區62c存儲條件信息。條件信息是指示用于打印機10將執行的打印操作的執行條件的信息。根據例示實施例的條件信息包括尺寸信息、顏色信息、紙盤信息、紙張信息、余白信息、受保護標志和認證信息。然而,條件信息的具體示例不限于圖3b中示出的示例。
在安裝驅動程序66時,將條件信息存儲在第一區62c中。驅動程序66能夠根據來自用戶的指令來改變存儲在第一區62c中的條件信息。更具體地,驅動程序66根據來自os64的引用指令從第一區62c讀取條件信息,并且將所讀取的條件信息在顯示器53上顯示。然后,響應于經由輸入i/f54接收到改變條件信息的用戶操作,驅動程序66用改變后的條件信息來覆寫存儲在第一區62c中的條件信息。
條件信息包括公共信息和私有信息。公共信息是還可通過安裝在信息處理終端50中的另一個程序(例如,編輯程序65)編輯的信息。私有信息是不可通過安裝在信息處理終端50中的另一個程序編輯的信息。換句話講,私有信息是只有驅動程序66才能夠編輯的信息。在圖3b的示例中,尺寸信息和顏色信息是公共信息,而紙盤信息、紙張信息和余白信息是私有信息。
尺寸信息指示將用于打印操作的紙張的尺寸(例如,“a4”、“b5”等)。顏色信息是用于打印操作的墨水的數量(例如,“彩色”、“單色”等)。紙盤信息指示打印機10中設置的多個紙盤(例如,“紙盤1”、“紙盤2”等)中的一個。“紙盤1”對應于打印機10的第一供應紙盤,“紙盤2”對應于打印機10的第二供應紙盤。紙張信息指示用于打印操作的紙張的類型(例如,“普通紙”、“銅版紙”等)。余白信息指示是否要在紙張的外圍部分中設置具有特定寬度的余白(例如,“帶邊框”、“不帶邊框”等)。
在os64中定義了公共信息的數據結構,但圖3b只示出代表性條目。另一方面,私有信息的數據結構可根據打印機10而有所不同或者可根據驅動程序66而有所不同。以下,存在公共信息所指示的執行條件被稱為“公共條件”并且私有信息所指示的執行條件被稱為“私有條件”的情況。
如圖4a中所示,區域62b包括不止一個隊列區67a、67b和67c。隊列區67a至67c是在其中存儲將被發送到打印機10a和10b的信息的存儲區。隊列區67a至67c與指定打印機10a和10b的所謂打印機端口關聯。具體地,在隊列區67a和67b中,存儲將被發送到打印機10a的信息。在隊列區67c中,存儲將被發送到打印機10b的信息。例如,對于驅動程序66,信息應該存儲在其中的隊列區67a至67c被指定為來自os64的函數的自變量。以下,存在指定用于驅動程序66的隊列區67a至67c被稱為“指定隊列”的情況。
在隊列區67a至67c中,存儲用于指令打印機10a和10b執行各種操作的信息。更具體地,在隊列區67a至67c中,存儲圖4b中示出的打印指令信息、圖4c中示出的準備指令信息、狀態發送指令信息(未示出)等。打印指令信息是用于指令執行打印操作的信息,并且包括供應指令信息、提示指令信息、傳送指令信息、噴射指令信息和排出指令信息。準備指令信息是用于指令執行預打印操作的信息。狀態發送指令信息(未示出)是用于指令發送指示打印機10a和10b狀態的狀態信息的信息。然而,存儲在隊列區67a至67c中的信息的具體示例不限于上述信息。
隊列區67a是os64經由通信i/f55向打印機10a發送的信息在發送次序被指定的狀態下存儲所在的區域。換句話講,os64以特定時序來檢查隊列區67a中是否存儲了指令信息。然后,響應于確定了指令信息被存儲在隊列區67a中,os64以預先定義的發送次序經由通信i/f55向打印機10發送指令信息,并且從隊列區67a中刪除所發送的指令信息。對于隊列區67b和67c,同樣如此。
更具體地,如圖4b和圖4c中所示,向存儲在隊列區67a中的指令信息中添加工作id。工作id是用于指定將連續發送的指令信息的信息。也就是說,存在向多個指令信息中添加同一工作id的情況。os64以信息被存儲在隊列區67a中的次序來發送其中被添加了同一工作id的多個指令信息。此外,os64以工作id被生成的次序,發送其中被添加了互不相同的工作id的指令信息。
例如,在圖4b中示出的隊列區67a中,os64以該次序發送其中被添加了工作id“contentsdataa(內容數據a)”的傳送指令信息、噴射指令信息和排出指令信息。然后,os64以該次序發送其中被添加了工作id“contentsdatab(內容數據b)”的供應指令信息和提示指令信息。在這種情況下,即使當在存儲其中被添加了工作id“contentsdataa”的排出指令信息之前將其中被添加了工作id“contentsdatab”的供應指令信息存儲在隊列區67a中時,也提早發送排出指令信息。也就是說,以信息被寫入的次序連續發送其中被添加了同一工作id的多個指令信息。
(系統操作)
下文中,現在將參照圖5至圖10說明根據例示實施例的系統操作。
本文中描述的流程圖基本上指示根據程序中描述的指令的cpu41和61的處理。也就是說,以下說明中的諸如“確定”、“抽出”、“選擇”、“控制”等各種處理指示cpu41和61的處理。cpu61進行的處理包括經由os64進行的硬件控制。此外,用計算機可讀取的位流來表示本文中使用的“數據”。此外,具有基本上相同含義但具有不同格式的數據被當作同一數據進行處理。對于本文中使用的“信息”,同樣如此。
圖5至圖9(特別地,圖6和圖7)示出這個例示實施例中的特別重要的處理,并且在這些圖中,省去了在各個處理之間執行的其他處理。更具體地,os64可調用除了圖6和圖7中示出的函數之外的函數(未示出)。在下面的說明中,只說明了相應函數中指定的自變量中代表性的自變量;然而,可指定其他自變量。此外,在下面的說明中,存在如下情況:說明對于例示實施例而言在每個調用函數中定義的處理之中特別重要的處理并且省去了對除了這些特別重要的處理外的處理的說明。
首先,信息處理終端50的編輯程序65將圖11a中示出的編輯畫面顯示在顯示器53上。編輯畫面包括讀出指令圖標111、存儲指令圖標112、打印指令圖標113和編輯圖像114。編輯程序65經由輸入i/f54接收對編輯畫面的用戶操作。
讀出指令圖標111對應于用于讀出代表編輯圖像114的內容數據的指令。存儲指令圖標112對應于用于將代表編輯圖像114的內容數據存儲在區域62b中的指令。打印指令圖標113對應于用于對內容數據執行打印操作的指令。編輯圖像114是內容數據中包括的頁數據所代表的圖像。根據例示實施例的編輯程序65將編輯圖像114顯示在編輯畫面上,使得編輯圖像114的較長邊方向沿著顯示器53的上下方向。
響應于經由輸入i/f54接收到的指定讀出圖標111的用戶操作,編輯程序65將具有可讀格式的內容數據的列表顯示在顯示器53上。然后,編輯程序65從區域62b讀出經由用戶i/f54指定的內容數據。然后,編輯程序65將所讀取的內容數據所代表的編輯圖像114顯示在顯示器53上。響應于接收到指定對編輯圖像114進行編輯的用戶操作,編輯程序65編輯內容數據。響應于經由輸入i/f54接收到指定存儲指令圖標112的用戶操作,編輯程序65將所編輯的內容數據存儲在隊列區67b中。
響應于經由輸入i/f54接收到指定打印指令圖標113的用戶操作,編輯程序65將識別正在編輯的內容數據的數據id暫時存儲在隊列區67b中。以下,這里暫時存儲的數據id被稱為“指定數據id”,并且通過所指定的數據id而識別的內容數據被稱為“指定內容數據”。在這個例示實施例中,假設暫時存儲了指定數據id“contentsdatac”。編輯程序65執行打印指令處理。打印指令處理是用于指令打印機10執行指定內容數據的打印操作的處理。現在,將參照圖5說明關于打印指令處理的細節。
(打印指令處理)
首先,編輯程序65確保存儲區域62b的第二區62d中的條件信息所需的存儲區。另外,編輯程序65在將第一指針“devmode”指定為自變量的同時調用os64中定義的讀出函數,第一指針“devmode”指示所確保的存儲區的首地址。結果,存儲在第一區62c中的條件信息被os64復制到第一指針“devmode”所指示的存儲區。以下,在第二區62d中所確保的存儲區中存儲的條件信息被稱為“編輯條件信息”。
接下來,編輯程序65將圖12中示出的標準設置畫面顯示在顯示器53上(步驟s11)。標準設置畫面包括下拉菜單121、單選按鈕122、123、124和125、“確認”按鈕126和“取消”按鈕127。編輯程序65經由輸入i/f54接收對標準設置畫面進行的用戶操作(步驟s12)。
下拉菜單121對應于用于指定執行打印操作的打印機10的指令。單選按鈕122和123對應于可被設置成尺寸信息的設置“a4”和“b5”。單選按鈕124和125對應于可被設置成顏色信息的設置“彩色”和“單色”。在初始顯示的標準設置畫面上,單選按鈕122至125的狀態對應于編輯條件信息中設置的設置。“確認”按鈕126對應于用于指令打印機10根據編輯條件信息所指示的執行條件來執行指定內容數據的打印操作的指令。“取消”按鈕127對應于用于完成打印指令處理的指令。
響應于經由輸入i/f54接收到對下拉菜單121的用戶操作,編輯程序65將用于識別指定打印機10的打印機id(下文中,被稱為“指定的打印機id”)存儲在存儲區62b中。在這個例示實施例中,假設指定通過打印機id“mfp-a”識別的打印機10a。響應于接收到指定單選按鈕122至125的用戶操作(s12:設置改變),編輯程序65用與指定的單選按鈕122至125對應的設置來更新編輯條件信息(步驟s13)。
然后,編輯程序65將在其上反映了用戶操作的標準設置畫面顯示在顯示器53上(步驟s11)。也就是說,編輯程序65能夠經由標準設置畫面接收對執行打印操作的打印機10的指定和對編輯條件信息中包括的公共信息的改變。另一方面,編輯程序65不能夠接收對編輯條件信息中包括的私有信息的改變。
響應于經由輸入i/f54接收到對“確認”按鈕的指定,編輯程序65執行startdoc處理(步驟s14)。另一方面,盡管在圖5中未示出,響應于經由輸入i/f54接收到對“取消”按鈕127的指定,編輯程序65完成打印指令處理。startdoc處理是致使打印機10執行打印操作的預處理。現在,將參照圖6說明關于startdoc處理的細節。
(startdoc處理)
首先,編輯程序65調用os64中定義的函數“startdoc()”(步驟s21)。以下,存在步驟sxx中調用的函數被稱為“函數sxx”的情況。編輯程序65將指定id“contenntsdatac”、指定打印機id“mfp-a”和第一指針指定為函數s21的自變量。響應于函數s21被調用,os64以特定次序調用驅動程序66中定義的各種函數。此外,驅動程序66執行os64所調用的函數中定義的處理。省略關于這些處理的細節。
其函數s21被調用的os64調用第一函數“drvdocumentevent()”(步驟s22)。os64指定常數“documentevent_first”和第二指針作為函數s22的自變量。第二指針例如是指示條件信息存儲在其中的第一區62c的首地址或os64從第一區62c讀出的條件信息存儲所在的存儲區的首地址的信息。
接下來,響應于正調用函數s22,ui模塊66a讀出第二指針所指示的存儲區中存儲的信息,并且將所讀取的條件信息存儲在第二區62d中(步驟s23),并且完成函數s22(步驟s24)。也就是說,在步驟s23中,ui模塊66a將從第一區62c讀出的條件信息存儲在第二區62d中。驅動程序66執行的步驟s22的處理是參考接收處理的示例,并且步驟s23中的處理是存儲處理的示例。
以下,步驟s23中的存儲在第二區62d中的條件信息被稱為“保存的條件信息”。在編輯的條件信息和保存的條件信息之間,私有信息是相同的,但公共信息可能是不同的。更具體地,當在步驟s13中更新了編輯條件信息時,在編輯的條件信息和保存的條件信息之間,公共信息是不同的。
其函數s21被調用的os64調用第一函數“drvdocumentevent()”(步驟s25)。os64將常數“documentevent_startdoc”指定為函數s25的自變量。在步驟s22的處理之后,執行步驟s25的處理。接下來,響應于正在調用函數s25(步驟s25),ui模塊66a執行準備指令處理(步驟s26)。準備指令處理是用于指令打印機10執行預打印操作的處理。ui模塊66a所執行的步驟s25的處理是從os64接收打印指令的打印指令接收處理的示例。將參照圖8說明關于準備指令處理的細節。
所期望的是,當確定出現向打印機10發送打印指令信息時,執行相對于打印機10的預打印操作的執行指令。在標準設置畫面上指定“確認”按鈕126之后,在不需要經由輸入i/f54的用戶指令指令的情況下向打印機10發送打印指令信息。也就是說,對“確認”按鈕126的指定可被視為用戶意圖指令打印機10執行打印操作。為此原因,所期望的是,在標準設置畫面上指定了“確認”按鈕126之后,ui模塊66a執行準備指令處理。
更具體地,響應于經由輸入i/f54接收到在標準設置畫面上指定了“確認”按鈕126(s12:確認按鈕),編輯程序65調用函數s21。os64也可在除了調用函數s21的時間外的時間(例如,引用打印機驅動器上的信息的時間)調用ui模塊66a中定義的函數。然而,只有當函數s21被調用時,os64才調用函數s25。為此原因,根據例示實施例的ui模塊66a響應于正在調用函數s21來執行準備指令處理。
(準備指令處理)
首先,ui模塊66a生成作為所生成的識別信息示例的工作id“___preparation__”。然后,ui模塊66a生成通過工作id“___preparation__”識別的準備工作(步驟s61)。應該注意,ui模塊66a生成工作id,使得工作id不與可以是指定數據id的字符串重疊。這是因為,在隨后描述的步驟s29中使用指定數據id作為工作id。向隨后描述的步驟s62和s66中的寫入隊列區67a的各種類型的指令信息中添加工作id“___preparation__”。
接下來,ui模塊66a將第一準備指令信息存儲在隊列區67a中(步驟s62)。第一準備指令信息屬于用于指令執行預打印操作的準備指令信息,并不包括隨后描述的特定條件信息。換句話講,第一準備指令信息是用于指令打印機執行預打印操作的信息,該預打印操作的操作內容沒有因隨后描述的特定執行條件而改變。os64將存儲在隊列區67a中的第一準備指令信息發送到打印機10a。步驟s62中的處理是第一指令處理的示例,在第一指令處理中第一準備指令信息經由通信i/f55被發送到打印機10a。
接下來,ui模塊66a確定是否在隨后描述的打印指令信息之前發送過特定條件信息(步驟s63)。特定條件信息是圖3b中示出的條件信息的一部分。以下,特定條件信息所指示的執行條件被稱為“特定執行條件”。特定執行條件是改變預打印操作的操作內容的執行條件。舉例來說,紙盤信息指示在隨后描述的供應處理中改變紙張供應源的特定執行條件。又如,紙張信息指示改變紙張供應速度的特定執行條件。作為又一個示例,余白信息指示改變紙張的提示位置的特定執行條件。
舉例來說,ui模塊66a可確定通過指定打印機id識別的打印機10a是否能夠根據特定條件信息來執行預打印操作。更具體地,ui模塊66a可經由通信i/f55從打印機10a接收能力信息,該能力信息指示打印機10a是否能夠根據特定條件信息來執行預打印操作,并且ui模塊66a可基于接收到的能力信息來確定打印機10a是否能夠執行預打印操作。另選地,ui模塊66a可得到指示打印機10a的型號的型號信息,并且可通過針對各型號將指示打印機是否能夠根據特定條件信息來執行預打印操作的可用信息與所得到的型號信息所指示的型號進行比較,來做出這種確定。例如,型號信息可以是從打印機10a接收的或者可得自os64。能力信息或可用信息可以是針對多種類型的條件信息中的每個指示打印機是否能夠執行預打印操作的信息。
又如,ui模塊66a可經由輸入i/f54接收到指定是否要發送特定條件信息的用戶操作,并且可預先將指示接收到的內容的設置信息存儲在區域62b中。然后,ui模塊66a可確定是否要根據設置信息中指示的內容來發送特定條件信息。此外,ui模塊66a可接收指示是否針對多種類型的條件信息中的每個發送特定條件信息的指令。
此外,ui模塊66a確定在步驟s23中存儲在區域62b中的保存的條件信息中是否包括特定條件信息(步驟s64)。舉例來說,可預先用ui模塊66a的源代碼來描述變成特定條件信息的條件信息。又如,ui模塊66a可從打印機10a接收指示哪個條件信息變成特定條件信息的信息。然后,ui模塊66a可通過將源代碼中描述的信息或從打印機10a接收的信息與保存的條件信息進行比較,來確定是否存在特定條件信息。步驟s64的處理是第一確定處理的示例。在這個例示實施例中,如上所述,假設紙盤信息、紙張信息和余白信息是特定條件信息。
此外,ui模塊66a確定在步驟s64中被確定為特定條件信息的條件信息是編輯程序65能夠改變的條件信息(步驟s65)。例如,可預先用ui模塊66a的源代碼來描述編輯程序65能夠改變的條件信息。然后,ui模塊66a可通過將用源代碼描述的信息與在步驟s64中被確定為特定條件信息的條件信息進行比較,來做出這種確定。
舉例來說,可通過編輯程序65來改變公共信息。又如,可通過編輯程序65來改變私有信息中的第一私有信息。另一方面,不可通過編輯程序65來改變私有信息中的第二私有信息。第一私有信息指示可根據公共條件的編輯而改變的第一私有條件。第二私有信息指示不根據公共條件的編輯而改變的第二私有條件。步驟s65中的處理是第二確定處理的示例。
假設例如尺寸信息從“a4”變成“b5”。在這種情況下,呈現模塊66b經由通信i/f55向打印機10a詢問放置在紙盤1和2上的紙張的尺寸。然后,響應于確定在紙盤2上支承的是紙張“b5”,呈現模塊66b將紙盤信息從“紙盤1”改變為“紙盤2”。在這種情況下,紙盤信息是私有信息。
例如,對于打印機10a和打印機10b而言,私有信息是第一私有形式還是第二私有信息會有所不同。舉例來說,關于具有對上述關于各紙盤上支承的紙張的尺寸的詢問進行響應的功能的打印機10,紙盤信息是第一私有信息。又如,關于不具有對上述關于紙張尺寸的詢問進行響應的功能的打印機10,紙盤信息是第二私有信息。ui模塊66a可得到例如指示打印機10a的型號的型號信息,并且可通過將針對各型號指示紙盤信息是否是第一私有信息的信息與所得到的型號信息所指示的型號進行比較,來做出這種確定。假設根據例示實施例的紙盤信息、紙張信息和余白信息是第二私有信息。
響應于確定之前將發送特定條件信息,特定信息被包括在所保存的條件信息中并且特定條件信息是第二私有信息(s63為是,并且s64為是,并且s65為否),ui模塊66a將第二準備指令信息存儲在隊列區67a中(步驟s66)。應該注意,ui模塊66a從步驟s23中存儲在區域62b中的保存的條件信息中提取特定條件信息,并且將所提取的條件信息包括在第二準備指令信息中。
第二準備信息屬于用于指示執行預打印操作的準備指令信息,并且包括特定條件信息。換句話講,第二準備指令信息是用于執行預打印信息的信息,該預打印信息的操作內容根據特定執行條件而改變。os64將存儲在隊列區67a中的第二準備指令信息發送到打印機10a。步驟s66的處理是第二指令處理的示例,在該第二指令處理中第二準備指令信息經由通信i/f55被發送到打印機10a。
舉例來說,當存在多個特定條件信息時,ui模塊66a可將包括所有多個特定條件信息的一個第二準備指令信息存儲在隊列區67a中。又如,當存在多個特定條件信息時,ui模塊66a可存儲多個第二準備指令信息,該多個第二準備指令信息中的每一個均將一個特定條件信息包括在隊列區67a中。在這種情況下,多個第二準備指令信息以對應的預打印操作被執行的次序被存儲在隊列區67a中。在這個例示實施例中,假設包括紙盤信息的第二準備指令信息、包括紙張信息的第二準備指令信息和包括余白信息的第二準備指令信息以該次序被存儲在隊列區67a中。
另一方面,響應于確定沒有發送特定條件信息(s63:否),響應于確定在保存的條件信息中不包括特定條件信息(64:否),或者響應于確定特定條件信息是公共信息還是第一私有信息(s65:是),ui模塊66a在不執行步驟s66的處理的情況下完成準備指令處理。
返回圖6,ui模塊66a完成函數s25(步驟s27)。接下來,響應于完成了函數s25(步驟s27),os64調用呈現模塊66b中定義的第二函數“drvstartdoc()”(步驟s28)。os64將在步驟s21中被指定為自變量的第一指針和指定數據id“contentsdatac”指定為函數s28的自變量。
接下來,響應于正在調用函數s28,呈現模塊66b在正作為指定隊列的隊列區67a中生成具有工作id的打印工作(步驟s29),該工作id是被指定為自變量的指定數據id“contentsdatac”,并且完成函數s28(步驟s30)。向隨后描述的步驟s25、s48和s53中的寫入隊列區67a的各種類型的指令信息中添加工作id“contentsdatac”。然而,在該級中,通過工作id“contentsdatac”識別的打印工作并不包括指令信息。被指定為函數s28的自變量的指定數據id是os64所指定的指定識別信息的示例。
響應于正在完成函數s28(步驟s30),os64調用第一函數“drvdocumentevent()”(步驟s31)。os64將常數“documentevent_startdocpost”指定為函數s31的自變量。接下來,響應于正在調用函數s31,ui模塊66a執行指令取消處理(步驟s32)。
指令取消處理是從隊列區67a中刪除被添加至準備工作中的準備指令信息的處理。更具體地,ui模塊66a確定其中被添加了步驟s64中暫時存儲的工作id“___preparation___”的指令信息是否被存儲在隊列區67a中。步驟s66中的準備指令信息被存儲在隊列區67a中的情況例如是通信i/f55不連接到通信線路的情況或打印機10a被關閉的情況。然后,響應于確定準備執行信息被存儲在隊列區67a中,ui模塊66a從隊列區67a中刪除準備指令信息。
返回圖6,ui模塊66a完成函數s31(步驟s33)。此外,響應于正在完成函數s31(步驟s33),os64完成函數s21(步驟s34)。因此,完成startdoc處理。在函數s21之后返回圖5,編輯程序65執行startpage處理(步驟s15)。startpage處理是生成打印指令信息的處理。針對指定內容數據中包括的各頁數據來執行startpage處理。例如,作為startpage處理的目標的頁數據被編輯程序65指定為函數的自變量。現在,將參照圖7說明startpage處理。
(startpage處理)
編輯程序65調用os64中定義的函數“startpage()”(步驟s41)。然后,os64調用第一函數“drvdocumentevent()”(步驟s42)。os64將常數“documentevent_startpage”指定為自變量。然后,ui模塊66a在執行特定處理的同時完成函數s42(步驟s43)。
響應于正在完成函數s42(步驟s43),os64調用呈現模塊66b中定義的函數“drvstartpage()”。接下來,響應于正在調用函數s44,呈現模塊66b確定第一指針所指示的編輯條件信息中的公共信息和第一私有信息之間的一致性。然后,響應于確定例如公共信息與如上所述的第一私有信息不一致,呈現模塊66b改變第一私有信息,使其與公共信息一致。
呈現模塊66b生成頭部指令信息,并且將所生成的頭部指令信息存儲在隊列區67a中(步驟s45)。頭部指令信息是用于指令在將圖像記錄在一張紙上的一系列操作中將圖像記錄在該紙張上之前將執行的操作的打印指令信息。根據例示實施例的頭部指令信息是供應指令信息和提示指令信息。
響應于在步驟s66中發送包括紙盤信息和紙張信息的第二準備指令信息,呈現模塊66b可省去步驟s45中的供應指令信息的發送。另外,響應于在步驟s66中發送包括余白信息的第二準備指令信息,呈現模塊66b可省去步驟s45中的提示指令信息的發送。
然后,呈現模塊66b完成函數s44(步驟s46)。接下來,響應于正在完成函數s44(步驟s46),os64完成函數s41(步驟s47)。然后,響應于正在完成函數s41(步驟s47),編輯程序65調用os64中定義的繪圖函數。另外,響應于編輯程序65正在調用繪圖函數,os64調用呈現模塊66b中定義的繪圖函數。
通過以特定次序執行多個繪圖函數,呈現模塊66b根據頁數據來生成打印數據。打印數據例如是通過將頁數據柵格化而得到的柵格數據。呈現模塊66b生成用于指令執行打印數據的打印操作的指令信息,并且將所生成的打印指令信息存儲在隊列區67a中(步驟s48)。如隨后描述的,在步驟s48中,生成噴射指令信息和傳送指令信息。步驟s48中生成打印數據的處理是生成處理的示例。以下,說明關于呈現模塊66b生成打印指令信息的處理的細節。
首先,呈現模塊66b將單元信息通知給os64,單元信息指示作為在步驟s28之后的特定時間進行柵格化的對象被傳遞的數據單元。在單元信息中,例如,設置指示以頁數據為單元進行傳送的“頁”或指示以帶數據為單元進行傳送的“帶”。帶數據是頁數據的部分數據。更具體地,頁數據被劃分成在較長邊方向上鄰近的多個帶數據。帶數據所指示的圖像具有比隨后描述的傳遞數據所指示的圖像大的區域。
響應于例如在編輯條件信息的尺寸信息中正設置的特定尺寸(例如,a4),呈現模塊66b將單元信息“頁”通知給os64。在紙張的較短邊方向與傳送方向一致的狀態下,通過打印機10的輥24、25和26來傳送具有特定尺寸的紙張。在具有特定尺寸的紙張上,通過打印機10的托架27在紙張的較長邊方向上進行移動來記錄圖像。
另一方面,例如,響應于在編輯條件信息的尺寸信息中正設置的非特定尺寸(例如,除了a4外的尺寸),呈現模塊66b將單元信息“帶”通知給os64。在紙張的較長邊方向與傳送方向一致的狀態下,通過打印機10的輥24、25和26來傳送具有非特定尺寸的紙張。在具有非特定尺寸的紙張上,通過打印機10的托架27在紙張的較短邊方向上進行移動來記錄圖像。
應該注意,可經單元信息作為os64調用的函數的返回值os64來進行通知。例如,對于打印機10a和打印機10b,特定尺寸可有所不同。可用驅動程序66的源代碼來描述打印機10a和10b中的每一個的特定尺寸,或者驅動程序66可向打印機10a和10b詢問特定尺寸。
已經得到單元信息“頁”的os64在步驟s48中將頁數據傳遞給呈現模塊66b。呈現模塊66b將從os64傳遞的整個頁數據柵格化,以生成柵格化數據。然后,呈現模塊66b將區域62b中形成的柵格化數據在區域62b中旋轉90度。然后,呈現模塊66b從已經旋轉90度的柵格化數據中提取指示記錄在記錄區之一中的圖像的多個傳遞數據。然后,呈現模塊66b針對所提取的傳遞數據中的每一個來生成噴射指令信息和傳送指令信息,并且將所生成的噴射指令信息和傳送指令信息順序地寫入隊列區67a中。呈現模塊66b針對頁數據中包括的所有傳遞數據,連續地執行提取傳遞數據、生成噴射指令信息和傳送指令信息、和將生成的信息的寫入隊列區67a中。
另一方面,已經得到單元信息“帶”的os64將頁數據中包括的多個帶數據中的一個傳遞到呈現模塊66b。呈現模塊66b將從os64傳遞的整個帶數據柵格化,以生成柵格化數據。然后,呈現模塊66b基于柵格化數據來生成噴射指令信息和傳送指令信息,并且將所生成的噴射指令信息和傳送指令信息寫入隊列區67a中。然后,針對構成頁數據的所有帶數據來重復上述處理。
也就是說,在單元信息“頁”的情況下,在整個頁數據被轉換成柵格化數據并且柵格化數據在區域62b中被旋轉90度之后,將初始噴射指令信息寫入隊列區67a中。另一方面,在單元信息“帶”的情況下,在作為頁數據的一部分的整個帶數據被轉換成柵格化數據之后,將初始噴射指令信息寫入隊列67a中。也就是說,相比于在單元信息“帶”的情況,在單元信息“頁”的情況下,從指定“確認”按鈕的時間到將初始噴射指令信息寫入隊列67a中的時間的逝去的時間段較長。
接下來,響應于針對正在完成指定的頁數據的步驟s48的處理,編輯程序65調用os64中定義的函數“endpage()”(步驟s49)。接下來,os64調用第一函數“drvdocumentevent()”(步驟s50)。os64將常數“documentevent_endpage”指定為函數s50的自變量。然后,ui模塊66a執行特定處理并且完成函數s50(步驟s51)。
接下來,響應于正在完成函數s50(步驟s51),os64調用呈現模塊66b中定義的函數“drvendpage()”(步驟s52)。然后,響應于正在調用函數s52,呈現模塊66b生成排出指令信息,并且將所生成的排出指令信息存儲在隊列區67a中(步驟s53)。
發送通過圖7中示出的startpage處理而寫入隊列區67a中的多個打印指令信息,以便由os64將它們寫入打印機10a。通常,os64經由通信i/f55將供應指令信息、提示指令信息、噴射指令信息、傳送指令信息、噴射指令信息、…、排出指令信息以該次序發送到打印機10a。步驟s45的處理、步驟s48中的將打印指令信息存儲在隊列區67a中的處理和步驟s53的處理是經由通信i/f55將打印指令信息發送到打印機10的打印指令處理的示例。
然后,呈現模塊66b完成函數s52(步驟s54)。然后,響應于正在完成函數s52(步驟s54),os64完成函數s40(步驟s55)。結果,完成startpage處理。接下來,返回圖5,編輯程序65確定是否已經針對指定的內容數據中包括的所有頁數據已經執行了startpage處理(步驟s16)。然后,響應于確定存在對于其尚未執行startpage處理的頁數據(s16:是),編輯程序65針對該頁數據執行startpage處理(步驟s15)。
然后,響應于確定已經針對所有頁數據執行了startpage處理(s16:否),編輯程序65執行enddoc處理(步驟s17)。enddoc處理是在由打印機10執行打印操作之后執行的后級處理。由于enddoc處理是通過讓編輯程序65調用os64中定義的函數“enddoc()”而開始的已知處理,因此省去對其的詳細說明。
(打印處理)
下文中,將參照圖9說明打印機10執行的打印處理。打印機10響應于經由通信i/f15從信息處理終端50接收到準備指令信息或打印指令信息來執行打印處理。下述的處理可通過cpu41讀取rom42中存儲的程序來執行或者可被實現為安裝在控制單元40上的硬件電路。
打印機10的控制單元40經由通信i/f15從信息處理終端50接收準備指令信息(s71:準備指令)。根據例示實施例的控制單元40經由通信i/f15依次從信息處理終端50接收第一準備指令信息、包括紙盤信息的第二準備指令信息、包括紙張信息的第二準備指令信息、包括余白信息的第二準備指令信息。步驟s71中的用于接收準備指令信息的處理是準備指令信息接收處理的示例,用于接收第一準備指令信息的處理是第一接收處理的示例,并且用于接收第二準備指令信息的處理是第二接收處理的示例。
接下來,響應于正在接收準備指令信息(s71:準備指令),打印機10確定電源單元11是否處于休眠狀態(步驟s72)。例如,控制單元40可將指示電源單元11的當前狀態的標志信息存儲在ram43或eeprom44中并且可基于標志信息在步驟s72中做出確定。然而,步驟s72中的確定方式不限于上述示例。
接下來,響應于確定電源單元11處于休眠狀態(s72:是),控制單元40將電源單元11從休眠狀態切換成驅動狀態(步驟s73)。更具體地,控制單元40向電源單元11輸出高電平的電力信號。另一方面,響應于確定電源單元11處于驅動狀態(s72:否),控制單元40跳過步驟s73的處理。步驟s72的處理是狀態確定處理的示例,并且步驟s73的處理是切換處理的示例。
接下來,控制單元40通過顯示器13通知接收到準備指令信息(步驟s74)。例如,控制單元40可將顯示器13的背光打開達特定時間段。步驟s74的處理是通知處理的示例。顯示器13是通知單元的示例。然而,通知處理的具體示例不限于上述示例。例如,可打開led燈(未示出),或者可從揚聲器(未示出)輸出通知聲音,以作為通知處理。
接下來,控制單元40致使操作單元20執行預打印操作(步驟s75)。預打印操作是打印機10應該執行的以在打印操作中記錄具有特定質量的圖像的操作。現在,將參照圖10說明用于致使操作單元20執行預打印操作的打印處理的細節。假設在執行預打印操作時,托架27處于頂蓋位置,頂蓋31處于覆蓋位置并且驅動力傳輸機構35處于第三狀態。
響應于經由通信i/f15從信息處理終端50接收第一準備指令信息,控制單元40將頂蓋31從覆蓋位置移向分離位置(步驟s91)。然后,控制單元40將托架27從頂蓋位置移向閃噴位置(步驟s92)。此時,由于從頂蓋位置移向閃噴位置的托架27與滑動構件36分離的事實,驅動力傳輸機構35從第三狀態切換成第一狀態。步驟s91的處理是分離處理的示例,步驟s92的處理是移動處理和第一切換處理的示例。步驟s91和s92的處理是操作內容沒有因特定條件信息而改變的第一預打印處理的示例。
接下來,響應于經由通信i/f15從信息處理終端50接收到包括紙盤信息的第二準備指令信息,控制單元40對紙盤信息的設置做出確定(步驟s93)。然后,響應于確定在紙盤信息中設置了“紙盤2”(s93:第二紙盤),控制單元40通過讓托架27與滑動構件36分離并且接觸滑動構件36而將驅動力傳輸機構35從第一狀態切換成第二狀態(步驟s94)。另外,控制單元40再將托架27移向閃噴位置。另一方面,響應于確定在紙盤信息中設置了“紙盤1”(s93:第一紙盤),控制單元40跳過步驟s94。步驟s94的處理是第二切換處理的示例。
然后,響應于經由通信i/f15從信息處理終端50接收到包括紙張信息的第二準備指令信息,控制單元40對紙張信息的設置做出確定(步驟s95)。然后,響應于確定在紙張信息中設置了“普通紙”(s95:普通紙),控制單元40致使供應輥24和25將在第一供應紙盤或第二供應紙盤上支承的紙張以第一速度向傳送輥26供應(步驟s96)。另一方面,響應于確定在紙張信息中設置了“銅版紙”(s95:銅版紙),控制單元40致使供應輥24和25將在第一供應紙盤或第二供應紙盤上支承的紙張以第二速度向傳送輥26供應(步驟s97)。
關于比普通紙厚的銅版紙,所期望的是,在向銅版紙施加力矩時,以低速供應銅版紙,以抑制當經過彎曲的傳送路徑時造成的卡紙。也就是說,第二速度低于第一速度。紙張信息“普通紙”是第一類型的示例,紙張信息“銅版紙”是其紙張厚度大于第一類型的紙張厚度的第二類型的示例。步驟s96和s97的處理是供應處理的示例。
接下來,響應于經由通信i/f15從信息處理終端接收到包括余白信息的第二準備指令信息,控制單元40對余白信息的設置做出確定(步驟s98)。然后,響應于確定在余白信息中設置了指示不設置余白的“不帶邊框”(s98:不帶邊框),控制單元40致使傳送輥26將紙張在傳送方向上傳送,直到紙張的前沿到達第一位置(步驟s99)。另一方面,響應于確定在余白信息中設置了指示設置余白的“帶邊框”(s98:帶邊框),控制單元40致使傳送輥26將紙張在傳送方向上傳送,直到所供應的紙張的前沿到達第二位置(步驟s100)。
第二位置在相對于第一位置的傳送方向上的下游側。第一位置和第二位置之間的距離例如是在驅動程序或打印機10中被初始設置為在紙張前沿處設置的余白的值(例如,3mm)。步驟s99和s100的處理是紙張被傳送輥26傳送到面對托架27的位置的提示處理的示例。步驟s93至s100的處理是操作內容根據特定條件信息而改變的第二預打印處理的示例。
另一方面,響應于沒有接收到包括紙盤信息的第二準備指令信息(s93:未接收到),控制單元40在沒有執行步驟s94至s100的處理的情況下完成預打印處理。響應于沒有接收到包括紙張信息的第二準備指令信息(s95:未接收到),控制單元40在沒有執行步驟s96至s100的處理的情況下完成預打印處理。另外,響應于沒有接收到包括余白信息的第二準備指令信息(s98:未接收到),控制單元40在沒有執行步驟s99至s100的處理的情況下完成預打印處理。
控制單元40將與多個預打印操作分別對應的標志信息存儲在ram43或eeprom44中。在所有標志信息中,在預打印處理開始時,設置指示沒有完成預打印操作的事實的第二值“關”。響應于完成預打印操作中的一個的事實,控制單元40將指示完成預打印操作的第一值“開”設置成與完成的預打印操作對應的標志信息。
返回圖9,控制單元40經由通信i/f15從信息處理終端50接收打印指令信息(s71:打印指令)。也就是說,根據例示實施例的控制單元40經由通信i/f15依次從信息處理終端50接收供應指令信息、提示指令信息、噴射指令信息、傳送指令信息、噴射指令信息、…、排出指令信息。在步驟s71中接收到打印指令信息的處理是打印指令接收處理的示例。
供應指令信息是用于致使供應輥24和25從編輯條件信息的紙盤信息所指示的供應紙盤供應紙張的信息。提示指令信息是用于致使傳送輥26將紙張傳送到所供應的紙張的初始記錄區面對記錄頭28的位置的信息。噴射指令信息是指示記錄頭28噴射墨水以將圖像記錄在面對記錄頭28的紙張的記錄區時的時間的信息。傳送指令信息是用于致使傳送輥26將紙張傳送到記錄區面對記錄頭28的位置的信息,接下來在該記錄區上圖像將被記錄。排出指令信息是用于致使傳送輥26排出上面已經記錄有圖像的紙張的信息。
接下來,控制單元40確定是否完成預打印處理(步驟s76)。更具體地,響應于確定第一值“開”被設置成與預打印操作關聯的所有標志信息,控制單元40確定完成預打印處理(s76:是)。另一方面,響應于確定第二值“關”被設置成與預打印操作關聯的標志信息中的至少一個,控制單元40確定沒有完成預打印處理(s76:否)。
接收到準備指令信息和接收到打印指令信息之間的間隔例如根據步驟s48的處理量、通信網絡的狀態等而有所不同。也就是說,有可能在接收到打印指令信息時,沒有完成作為觸發機制的準備指令信息開始的預打印處理。另外,有可能當控制單元40沒有接收到第二準備指令信息時,控制單元40尚未執行第二預打印處理的部分。步驟s76的處理是確定處理的示例。
響應于確定尚未執行將在預打印處理中執行的預打印操作中的至少一個(s76:否),控制單元40致使操作單元20執行未執行的預打印操作(步驟s77)。更具體地,響應于步驟s93至s97的處理不正被執行,控制單元40根據接收到的供應指令信息來執行與步驟s93至s97對應的處理。另外,響應于沒步驟s98至s100的處理不正被執行,控制單元40根據接收到的提示指令信息來執行與步驟s98至s100對應的處理。
另一方面,響應于已經執行預打印處理中將執行的所有預打印操作(s76:是),控制單元40跳過步驟s77。另外,響應于已經執行步驟s93至s97的處理并且已經接收到供應指令信息的事實,控制單元40不根據接收到的供應指令信息來執行處理。類似地,響應于已經執行步驟s98至s100的處理并且已經接收到提示指令信息的事實,控制單元40不根據接收到的提示指令信息來執行處理。
接下來,控制單元40致使設置在閃噴位置的托架27的記錄頭28向著墨水接收單元33噴射墨水(步驟s78)。步驟s78的處理是閃噴處理的示例。也就是說,響應于已經接收到打印指令信息并且已經執行所有預打印操作的事實,執行根據例示實施例的閃噴處理。然而,可在接收到打印指令信息之前和執行步驟s92或步驟s94之后執行閃噴處理。然后,響應于閃噴處理正被完成,控制單元40致使操作單元20執行打印操作(步驟s79至s82)。打印操作是根據打印指令信息所指示的執行條件將打印數據所代表的圖像記錄在紙張上的操作。步驟s79至s82的處理是打印處理的示例。
控制單元40根據接收到的噴射指令信息來執行噴射處理(步驟s79)。也就是說,在致使托架27在主掃描方向上從一側移向另一側的同時,控制單元40致使記錄頭28在噴射指令信息所指示的噴射時間噴射墨水。然后,控制單元40確定圖像是否已經被記錄在紙張的所有記錄區上(步驟s80)。換句話講,控制單元40確定在緊挨著的之前的步驟s79中使用的噴射指令信息之后噴射指令信息和排出指令信息中的哪一個被接收到。
響應于在紙張的所有記錄區中尚未記錄圖像(s80:否),控制單元40根據接收到的傳送指令信息來執行傳送處理(步驟s81)。也就是說,控制單元40致使傳送輥26將紙張傳送達傳送指令信息所指示的傳送量。控制單元40重復步驟s79至s81的處理,直到圖像被記錄在紙張的所有記錄區中(s80:否)。
響應于確定圖像已經被記錄在紙張的所有記錄區中(s80:是),控制單元40根據接收到的排出指令信息來執行排出處理(步驟s82)。也就是說,控制單元40致使傳送輥26將在其上已經記錄有圖像的紙張排出到打印機10的外部。應該注意,當在指定的內容數據中包括多個頁數據時,重復地執行步驟s78至s82的處理。結果,步驟s48中生成的打印數據所代表的圖像(即,指定的內容數據所代表的圖像)被記錄在紙張上。
(例示實施例的有利效果)
根據上述的例示實施例,在打印指令信息之前,發送包括特定條件信息的準備指令信息。另外,由于特定條件信息被從所保存的條件信息中提取出來,因此特定執行條件被從實際用于打印操作的執行條件中提取出來。結果,變得可以致使打印機執行其操作內容根據特定執行條件而變化的預打印操作,使得在接收到打印指令信息之前,在預打印操作中處理適宜的操作內容。
另外,根據上述例示實施例,變得可以響應于作為觸發機制的第一準備指令信息來開始其操作內容不根據特定指令條件而變化的預打印操作,并且響應于作為觸發機制的第二準備指令信息來開始其操作內容根據特定指令條件而變化的預打印操作。也就是說,變得可以致使打印機在接收到打印指令信息之前的適宜時間執行具有適宜操作內容的預打印操作。
此外,由于當不發送第二準備指令信息時根據供應指令信息、提示指令信息等來執行第二預打印處理,因此變得可以將具有特定質量的圖像記錄到紙張上。此外,由于在接收到打印指令信息之后執行閃噴處理,因此變得可以縮短從閃噴處理終止到打印處理開始的待機時間。結果,變得可以抑制圖像記錄質量的降低。
根據上述例示實施例,由于在執行函數s25時確定是否要發送準備指令信息,因此變得可以防止打印機10執行不必要的預打印操作。也就是說,可以指令打印機10在適宜時間執行預打印操作。此外,由于在打印機10根據準備指令信息執行預打印操作的同時在信息處理終端50上生成打印數據,因此變得可以縮短fpot,fpot為在標準設置畫面上指定“確認”按鈕直到從打印機排出初始紙張而逝去的所需要時間。
此外,當打印機10針對具有特定尺寸的紙張來形成圖像時,在保留了指定的內容數據的較長邊方向和較短邊方向之后,生成打印數據。因此,在這種情況下,相比于圖像被記錄在具有非特定尺寸的紙張上的情況,生成處理可能花費更長的時間。在各方面,根據上述配置,通過同時執行信息處理終端50的生成處理和打印機10的預打印處理,變得可以縮短fpot。此外,通過如上所述同時執行信息處理終端50的生成處理和打印機10的開關處理,可進一步縮短fpot。
根據上述例示實施例,通過通知單元來通知打印機10接收到準備指令信息的事實。結果,變得可以讓已經指示執行打印操作的用戶識別到打印機已經開始操作。
根據上述例示實施例,打印機10被配置為在具有a4大小的紙張的短邊方向上傳送該紙張。這樣的配置提供了與在紙張的長邊方向上傳送該紙張的情況相比可以減小從傳送紙張起至完成打印而逝去的時間的優點。而且,根據上述例示實施例的打印機10被提供在其中通過利用創建打印數據的時間來執行預打印操作以便在紙張的短邊方向上傳送該紙張的配置中。因此,能夠減小完成一頁紙的打印所需的時間以及fpot。
在上述例示實施例中,通過根據例示實施例致使cpu41和61執行打印機10和信息處理終端50上的rom42或存儲器62中存儲的各種程序,來實現控制單元執行的處理的示例。然而,控制單元的配置不限于此示例,并且可通過諸如集成電路的硬件來實現處理中的部分或全部。
另外,被實現為打印機10和信息處理終端50的本公開的一些方面可被實現為致使打印機10和信息處理終端50執行處理的程序。這些程序可被設置為存儲在與能夠經由通信網絡與打印機10和信息處理終端50連接的服務器連接的非暫態計算機可讀介質中,非瞬時計算機可讀介質包括但不限于ram、rom、閃存存儲器、eeprom、cd介質、dvd介質、硬盤驅動、軟盤驅動和存儲器。可經由諸如互聯網的通信網絡將程序作為指示程序的信息或信號進行傳遞。