欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

便于進行無驅(qū)動打印的系統(tǒng)的制作方法

文檔序號:6354265閱讀:287來源:國知局
專利名稱:便于進行無驅(qū)動打印的系統(tǒng)的制作方法
技術(shù)領(lǐng)域
所公開的實施例涉及用于計算機系統(tǒng)的打印機。更具體地,公開的實施例涉及無需管理特定于打印機的驅(qū)動軟件而工作的基于計算機的打印系統(tǒng)。
背景技術(shù)
對于計算機用戶,打印機往往是成問題的。在計算機用戶初始安裝打印機時,電纜和電源線的裝配通常不成問題。然而,用戶通常不得不安裝特定于打印機的驅(qū)動程序,這包括從盤載入驅(qū)動程序或者導航到某個網(wǎng)站并下載驅(qū)動程序。即使打印機驅(qū)動程序已經(jīng)載入計算機系統(tǒng)中,用戶也常常不得不從打印機制造商的網(wǎng)站下載和安裝該驅(qū)動程序的更新。 這些安裝操作是耗時的,并且通常需要用戶找到和輸入長的軟件許可密鑰。因此,需要一種便于安裝打印機而沒有上述問題的系統(tǒng)。

發(fā)明內(nèi)容
所公開的實施例提供了一種便于無驅(qū)動打印的系統(tǒng)。該系統(tǒng)包括發(fā)現(xiàn)部件,其被配置成識別可訪問的打印機和便于選擇可訪問的打印機,其中該發(fā)現(xiàn)部件還被配置成從可訪問的打印機獲得性能信息。該系統(tǒng)還包括傳輸部件,其被配置成傳輸數(shù)據(jù)到所選擇的打印機,其中該傳輸部件還被配置成從所選擇的打印機獲得性能信息。最后,該系統(tǒng)包括頁面描述語言部件,其被配置成基于所獲得的所選擇的打印機的性能信息而生成用于所選擇的打印機的打印機數(shù)據(jù)。在某些實施例中,該系統(tǒng)提供集成架構(gòu),該集成架構(gòu)使得發(fā)現(xiàn)部件、傳輸部件和頁面描述語言部件能夠被應用訪問。在某些實施例中,該集成架構(gòu)包括提供對發(fā)現(xiàn)部件、傳輸部件和/或頁面描述語言部件的訪問的一個或多個應用編程接口(API)。這些API使得進行調(diào)用(calling)應用能夠通過API與被調(diào)用的其它應用代碼交互。各種函數(shù)調(diào)用、消息或其它類型的啟用 (invocation)(其進一步可以包括各種各樣的參數(shù))可以經(jīng)由API在進行調(diào)用的應用和被調(diào)用的代碼之間被傳遞。此外,API可以向進行調(diào)用的應用代碼提供使用在API中定義并且在被調(diào)用的應用代碼中實現(xiàn)的數(shù)據(jù)類型或類別的能力。用于通過該API進行操作的方法包括經(jīng)由該API傳遞一個或多個函數(shù)調(diào)用、消息、其它類型的啟用或參數(shù)。在某些實施例中,在從可訪問的打印機獲得性能信息時,發(fā)現(xiàn)部件被配置成從該可訪問的打印機獲得當前狀態(tài)信息。在某些實施例中,該當前狀態(tài)信息能夠規(guī)定打印機是否離線;打印機是否正忙; 或打印機中是否存在錯誤狀況。在某些實施例中,打印機的性能信息能夠規(guī)定例如打印機所支持的文件大??;打印機所支持的文件格式版本;打印機所支持的文件格式擴展名(extension);打印機所支持的色彩空間;打印機所支持的位深度;或打印機所支持的分辨率。在某些實施例中,從所選擇的打印機獲得的性能信息使得系統(tǒng)能夠生成用于所選
5擇的打印機的打印機數(shù)據(jù),而無需系統(tǒng)維護用于所選擇的打印機的特定于打印機的軟件或特定于打印機的配置信息。一些實施例包括在如下環(huán)境中的一個或多個應用編程接口(API)在該環(huán)境中, 進行調(diào)用的程序代碼通過一個或多個所述接口與被調(diào)用的其它程序代碼交互。各種函數(shù)調(diào)用、消息或其它類型的啟用(其進一步可以包括各種各樣的參數(shù))可以經(jīng)由API在進行調(diào)用的程序和被調(diào)用的代碼之間被傳遞。此外,API可以向進行調(diào)用的程序代碼提供使用在 API中定義并且在被調(diào)用的程序代碼中實施的數(shù)據(jù)類型或類別的能力。至少某些實施例包括進行調(diào)用的軟件部件通過API與被調(diào)用的軟件部件進行交互的環(huán)境。用于在該環(huán)境中通過API進行操作的方法包括經(jīng)由該API傳遞一個或多個函數(shù)調(diào)用、消息、及其它類型的啟用或參數(shù)。


圖1示出根據(jù)所公開的實施例的打印系統(tǒng)。圖2示出根據(jù)所公開的實施例的在執(zhí)行打印操作時涉及的部件。圖3給出一個流程圖,其示出根據(jù)所公開的實施例的打印處理。圖4給出一個流程圖,其示出根據(jù)所公開的實施例的無驅(qū)動打印處理。圖5給出一個流程圖,其示出根據(jù)所公開的實施例的從打印機角度而言的打印處理。圖6示出根據(jù)所公開的實施例的支持通用光柵格式(universal-raster-format) 的(支持URF的)關(guān)鍵字(key)的結(jié)構(gòu)。圖7示出根據(jù)所公開的實施例的獨立于設(shè)備的位圖容器的結(jié)構(gòu)。圖8示出根據(jù)所公開的實施例,軟件部件如何通過API彼此調(diào)用。圖9示出根據(jù)所公開的實施例,可以如何通過系統(tǒng)棧(system stack)進行API調(diào)用。
具體實施例方式給出以下描述以使得任何本領(lǐng)域技術(shù)人員能夠進行和使用所公開的實施例,并且以下描述是在特定應用及其需求的情境下被提供的。對所公開的實施例的各種修改對本領(lǐng)域技術(shù)人員而言將是容易明白的,并且這里定義的一般原理可以應用于其它實施例和應用,而不背離所公開的實施例的精神和范圍。因此,所公開的實施例不限于示出的實施例, 而是要符合與這里公開的原理和特征一致的最寬范圍。在該具體實施方式
部分描述的數(shù)據(jù)結(jié)構(gòu)和代碼通常存儲在非暫態(tài)性計算機可讀存儲介質(zhì)上,該非暫態(tài)性計算機可讀存儲介質(zhì)可以是能夠存儲由計算機系統(tǒng)使用的代碼和 /或數(shù)據(jù)的任何設(shè)備或介質(zhì)。該非暫態(tài)性計算機可讀存儲介質(zhì)包括但不限于易失性存儲器;非易失性存儲器;磁和光存儲設(shè)備,諸如磁盤驅(qū)動器、磁帶、⑶(緊湊盤)、DVD (數(shù)字通用盤或數(shù)字視頻盤);或現(xiàn)在已知的或以后開發(fā)的能夠存儲代碼和/或數(shù)據(jù)的其它介質(zhì)。在該具體實施方式
部分描述的方法和處理可以體現(xiàn)為代碼和/或數(shù)據(jù),其可以存儲在如上所述的非暫態(tài)性計算機可讀存儲介質(zhì)中。當計算機系統(tǒng)讀取和執(zhí)行存儲在非暫態(tài)性計算機可讀存儲介質(zhì)上的代碼和/或數(shù)據(jù)時,計算機系統(tǒng)執(zhí)行體現(xiàn)為數(shù)據(jù)結(jié)構(gòu)和代碼并存儲在該非暫態(tài)性計算機可讀存儲介質(zhì)中的方法和處理。而且,以下所述的方法和處理可以包括在硬件模塊中。例如,硬件模塊可以包括但不限于,專用集成電路(ASIC)芯片、現(xiàn)場可編程門陣列(FPGA)、以及現(xiàn)在已知的或以后開發(fā)的其它可編程邏輯器件。當硬件模塊被激活時,該硬件模塊執(zhí)行包括在該硬件模塊中的方法和處理。無驅(qū)動打印所公開的實施例便于實現(xiàn)“無驅(qū)動打印”,其使得計算設(shè)備能夠向打印機進行打印而不必擔心安裝或更新相關(guān)聯(lián)的打印機驅(qū)動軟件。這是通過增加發(fā)現(xiàn)協(xié)議(例如, Bonjour )和相關(guān)聯(lián)的網(wǎng)絡(luò)打印協(xié)議(例如,IPP)從而這些協(xié)議返回用于生成針對所選擇的打印機的打印機數(shù)據(jù)的打印機性能信息來實現(xiàn)的。注意,所公開的實施例不同于需要為每個所支持的打印機維護特定驅(qū)動程序的現(xiàn)有系統(tǒng)。在這些現(xiàn)有系統(tǒng)中,特定打印機的特征和性能被存儲在由打印機廠商創(chuàng)建的靜態(tài)性能文件(例如,PostScript 打印機描述(PostScript Printer Description,PPD)文件) 中,并且這些靜態(tài)性能文件存儲在移動設(shè)備本身上。與此對比,所公開的實施例詢問打印機 (不是靜態(tài)文件)以確定打印機的“當前”操作性能。除了發(fā)現(xiàn)協(xié)議和網(wǎng)絡(luò)打印協(xié)議之外, 所公開的實施例還提供規(guī)定打印頁面的外觀(appearance)的頁面描述語言。所公開的實施例此外還提供一種架構(gòu),其使得應用能夠容易地使用發(fā)現(xiàn)協(xié)議、網(wǎng)絡(luò)打印協(xié)議和頁面描述語言。該架構(gòu)可以利用使得應用能夠訪問這些部件的一個或多個 API來實現(xiàn)。下面描述所公開的實施例的細節(jié),但是首先我們描述打印系統(tǒng)。打印系統(tǒng)圖1示出根據(jù)所公開的實施例的打印系統(tǒng)100。打印系統(tǒng)100包括計算設(shè)備102 和打印機106。計算設(shè)備102—般可以包括任何類型的計算機系統(tǒng)或計算設(shè)備,例如個人計算機系統(tǒng)、服務器計算機系統(tǒng)、膝上型計算機、筆記本計算機、平板計算機、個人數(shù)字助理、 數(shù)字媒體接收機(例如,Apple TV )、數(shù)碼相框、蜂窩電話、或便攜式導航系統(tǒng)。打印機106 一般可以包括能夠?qū)⑽谋緮?shù)據(jù)或圖像打印到某些類型的打印介質(zhì)(例如,紙或相片介質(zhì)) 上的任何設(shè)備或系統(tǒng)。例如,打印機106可以包括獨立的打印機或者另選地包括打印系統(tǒng), 其中打印系統(tǒng)包括耦接到一個或多個打印機的打印服務器。計算設(shè)備102通過網(wǎng)絡(luò)104耦接到打印機106。網(wǎng)絡(luò)104 —般可以包括能夠?qū)⒕W(wǎng)絡(luò)節(jié)點耦接在一起的任何類型的通信通道。例如,網(wǎng)絡(luò)104可以包括無線網(wǎng)絡(luò)連接,例如 Bluetooth (藍牙) 網(wǎng)絡(luò)連接;蜂窩網(wǎng)絡(luò)連接(例如,3G/4G網(wǎng)絡(luò)或Edge網(wǎng)絡(luò));基于在電氣與電子工程師協(xié)會(IEEE)802. 11中描述的標準的網(wǎng)絡(luò)連接;無線個人區(qū)域網(wǎng)(PAN)連接,例如基于IEEE 802. 15中描述的標準的網(wǎng)絡(luò)連接;或任何對等(無線或有線)網(wǎng)絡(luò)技術(shù)。網(wǎng)絡(luò)104還可包括有線網(wǎng)絡(luò)連接,例如基于IEEE 802. 3中描述的標準的網(wǎng)絡(luò)連接。在打印處理中,計算設(shè)備102初始通過下面將更詳細地描述的發(fā)現(xiàn)協(xié)議與打印機 106進行聯(lián)系。接下來,在打印機106被識別和選擇之后,有可以若干種可以完成打印的方式。如果計算設(shè)備102具有打印機106的驅(qū)動程序,或者如果打印機106支持無驅(qū)動的打印,則計算設(shè)備102可以使用該驅(qū)動程序或無驅(qū)動打印協(xié)議來生成用于打印作業(yè)的打印機數(shù)據(jù)。打印機數(shù)據(jù)然后可通過網(wǎng)絡(luò)104被發(fā)送給打印機106。下面更詳細地描述該處理。 (注意,術(shù)語“無驅(qū)動打印”指的是在計算設(shè)備上無需特定于打印機的軟件或特定于打印機的配置而工作的打印技術(shù)。)
打印部件圖2示出根據(jù)所公開的實施例,在執(zhí)行打印操作時涉及的部件。參考圖2,計算設(shè)備102包括需要執(zhí)行打印操作的應用202。例如,應用202可以包括允許用戶打印特定文件的打印實用程序??商鎿Q地,應用202可以包括定期需要執(zhí)行打印操作的任何類型的通用或?qū)S玫幕谟嬎銠C的應用,例如字處理程序。應用202向API 203進行調(diào)用,API 203提供便于訪問許多部件的架構(gòu),這些部件包括發(fā)現(xiàn)部件204、頁面描述語言部件205和網(wǎng)絡(luò)打印部件206。在操作過程中,應用202使用實施發(fā)現(xiàn)協(xié)議(例如,Bonjour )的發(fā)現(xiàn)部件204,來識別可用的打印機以及便于選擇所識別的打印機之一。注意,發(fā)現(xiàn)部件204與打印機106 中相對應的發(fā)現(xiàn)部件212通信(以虛線230示出)。接下來,在選擇了打印機106之后,應用202使用頁面描述語言部件205來呈現(xiàn)(render)打印作業(yè)以產(chǎn)生相對應的打印機數(shù)據(jù) 208。打印機數(shù)據(jù)208然后被發(fā)送給網(wǎng)絡(luò)打印部件206,網(wǎng)絡(luò)打印部件206實施用于遠程打印的網(wǎng)絡(luò)協(xié)議,例如互聯(lián)網(wǎng)打印協(xié)議(IPP)。網(wǎng)絡(luò)打印部件206將打印機數(shù)據(jù)208傳送給打印機106中相對應的網(wǎng)絡(luò)打印部件214(以虛線232示出)。如上所述,打印機106包含發(fā)現(xiàn)部件212和網(wǎng)絡(luò)打印部件214。此外,打印機106 包括支持使用例如JPEG (聯(lián)合圖像專家組)標準216、PDF (便攜式文檔格式)標準217和 RF(光柵格式(Raster Format))標準218進行打印的部件。這些部件通過打印控制器219 發(fā)送數(shù)據(jù)到打印機106中的打印頭220,從而打印控制器219可以轉(zhuǎn)換該數(shù)據(jù),并且打印頭 220可以將轉(zhuǎn)換后的數(shù)據(jù)打印到某種類型的打印介質(zhì)(例如,紙)上。打印處理圖3給出一個流程圖,其示出根據(jù)所公開的實施例的打印處理。首先,系統(tǒng)使用發(fā)現(xiàn)協(xié)議(例如,Bonjour 協(xié)議)來識別可以由計算設(shè)備102訪問的打印機(步驟302)。如上所述,該發(fā)現(xiàn)協(xié)議還從打印機獲得性能信息。接下來,系統(tǒng)向用戶(或應用)給出可用打印機的列表,并且允許該用戶(或該應用)選擇所識別的打印機之一(步驟304)。接下來,系統(tǒng)檢查所選擇的打印機的互操作性(步驟306)。例如,系統(tǒng)可以從該打印機獲得指出該打印機支持JPEG、PDF和RF的信息,在這種情況下系統(tǒng)可以使用任何所支持的格式。另一方面,如果該信息指出打印機只能支持RF,則系統(tǒng)使用RF來向該打印機發(fā)送數(shù)據(jù)。接下來,系統(tǒng)具有若干選項。如果所選擇的打印機支持無驅(qū)動打印,則系統(tǒng)可以從所選擇的打印機獲得打印機性能信息,并且可以基于所獲得的打印機性能信息生成用于該打印機的打印機數(shù)據(jù)。接下來,系統(tǒng)可以向所選擇的打印機發(fā)送所生成的打印機數(shù)據(jù)(步驟308)。如上所述,該性能信息可以在發(fā)現(xiàn)協(xié)議的詢問過程中或者在隨后的網(wǎng)絡(luò)打印協(xié)議詢問過程中從所選擇的打印機獲得。另一方面,如果移動設(shè)備包含用于所選擇的打印機的特定驅(qū)動程序,則系統(tǒng)可以使用該特定驅(qū)動程序來生成和發(fā)送打印機數(shù)據(jù)到所選擇的打印機(步驟310)。系統(tǒng)可以可替換地發(fā)送打印作業(yè)到包括一個或多個提供打印服務的服務器的云(cloud)。這使得該云能夠生成用于所選擇的打印機的打印機數(shù)據(jù)(步驟312)。通常,系統(tǒng)可以基于若干因素(例如,功耗和/或計算負載),在無驅(qū)動打印、云打印、和使用本地驅(qū)動程序當中進行選擇。在一個實施例中,如果可能的話,系統(tǒng)使用無驅(qū)動打印,而如果不支持無驅(qū)動打印,則系統(tǒng)使用用于該打印機的本地驅(qū)動程序。最后,如果不支持這樣的本地驅(qū)動程序,則系統(tǒng)使用云來生成打印機數(shù)據(jù)。打印機件能信息如上所述,打印機性能信息可以在發(fā)現(xiàn)協(xié)議(Bonjour )的詢問過程中或者在隨后的網(wǎng)絡(luò)打印協(xié)議(IPP)詢問過程中從所選擇的打印機獲得。更具體地,在發(fā)現(xiàn)協(xié)議過程中,所選擇的打印機可以返回特定于打印機的、規(guī)定所選擇的打印機可以接受什么類型的數(shù)據(jù)的信息和規(guī)定所選擇的打印機的性能的信息。而且,該特定于打印機的信息使得計算機設(shè)備能夠生成用于所選擇的打印機的打印機數(shù)據(jù),而無需計算機維護用于所選擇的打印機的特定于打印機的軟件或特定于打印機的配置信息。一旦移動設(shè)備實際上通過IPP在與打印機通信,IPP協(xié)議就可以提供相同的特定于打印機的信息。(這避免了必須高速緩存發(fā)現(xiàn)協(xié)議和網(wǎng)絡(luò)打印協(xié)議之間的信息。)該打印機性能信息可以規(guī)定打印介質(zhì)的屬性,例如介質(zhì)尺寸、類型(例如,紙或者相片介質(zhì))和頁邊距。該打印機性能信息還可規(guī)定修整(finishing)屬性,例如關(guān)于裝訂、 穿孔和目錄單的屬性。打印機性能信息此外還可以規(guī)定關(guān)于打印機特征的信息,例如它是否可以兩面印刷(雙面)、使用哪個輸出位、以及使用哪個介質(zhì)來源(托盤)。打印機性能屬性還可規(guī)定關(guān)于文件的屬性,例如打印機所支持的文件大小、打印機所支持的文件格式版本、以及打印機所支持的文件格式擴展名。打印機性能信息還可規(guī)定各種打印機性能,例如打印機所支持的色彩空間、打印機所支持的位深度、以及打印機所支持的分辨率。打印機性能信息此外還可以規(guī)定從打印機獲得的當前狀態(tài)信息。例如,該當前狀態(tài)信息可以規(guī)定打印機是否離線;打印機是否正忙;或打印機中是否存在錯誤狀況。當用戶正在選擇可用的打印機時,該當前狀態(tài)信息可以被提供給用戶。無驅(qū)動的打印圖4給出一個流程圖,其示出根據(jù)所公開的實施例的無驅(qū)動打印處理。(該流程圖示出在圖3的步驟308中進行的無驅(qū)動打印處理中發(fā)生的操作的一部分。)首先,系統(tǒng)獲得所選擇的打印機的性能信息(步驟402)。如上所述,該性能信息可以在作為初始的發(fā)現(xiàn)協(xié)議的一部分的詢問過程中或者在隨后的IPP詢問過程中從所選擇的打印機獲得。接下來, 系統(tǒng)排隊等候所選擇的打印機(步驟404)并且允許用戶(或應用)為打印作業(yè)選擇具體的介質(zhì)類型(步驟406)。系統(tǒng)然后基于所獲得的性能信息生成用于所選擇的打印機的打印機數(shù)據(jù)(步驟 408)。接下來,系統(tǒng)向所選擇的打印機發(fā)送該打印機數(shù)據(jù)(步驟410)。最后,系統(tǒng)接收所選擇的打印機的狀態(tài)信息,其指出打印機數(shù)據(jù)是否被成功地打印(步驟412)。在打印機側(cè)的打印處理圖5給出一個流程圖,其示出根據(jù)所公開的實施例的從打印機角度而言的打印處理。首先,打印機使用打印機中的發(fā)現(xiàn)部件來與客戶端通信,以便于客戶端選擇打印機。在發(fā)現(xiàn)處理中,發(fā)現(xiàn)部件可以向客戶端提供該打印機的性能信息(步驟50 。接下來,打印機使用打印機中的傳輸部件從客戶端接收打印機數(shù)據(jù)。在該處理中,傳輸部件還可向客戶端提供該打印機的性能信息(步驟504)。最后,打印機可以使用打印機中的頁面描述語言部件來打印從客戶端接收到的打印機數(shù)據(jù)(步驟506)。優(yōu)選的文檔格式為了便于無驅(qū)動打印,某些所公開的實施例向互聯(lián)網(wǎng)打印協(xié)議(IPP)標準增加了新的關(guān)鍵字。特別地,某些實施例包括新的優(yōu)選文檔格式的關(guān)鍵字(作為MIME媒體類型), 其使得打印機能夠從該打印機所支持的所有文檔格式中規(guī)定“優(yōu)選的”文檔格式。該優(yōu)選的文檔格式可用于提高性能。例如,優(yōu)選的文檔格式可以比打印機所支持的其它文檔格式更高效地打印。注意,IPP標準已經(jīng)提供了支持文檔格式的關(guān)鍵字,其規(guī)定打印機所支持的具體文檔格式。然而,現(xiàn)有的IPP標準不提供任何方式來指示所支持的文檔格式中哪種為優(yōu)選的。支持URF的關(guān)鍵字某些實施例還向發(fā)現(xiàn)協(xié)議和傳輸協(xié)議增加了新的“支持URF的關(guān)鍵字”。更具體地,某些實施例向發(fā)現(xiàn)協(xié)議增加了新的支持URF的關(guān)鍵字作為Bonjour TXT記錄的一部分,還向傳輸協(xié)議增加了類似的支持URF的關(guān)鍵字作為一種新的用于IPP協(xié)議的打印機描述屬性。該支持URF的關(guān)鍵字規(guī)定打印機所支持的標準化的一組性能,其使得客戶端能夠生成針對該客戶端的打印機數(shù)據(jù),而無需客戶端維護用于所選擇的打印機的特定于打印機的軟件或者特定于打印機的配置信息。標準化的這組性能被選擇為使得客戶能夠生成用于任何類型的打印機的打印機數(shù)據(jù)。在一個實施例中,標準化的這組性能包括也出現(xiàn)在圖6中的支持URF的關(guān)鍵字600 的圖表中的以下內(nèi)容(1)打印機所支持的色彩空間;(2)打印機所支持的針對特定色彩空間的位深度;(3)打印機所支持的最大拷貝數(shù);(4)打印機是否支持雙面打印;(5)打印機所支持的特定修整(例如,裝訂、折疊、穿孔);(6)打印機所支持的輸入槽(input slot);(7)面朝上/面朝下的輸入朝向;(8)打印機所支持的介質(zhì)類型(例如,普通紙、亮光紙);(9)打印機所支持的輸出盒;(10)面朝上/面朝下的輸出朝向;(11)支持的打印質(zhì)量;以及(12)支持的分辨率。在另外的實施例中,支持URF的關(guān)鍵字可以包括這些性能的子集。獨立于設(shè)備的位圖容器某些實施例支持一種新的用于打印機數(shù)據(jù)的獨立于設(shè)備的位圖容器。例如,獨立于設(shè)備的位圖容器可以被實現(xiàn)為多目的網(wǎng)絡(luò)郵件擴充(MIME)子類型。這種新的獨立于設(shè)備的位圖容器包括文件頭、以及至少一組頁面頭(page header)和頁面位圖。在一個實施例中,頁面頭可以具有為要由打印機打印的頁面規(guī)定以下屬性的預定格式。(這些屬性也出現(xiàn)在圖7中示出的獨立于設(shè)備的位圖容器700中。)(1)位深度;(2)色彩空間;(3)雙面模式;
(4)打印質(zhì)量;(5)介質(zhì)類型;(6)輸入槽;(7)輸出盒;(8)拷貝數(shù)目;(9) 一個或多個修整;(10)寬度;(11)高度;和(12)分辨率。在可替換實施例中,頁面頭可以具有規(guī)定這些屬性的子集的預定格式。jML在某些實施例中,系統(tǒng)可以執(zhí)行優(yōu)化以提升速度、提高打印質(zhì)量和節(jié)省電池電力。 這可以通過為打印機數(shù)據(jù)選擇減少生成打印機數(shù)據(jù)時涉及的計算操作數(shù)量的文件類型、從而提高速度且減小計算設(shè)備所耗費的功率量來實現(xiàn)。例如,如果打印機支持PDF并且計算設(shè)備正在打印PDF文件,則代替將PDF文件轉(zhuǎn)換成光柵數(shù)據(jù)并將光柵數(shù)據(jù)發(fā)送到打印機,將 PDF文件發(fā)送到打印機使用少得多的電池電力并且更快。(注意,通過節(jié)省計算操作和計算時間,系統(tǒng)騰出資源和時間以執(zhí)行其它操作,例如,以提高打印質(zhì)量。)同樣,在云將生成的打印機數(shù)據(jù)返回到計算設(shè)備的情況中,系統(tǒng)可以選擇減小打印機數(shù)據(jù)文件大小的文件格式。這減少了將打印機數(shù)據(jù)轉(zhuǎn)發(fā)到打印機所需的數(shù)據(jù)傳送操作數(shù),從而提高了速度以及減小了計算設(shè)備耗費的功率量。在另一個示例中,系統(tǒng)可以通過基于與云往返傳遞數(shù)據(jù)所耗費的功率是否會被將與打印機有關(guān)的呈現(xiàn)(rendering)操作轉(zhuǎn)移到云所節(jié)省的功率所抵消,來在無驅(qū)動打印和云打印之間進行選擇,從而節(jié)省功率。通過使用云,耗費功率的計算操作可以從移動設(shè)備 (其使用電池電力運行)轉(zhuǎn)移到云中的服務器(其使用插座電力(wall power)運行),這有可能節(jié)省大量的電池電力。缺陷解決方案在有些情況下,打印機制造商可能試圖實現(xiàn)遵循無驅(qū)動打印機規(guī)范的打印機,但是這種實現(xiàn)可能具有一個或多個缺陷(bug)。在這種情況下,系統(tǒng)可以維護包含針對具體打印機型號的這樣的已知缺陷的數(shù)據(jù)庫。在打印操作過程中,系統(tǒng)可以首先在數(shù)據(jù)庫中執(zhí)行查找,如果存在針對打印機的一個或多個已知缺陷,則系統(tǒng)可以調(diào)整如何生成打印機數(shù)據(jù)以補償這些已知缺陷。應用編程接口一個或多個應用編程接口(API)可以用于某些實施例。API是由程序代碼部件 (以下稱為“API實現(xiàn)部件”)實現(xiàn)的接口,其允許另一程序代碼部件(以下稱為“API調(diào)用部件”)訪問和使用由API實現(xiàn)部件提供的一個或多個函數(shù)、方法、程序、數(shù)據(jù)結(jié)構(gòu)、類別、和 /或其它服務。API可以定義在API調(diào)用部件和API實現(xiàn)部件之間傳遞的一個或多個參數(shù)。API允許API調(diào)用部件的開發(fā)者(其可以是第三方開發(fā)者)利用由API實現(xiàn)部件提供的規(guī)定特征??赡苡幸粋€API調(diào)用部件,或者可能有多于一個這樣的部件。API可以是計算機系統(tǒng)或程序庫為了支持來自應用的服務請求而提供的源代碼接口。API可以用可在構(gòu)建應用時被解釋或編譯的編程語言來規(guī)定。在某些實施例中,API實現(xiàn)部件可以提供多于一個API,每個API提供API實現(xiàn)部件所實現(xiàn)的功能的不同方面的一個不同視圖或是訪問這些不同方面。在其它實施例中,API 實現(xiàn)部件本身可以經(jīng)由下層API調(diào)用一個或多個其它部件,從而既是API調(diào)用部件,也是 API實現(xiàn)部件。API定義API調(diào)用部件在訪問和使用API實現(xiàn)部件的規(guī)定特征時所使用的語言和參數(shù)。例如,API調(diào)用部件通過由API暴露的一個或多個API調(diào)用或啟用(例如,體現(xiàn)為函數(shù)或方法調(diào)用)來訪問API實現(xiàn)部件的規(guī)定特征,并經(jīng)由所述API調(diào)用或啟用使用參數(shù)來傳遞數(shù)據(jù)和控制信息。API實現(xiàn)部件可以響應于來自API調(diào)用部件的API調(diào)用,通過API返回值。雖然API定義API調(diào)用的語法和結(jié)果(例如,如何啟用API調(diào)用以及API調(diào)用做什么),但是API可以不揭示API調(diào)用如何實現(xiàn)由API調(diào)用規(guī)定的函數(shù)。各種API調(diào)用經(jīng)由一個或多個應用編程接口在調(diào)用(API調(diào)用部件)和API實現(xiàn)部件之間被傳遞。傳遞API調(diào)用可以包括發(fā)布、啟動、啟用、調(diào)用、接收、返回、或響應函數(shù)調(diào)用或消息。函數(shù)調(diào)用或其它API 啟用可以通過參數(shù)列表或其它結(jié)構(gòu)發(fā)送或接收一個或多個參數(shù)。參數(shù)可以是常量、關(guān)鍵字、 數(shù)據(jù)結(jié)構(gòu)、對象、對象類別、變量、數(shù)據(jù)類型、指針、數(shù)組、列表、或指向函數(shù)或方法的指針,或另一種引用要經(jīng)由API傳遞的數(shù)據(jù)或其它項的方式。而且,數(shù)據(jù)類型或類別可以由API提供并且由API實現(xiàn)部件實現(xiàn)。從而,API調(diào)用部件可以通過使用API中提供的定義來聲明這樣的類型或類別的變量,使用指向其的指針,使用或?qū)嵗涑A恐怠R话?,API可用于訪問由API實現(xiàn)部件提供的服務或數(shù)據(jù),或者啟動由API實現(xiàn)部件提供的操作或計算的執(zhí)行。舉例而言,API實現(xiàn)部件和API調(diào)用部件可以是操作系統(tǒng)、庫、 設(shè)備驅(qū)動程序、API、應用程序、或其它模塊(應當理解,API實現(xiàn)部件和API調(diào)用部件可以是彼此相同或不同類型的模塊)。API實現(xiàn)部件在有些情況下可以至少部分地體現(xiàn)為固件、 微代碼、或其它硬件邏輯。在某些實施例中,API可以允許客戶端程序使用由軟件開發(fā)工具包(SDK)庫提供的服務。在其它實施例中,應用或其它客戶端程序可以使用由應用架構(gòu)提供的API。在這些實施例中,應用或客戶端程序可以將調(diào)用結(jié)合到由SDK提供的以及由API 提供的函數(shù)或方法中,或使用SDK中定義的和由API提供的數(shù)據(jù)類型或?qū)ο蟆眉軜?gòu)在這些實施例中可以為響應由所述架構(gòu)定義的各種事件的程序提供主事件循環(huán)。API允許應用利用所述應用架構(gòu)規(guī)定事件以及對事件的響應。在某些實施方式中,API調(diào)用可以向應用報告硬件設(shè)備的性能或狀態(tài),包括關(guān)于諸如輸入性能和狀態(tài)、輸出性能和狀態(tài)、處理性能、 電力狀態(tài)、存儲容量和狀態(tài)、通信性能等方面的性能或狀態(tài),并且API可以部分地由固件、 微代碼、或部分在硬件部件上執(zhí)行的其它低級邏輯來實現(xiàn)。API調(diào)用部件可以是本地部件(S卩,與API實現(xiàn)部件在相同的數(shù)據(jù)處理系統(tǒng)上)或在網(wǎng)絡(luò)上通過API與API實現(xiàn)部件通信的遠程部件(S卩,與API實現(xiàn)部件在不同的數(shù)據(jù)處理系統(tǒng)上)。應當理解,API實現(xiàn)部件也可以用作API調(diào)用部件(即,它可以向由另一 API 實現(xiàn)部件暴露的API進行API調(diào)用),并且API調(diào)用部件也可以通過實現(xiàn)暴露給另一 API調(diào)用部件的API而用作API實現(xiàn)部件。API可以允許以不同編程語言寫成的多個API調(diào)用部件與API實現(xiàn)部件通信(從而,API可以包括用于轉(zhuǎn)換API實現(xiàn)部件和API調(diào)用部件之間的調(diào)用和返回的特征);然而, API也可以由特定編程語言實現(xiàn)。圖8是示出示例性API體系結(jié)構(gòu)的框圖,其可以用于本發(fā)明的某些實施例。如圖 8所示,API體系結(jié)構(gòu)800包括實施API 820的API實現(xiàn)部件810 (例如,操作系統(tǒng)、庫、設(shè)備驅(qū)動程序、API、應用程序、或其它模塊)。API 820規(guī)定可以由API調(diào)用部件830使用的一個或多個函數(shù)、方法、類別、對象、協(xié)議、數(shù)據(jù)結(jié)構(gòu)、格式、和/或API實現(xiàn)部件的其它特征。 API 820可以規(guī)定至少一個調(diào)用約定,其規(guī)定API實現(xiàn)部件中的函數(shù)如何從API調(diào)用部件接收參數(shù),以及該函數(shù)如何返回結(jié)果到API調(diào)用部件。API調(diào)用部件830(例如,操作系統(tǒng)、 庫、設(shè)備驅(qū)動程序、API、應用程序、或其它模塊)通過API 820進行API調(diào)用,以訪問和使用 API實現(xiàn)部件810中由API 820規(guī)定的特征。API實現(xiàn)部件810可以響應于API調(diào)用,通過 API 820向API調(diào)用部件830返回值。將理解,API實現(xiàn)部件810可以包括未通過API 820規(guī)定且對于API調(diào)用部件830 不可用的另外的函數(shù)、方法、類別、數(shù)據(jù)結(jié)構(gòu)、和/或其它特征。應當理解,API調(diào)用部件830 可以與AP1實現(xiàn)部件810位于相同系統(tǒng)上,或者可以遠離API實現(xiàn)部件810設(shè)置并且在網(wǎng)絡(luò)上利用API820訪問API實現(xiàn)部件810。雖然圖8示出單個API調(diào)用部件830與API820 交互,但是應當理解,其它API調(diào)用部件(其可能是以與API調(diào)用部件830不同的語言(或相同的語言)寫成的)也可以使用API 820。API實現(xiàn)部件810、API 820、和API調(diào)用部件830可以存儲在機器可讀介質(zhì)中,機器可讀介質(zhì)包括用于以機器可讀形式存儲信息的任何機構(gòu)(例如,計算機或其它數(shù)據(jù)處理系統(tǒng))。例如,機器可讀介質(zhì)包括磁盤、光盤、隨機存取存儲器、只讀存儲器、閃存器件,等等。在圖9( “軟件?!?的示例性實施例中,應用可以利用服務API向服務A或B進行調(diào)用,以及利用OS API向操作系統(tǒng)(OS)進行調(diào)用。服務A和B可以利用OS API向OS進行調(diào)用。給出了以上對實施例的描述僅僅是出于例示和描述的目的。它們不旨在窮舉或?qū)⒈菊f明書限制到所公開的形式。因此,許多修改和變化對于本領(lǐng)域技術(shù)人員將是顯然的。此外,上述公開不旨在限制本說明書。本說明書的范圍由所附的權(quán)利要求限定。相關(guān)申請本申請基于35U. S.C. §119要求2010年2月9日提交的、由與本申請相同的發(fā)明人作出的題為“Walk-Up Printing without Drivers”的美國臨時專利申請 No. 61/302,916(代理卷號吣.4 1^- 8977舊?1)的優(yōu)先權(quán)。本申請還基于!35U. S. C. § 119 要求2010年6月4日提交的、由與本申請相同的發(fā)明人作出的題為“Walk-Up Printing without Drivers” 的美國臨時專利申請 No. 61/351, 461 (代理卷號 No. APL-P8977USP2) 的優(yōu)先權(quán)。本申請還基于35U.S.C. §119要求2010年8月31日提交的、由與本申請相同的發(fā)明人作出的題為“Walk-UpPrinting without Drivers”的美國臨時專利申請 No. 61/378,832(代理卷號吣.六 1^- 8977舊?3)的優(yōu)先權(quán)。本申請還基于!35U. S. C. § 119 要求2010年2月9日提交的、由與本申請相同的發(fā)明人作出的題為“Framework that Supports Driverless Printing” 的美國臨時專利申請 No. 61/302,922 (代理卷號 No. APL-P9004USP1)的優(yōu)先權(quán)。本申請還基于!35U. S. C. § 119要求2010年6月4日提交的、由與本申請相同的發(fā)明人作出的題為“Framework that Supports DriverlessPrinting”的美國臨時專利申請No. 61/351, 466 (代理卷號No. APL-P9004USP2)的優(yōu)先權(quán)。本申請還基于35U. S.C. § 119要求2010年6月M日提交的、由與本申請相同的發(fā)明人作出的題為“Framework that Supports Driverless Printing”的美國臨時專利申請No. 61/358,306 (代理卷號No. APL-P9004USP3)的優(yōu)先權(quán)。本申請還基于35U. S. C. § 119要求2010年8月31日提交的、由與本申請相同的發(fā)明人作出的題為“Framework that Supports Driverless Printing” 的美國臨時專利申請 No. 61/378,827 (代理卷號 No. APL-P9004USP4)的優(yōu)先權(quán)。 本申請涉及與本申請同日提交的、由與本申請相同的發(fā)明人作出的題為“Walk-Up Printing without Drivers"的未決美國專利申請(尚未分配申請?zhí)?(代理卷號 NO.APL-P8977US1)。本申請還涉及與本申請同日提交的、由與本申請相同的發(fā)明人作出的題為“Printer that Supports Driverless Printing”的未決美國專利申請(尚未分配申請?zhí)?(代理卷號No.APL-P9004US》。本申請還涉及與本申請同日提交的、由與本申請相同的發(fā)明人作出的題為“Framework that Supports Driverless Printing”的未決美國專利申請(尚未分配申請?zhí)?(代理卷號No. APL-P9004US1)。
權(quán)利要求
1.一種便于進行無驅(qū)動打印的系統(tǒng),包括打印機側(cè)的部件,被配置成向客戶端傳送數(shù)據(jù)結(jié)構(gòu),其中該數(shù)據(jù)結(jié)構(gòu)規(guī)定打印機所支持的以下性能 分辨率; 色彩空間; 位深度; 輸入槽;面朝上/面朝下的輸入朝向; 輸出盒;面朝上/面朝下的輸出朝向; 雙面打印支持; 介質(zhì)類型; 拷貝支持; 支持的修整;和打印質(zhì)量;其中該數(shù)據(jù)結(jié)構(gòu)使得客戶端能夠生成用于打印機的打印機數(shù)據(jù),而無需該客戶端維護用于該打印機的特定于打印機的軟件或者特定于打印機的配置信息。
2.如權(quán)利要求1所述的系統(tǒng),其中該打印機側(cè)的部件被配置成在發(fā)現(xiàn)協(xié)議過程中向客戶端發(fā)送所述數(shù)據(jù)結(jié)構(gòu);并且其中該發(fā)現(xiàn)協(xié)議使得客戶端能夠發(fā)現(xiàn)所述打印機。
3.如權(quán)利要求2所述的系統(tǒng), 其中該發(fā)現(xiàn)協(xié)議是Bonjour ;并且其中該數(shù)據(jù)結(jié)構(gòu)是在Bonjour TXT記錄中實現(xiàn)的。
4.如權(quán)利要求1所述的系統(tǒng),其中該打印機側(cè)的部件被配置成在傳輸協(xié)議過程中向客戶端發(fā)送所述數(shù)據(jù)結(jié)構(gòu);并且其中該傳輸協(xié)議使得客戶端能夠向打印機發(fā)送打印機數(shù)據(jù)。
5.如權(quán)利要求4所述的系統(tǒng),其中該傳輸協(xié)議是互聯(lián)網(wǎng)打印協(xié)議IPP ;并且其中該數(shù)據(jù)結(jié)構(gòu)被實現(xiàn)為規(guī)定IPP打印機描述屬性的關(guān)鍵字。
6.一種便于進行無驅(qū)動打印的系統(tǒng),包括打印機側(cè)的部件,被配置成向客戶端傳送數(shù)據(jù)結(jié)構(gòu),其中該數(shù)據(jù)結(jié)構(gòu)規(guī)定針對打印機的優(yōu)選的文檔格式;其中該數(shù)據(jù)結(jié)構(gòu)能夠從該打印機傳送到客戶端,以使得客戶端能夠以該優(yōu)選的文檔格式生成用于該打印機的打印機數(shù)據(jù);并且其中該優(yōu)選的文檔格式比該打印機支持的其它文檔格式更高效地打印。
7.如權(quán)利要求6所述的系統(tǒng),其中該打印機側(cè)的部件被配置成在傳輸協(xié)議過程中向客戶端發(fā)送所述數(shù)據(jù)結(jié)構(gòu);并且其中該傳輸協(xié)議使得客戶端能夠向打印機發(fā)送打印機數(shù)據(jù)。
8.如權(quán)利要求7所述的系統(tǒng),其中該傳輸協(xié)議是互聯(lián)網(wǎng)打印協(xié)議IPP ;并且其中該數(shù)據(jù)結(jié)構(gòu)被實現(xiàn)為規(guī)定IPP打印機描述屬性的關(guān)鍵字。
9.一種便于進行無驅(qū)動打印的系統(tǒng),包括打印機側(cè)的部件,被配置成接收來自客戶端的數(shù)據(jù)結(jié)構(gòu),其中該數(shù)據(jù)結(jié)構(gòu)實現(xiàn)用于打印機數(shù)據(jù)的獨立于設(shè)備的位圖容器;其中該獨立于設(shè)備的位圖容器包括至少一個具有預定格式的頁面頭,所述預定格式針對要由打印機打印的頁面規(guī)定以下屬性, 位深度; 色彩空間; 雙面模式; 打印質(zhì)量; 介質(zhì)類型; 輸入槽; 輸出盒; 拷貝數(shù)目; 一個或多個修整; 寬度; 高度;和分辨率;并且其中該預定格式為客戶端提供一種獨立于設(shè)備的、向打印機傳送打印機屬性的方式, 這使得該客戶端能夠打印到該打印機,而無需該客戶端維護用于該打印機的特定于打印機的軟件或者特定于打印機的配置信息。
10.如權(quán)利要求9所述的系統(tǒng),其中該獨立于設(shè)備的位圖容器被實現(xiàn)為多目的網(wǎng)絡(luò)郵件擴充子類型。
11.一種便于進行無驅(qū)動打印的系統(tǒng),包括客戶端側(cè)的部件,被配置成接收來自打印機的數(shù)據(jù)結(jié)構(gòu),其中該數(shù)據(jù)結(jié)構(gòu)規(guī)定打印機所支持的以下性能 分辨率; 色彩空間; 位深度; 輸入槽;面朝上/面朝下的輸入朝向; 輸出盒;面朝上/面朝下的輸出朝向; 雙面打印支持; 介質(zhì)類型; 拷貝支持; 支持的修整;和打印質(zhì)量;其中該數(shù)據(jù)結(jié)構(gòu)使得客戶端能夠生成用于打印機的打印機數(shù)據(jù),而無需該客戶端維護用于該打印機的特定于打印機的軟件或者特定于打印機的配置信息。
12.一種便于進行無驅(qū)動打印的系統(tǒng),包括客戶端側(cè)的部件,被配置成接收來自打印機的數(shù)據(jù)結(jié)構(gòu),其中該數(shù)據(jù)結(jié)構(gòu)規(guī)定針對該打印機的優(yōu)選的文檔格式;其中該數(shù)據(jù)結(jié)構(gòu)使得客戶端能夠以該優(yōu)選的文檔格式生成用于該打印機的打印機數(shù)據(jù);并且其中該優(yōu)選的文檔格式比該打印機支持的其它文檔格式更高效地打印。
13.一種便于進行無驅(qū)動打印的系統(tǒng),包括客戶端側(cè)的部件,被配置成向打印機發(fā)送數(shù)據(jù)結(jié)構(gòu),其中該數(shù)據(jù)結(jié)構(gòu)實現(xiàn)用于打印機數(shù)據(jù)的獨立于設(shè)備的位圖容器;其中該獨立于設(shè)備的位圖容器包括至少一個具有預定格式的頁面頭,所述預定格式針對要由打印機打印的頁面規(guī)定以下屬性, 位深度; 色彩空間; 雙面模式; 打印質(zhì)量; 介質(zhì)類型; 輸入槽; 輸出盒; 拷貝數(shù)目; 一個或多個修整; 寬度; 高度;和分辨率;并且其中該預定格式為客戶端提供一種獨立于設(shè)備的、向打印機傳送打印機屬性的方式, 這使得該客戶端能夠打印到該打印機,而無需該客戶端維護用于該打印機的特定于打印機的軟件或者特定于打印機的配置信息。
全文摘要
所公開的實施例涉及一種便于進行無驅(qū)動打印的系統(tǒng)。更具體地,所公開的實施例涉及一種存儲便于進行無驅(qū)動打印的數(shù)據(jù)結(jié)構(gòu)的計算機可讀存儲介質(zhì),其中該數(shù)據(jù)結(jié)構(gòu)規(guī)定打印機所支持的下列性能分辨率;色彩空間;位深度;輸入槽;面朝上/面朝下的輸入朝向;輸出盒;面朝上/面朝下的輸出朝向;雙面打印支持;介質(zhì)類型;拷貝支持;支持的修整;以及打印質(zhì)量。注意,該數(shù)據(jù)結(jié)構(gòu)使得客戶端能夠生成用于打印機的打印機數(shù)據(jù),而無需客戶端維護用于該打印機的特定于打印機的軟件或特定于打印機的配置信息。
文檔編號G06F3/12GK102189848SQ201110034709
公開日2011年9月21日 申請日期2011年2月9日 優(yōu)先權(quán)日2010年2月9日
發(fā)明者H·米勒, M·R·斯威特 申請人:蘋果公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
石河子市| 楚雄市| 尚义县| 巩义市| 云安县| 连山| 稷山县| 哈尔滨市| 尚义县| 宁化县| 吕梁市| 山丹县| 万山特区| 永春县| 赤壁市| 呈贡县| 工布江达县| 聂拉木县| 桑植县| 长岭县| 田阳县| 林州市| 南昌县| 建阳市| 化德县| 西安市| 彭山县| 常州市| 贵南县| 布拖县| 建宁县| 平凉市| 祁连县| 景洪市| 皋兰县| 邻水| 阜新| 盘锦市| 慈利县| 公安县| 息烽县|