專(zhuān)利名稱(chēng):信息處理設(shè)備和方法以及控制程序的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種包括打印機(jī)驅(qū)動(dòng)程序的打印控制程序。
背景技術(shù):
為了通過(guò)應(yīng)用程序打印在作為信息處理設(shè)備的例子的計(jì)算機(jī)上所創(chuàng)建的包括文 檔和圖形的文件,使用打印機(jī)驅(qū)動(dòng)程序?qū)⒗L圖數(shù)據(jù)轉(zhuǎn)換成打印機(jī)語(yǔ)言數(shù)據(jù),然后將其發(fā)送 給打印機(jī)。諸如紙張類(lèi)型、雙面打印、彩色打印和進(jìn)紙托盤(pán)等的設(shè)置是由應(yīng)用程序或打印機(jī) 驅(qū)動(dòng)程序所提供的用戶(hù)界面上的打印設(shè)置,并且將用戶(hù)所設(shè)置的數(shù)據(jù)發(fā)送給打印機(jī)作為打 印機(jī)命令。打印機(jī)驅(qū)動(dòng)程序的功能的數(shù)量逐年增多。還存在相當(dāng)多的具有數(shù)百種功能的打印 機(jī)驅(qū)動(dòng)程序。用于進(jìn)行打印機(jī)驅(qū)動(dòng)程序的打印設(shè)置的用戶(hù)界面具有多個(gè)通過(guò)按下用戶(hù)界面 上的按鈕所打開(kāi)的對(duì)話框窗口。這使得很多用戶(hù)對(duì)于在這些窗口中允許用戶(hù)在哪里進(jìn)行期 望的設(shè)置感覺(jué)困惑。因此,打印機(jī)驅(qū)動(dòng)程序提供了功能限制處理(沖突處理)以幫助用戶(hù) 使用功能。術(shù)語(yǔ)“功能限制處理”是指在選擇某一功能時(shí)使得其它功能無(wú)效或者根據(jù)某一 功能的選擇改變其它設(shè)置值或功能。在許多打印機(jī)驅(qū)動(dòng)程序中,例如,不接受同時(shí)設(shè)置“明 信片”和“裝訂”。當(dāng)選擇“明信片”時(shí),在打印機(jī)驅(qū)動(dòng)程序的用戶(hù)界面上使得項(xiàng)目“裝訂”無(wú) 效或者變灰(PTL 1)。此外,隱藏不能設(shè)置的項(xiàng)目以防止用戶(hù)選擇,或者顯示表示項(xiàng)目不可 選擇的圖標(biāo)(PTL 2)。此外,顯示與不能設(shè)置的項(xiàng)目有關(guān)的警告消息(PTL 3)。此外,不僅使用用戶(hù)界面上的顯示、還使用用以改變打印設(shè)置的應(yīng)用程序來(lái)進(jìn)行 打印機(jī)驅(qū)動(dòng)程序的限制處理。在一些情況下,可以將處于限制狀態(tài)的設(shè)置從應(yīng)用程序直接 傳遞給打印機(jī)驅(qū)動(dòng)程序。在這類(lèi)情況下,如果打印機(jī)驅(qū)動(dòng)程序?qū)⒃撛O(shè)置轉(zhuǎn)換成打印機(jī)命令, 則在打印機(jī)中發(fā)生錯(cuò)誤。因此,打印機(jī)驅(qū)動(dòng)程序還在打印過(guò)程中進(jìn)行功能限制處理以將打 印設(shè)置改變成使得可以進(jìn)行打印的值。其間,由于安全意識(shí)的增強(qiáng)和成本的降低等,要求固定打印設(shè)置的特定功能。例 如,如果在彩色打印機(jī)中固定單色打印設(shè)置,則可以降低打印所需的調(diào)色劑或墨的成本。例 如,如果固定了用于以縮小尺寸將兩頁(yè)打印在一頁(yè)上的二合一打印設(shè)置或者用于在雙面上 進(jìn)行打印的雙面打印設(shè)置,則可以減少薄片的數(shù)量。然而,用于固定值的功能可能經(jīng)常與限制處理相沖突。例如,如果固定了雙面打印 設(shè)置,則由于在選擇不適用于雙面打印的薄片類(lèi)型時(shí)難以確定要應(yīng)用什么限制,因而可能 發(fā)生問(wèn)題。在現(xiàn)有技術(shù)中,通常采用了用于定制打印機(jī)驅(qū)動(dòng)程序本身以創(chuàng)建不同的專(zhuān)用驅(qū) 動(dòng)程序的方法。這需要針對(duì)每一用戶(hù)要求都要?jiǎng)?chuàng)建打印機(jī)驅(qū)動(dòng)程序。另一可能的解決方 案是通過(guò)外部插件程序添加新的限制處理規(guī)則(PTL 4)。另一可能的方法包括用于嘗試固 定盡可能多的設(shè)置并且在可以通過(guò)限制處理進(jìn)行設(shè)置的改變時(shí)改變打印設(shè)置的方法(PTL 5)。存在一種用于自動(dòng)補(bǔ)充與當(dāng)前保持的限制處理規(guī)則相反的限制處理規(guī)則的技術(shù)。此外,開(kāi)發(fā)者可以針對(duì)某一功能名稱(chēng)來(lái)描述有效的或被啟用的所有規(guī)則,并且如 上所述,可以省略無(wú)效的或被關(guān)閉的規(guī)則。通過(guò)推理引擎自動(dòng)生成被關(guān)閉的規(guī)則。相反,開(kāi)發(fā)者可以針對(duì)某一功能名稱(chēng)來(lái)描述被關(guān)閉的所有規(guī)則,并且如上所述,可以省略被啟用的 規(guī)則。通過(guò)推理引擎自動(dòng)生成被啟用的規(guī)則。開(kāi)發(fā)者還可以針對(duì)某一功能名稱(chēng)來(lái)描述被啟 用或被關(guān)閉的所有規(guī)則。在這種情況下,不自動(dòng)生成規(guī)則。當(dāng)在左邊使用“功能名稱(chēng)(ON), 功能名稱(chēng)(OFF) ”形式對(duì)項(xiàng)進(jìn)行描述并且在右邊對(duì)項(xiàng)目進(jìn)行描述時(shí),使用與左邊的形成相同 的0N/0FF形式。在這種情況下,自動(dòng)生成規(guī)則(PTL 6)。 然而,在相關(guān)技術(shù)的方法中,難以完全固定值。當(dāng)通過(guò)外部插件程序插入限制處理 規(guī)則時(shí),外部插件程序需要預(yù)先知道打印機(jī)驅(qū)動(dòng)程序的所有限制處理規(guī)則(還稱(chēng)為“沖突 規(guī)則”)。此外,可以擴(kuò)展打印機(jī)驅(qū)動(dòng)程序的主體的功能,并且還可以擴(kuò)展限制處理。在這種 情況下,還需要從外部插件程序插入新的改變后的限制處理規(guī)則。另外,在限制處理中可以 允許改變的情況下,根據(jù)所固定的值,可以不必確定無(wú)疑地固定所有值。當(dāng)自動(dòng)補(bǔ)充相反規(guī) 則時(shí),PTL 6所公開(kāi)的方法僅允許自動(dòng)補(bǔ)充啟用或關(guān)閉設(shè)置值的規(guī)則。例如,當(dāng)存在用于啟 用雙面打印設(shè)置的限制處理規(guī)則時(shí),自動(dòng)補(bǔ)充用于關(guān)閉雙面打印設(shè)置的限制處理規(guī)則。為 了避免在設(shè)置值被固定時(shí)限制處理規(guī)則的不便,可以添加用于將要自動(dòng)補(bǔ)充的規(guī)則改變成 固定值的規(guī)則。然而,如果值根據(jù)先前評(píng)價(jià)的限制處理規(guī)則而改變,則可能不會(huì)如開(kāi)發(fā)者 或用戶(hù)所想要的那樣來(lái)固定該值。此外,上述規(guī)則不適用于具有兩個(gè)以上設(shè)置值的設(shè)置,例 如,紙張大小。另一問(wèn)題是當(dāng)應(yīng)用諸如“我的收藏夾”中的預(yù)先設(shè)置的設(shè)置值等的用戶(hù)所 保存的多個(gè)預(yù)先設(shè)置的設(shè)置值時(shí),如果在“我的收藏夾”中包括固定設(shè)置值和不同于該固定 設(shè)置值的值,則該值可能改變并且難以確??梢怨潭ㄔ撝怠⒖嘉墨I(xiàn)列表
專(zhuān)利文獻(xiàn)
PTL 1日本特開(kāi)2003-99170號(hào)公報(bào)
PTL 2日本特開(kāi)2000-227847號(hào)公報(bào)
PTL 3日本特開(kāi)2000-2257M號(hào)公報(bào)
PTL 4日本特開(kāi)2005-190467號(hào)公報(bào)
PTL 5日本特開(kāi)2007-272779號(hào)公報(bào)
PTL 6日本特開(kāi)2002-169669號(hào)公報(bào)
發(fā)明內(nèi)容
例如,公開(kāi)了一種信息處理設(shè)備,所述信息處理設(shè)備用于處理打印機(jī)驅(qū)動(dòng)程序中 的打印設(shè)置,所述打印機(jī)驅(qū)動(dòng)程序用于生成要發(fā)送給打印裝置并通過(guò)所述打印裝置進(jìn)行打 印的數(shù)據(jù),所述信息處理設(shè)備包括存儲(chǔ)單元,用于存儲(chǔ)各自定義用于避免打印設(shè)置之間的 沖突的限制的限制規(guī)則;指示單元,用于指示固定打印設(shè)置;以及規(guī)則優(yōu)先級(jí)設(shè)置單元,用 于提高與指示了進(jìn)行固定的打印設(shè)置有關(guān)的限制規(guī)則的優(yōu)先級(jí)。通過(guò)以下結(jié)合附圖所進(jìn)行的說(shuō)明,本發(fā)明的其它特征和優(yōu)點(diǎn)將顯而易見(jiàn),其中,在 整個(gè)附圖中,相同的附圖標(biāo)記表示相同或類(lèi)似的部分。
圖1是根據(jù)本發(fā)明實(shí)施例的計(jì)算機(jī)系統(tǒng)的示意性硬件和軟件框圖;圖2是根據(jù)本發(fā)明實(shí)施例的XPSDrv打印系統(tǒng)的示意性框圖3是根據(jù)本發(fā)明第一實(shí)施例的結(jié)構(gòu)模塊的示意性框圖;圖4是示出根據(jù)本發(fā)明第一實(shí)施例的包含在型號(hào)依賴(lài)文件中的XML文件的格式的 一部分的圖;圖5是示出根據(jù)本發(fā)明第一實(shí)施例的由限制引擎進(jìn)行的限制處理邏輯的流程圖;圖6是示出根據(jù)本發(fā)明第一實(shí)施例的用于指定鎖定功能的用戶(hù)界面畫(huà)面的一部 分的圖;圖7是示出根據(jù)本發(fā)明第一實(shí)施例的在其上指定了鎖定功能的打印設(shè)置畫(huà)面的 圖;圖8是示出根據(jù)本發(fā)明第一實(shí)施例的包含在型號(hào)依賴(lài)文件中的鎖定功能有效的 XML文件的一部分的圖;圖9是根據(jù)本發(fā)明第二實(shí)施例的結(jié)構(gòu)模塊的示意性框圖;圖10是示出根據(jù)本發(fā)明第二實(shí)施例的作為型號(hào)依賴(lài)文件的GPD文件的一部分的 圖;圖11是示出根據(jù)本發(fā)明第二實(shí)施例的由結(jié)構(gòu)模塊進(jìn)行的限制處理的流程圖;圖12是示出根據(jù)本發(fā)明第二實(shí)施例的在型號(hào)依賴(lài)文件中鎖定功能有效的GPD文 件的一部分的圖;圖13是示出根據(jù)本發(fā)明實(shí)施例的打印設(shè)置的二值DEVM0DE結(jié)構(gòu)的圖;圖14是示出根據(jù)本發(fā)明實(shí)施例的打印設(shè)置的打印傳票的XML文件的圖;圖15是根據(jù)本發(fā)明實(shí)施例的XPS假脫機(jī)文件的框圖。
具體實(shí)施例方式第一實(shí)施例現(xiàn)在將參考
本發(fā)明的實(shí)施例。圖1是根據(jù)本發(fā)明實(shí)施例的打印處理系統(tǒng)的示意性框圖。應(yīng)該理解,除非另作說(shuō) 明,否則只要可以執(zhí)行本發(fā)明的功能,本發(fā)明就可以應(yīng)用于包括單個(gè)功能的系統(tǒng)、包括多個(gè) 裝置的系統(tǒng)和經(jīng)由諸如局域網(wǎng)(LAN)或廣域網(wǎng)(WAN)等的網(wǎng)絡(luò)建立連接以使得可以進(jìn)行處 理的系統(tǒng)中的任一系統(tǒng)。在圖1所示的示意性框圖中,示出基于計(jì)算機(jī)的系統(tǒng)。中央處理單元(CPU) 101根 據(jù)存儲(chǔ)在只讀存儲(chǔ)器(ROM) 102、隨機(jī)存取存儲(chǔ)器(RAM) 103或外部存儲(chǔ)裝置105中的程序來(lái) 控制設(shè)備的整體操作。還可以使用RAM 103作為CPU 101進(jìn)行各種處理時(shí)的工作區(qū)。外部 存儲(chǔ)裝置105記錄操作系統(tǒng)(0 1054和應(yīng)用程序軟件1051等。諸如鍵盤(pán)108或鼠標(biāo)(指 示裝置)109等的輸入裝置是用于允許用戶(hù)通過(guò)輸入/輸出接口(I/F) 104向計(jì)算機(jī)給出各 種指示的裝置。輸出I/F 106是用于向外部輸出數(shù)據(jù)的接口,并且用于向監(jiān)視器110或打 印機(jī)111輸出數(shù)據(jù)。輸出I/F 106可經(jīng)由直接連接所使用的本地輸入/輸出(I/O)線或經(jīng) 由諸如LAN或WAN等的網(wǎng)絡(luò)與打印機(jī)111連接。系統(tǒng)總線107是在各個(gè)單元之間交換數(shù)據(jù) 所經(jīng)由的通用數(shù)據(jù)總線。圖2、3和9所示的模塊作為打印機(jī)驅(qū)動(dòng)程序1053被存儲(chǔ)在圖1 所示的外部存儲(chǔ)裝置105中,并且CPUlOl將這些模塊裝載進(jìn)RAM 103并執(zhí)行它們。圖2是XPSDrv打印系統(tǒng)的示意性框圖。術(shù)語(yǔ)“XPSDrv”是指用于使用被稱(chēng)為可 擴(kuò)展標(biāo)記語(yǔ)言文件規(guī)格(XPQ的文檔文件格式作為假脫機(jī)數(shù)據(jù)進(jìn)行打印的打印機(jī)驅(qū)動(dòng)程序。用戶(hù)使用諸如鍵盤(pán)或鼠標(biāo)等的輸入裝置來(lái)使用輸出裝置的監(jiān)視器上所顯示的Win32 應(yīng)用程序(以下稱(chēng)為“Win32應(yīng)用程序”)201或Windows (注冊(cè)商標(biāo))呈現(xiàn)基礎(chǔ)(Windows Presentation Foundation)應(yīng)用程序(以下稱(chēng)為“WPF應(yīng)用程序”)202執(zhí)行打印處理???以通過(guò)順次進(jìn)行下面三個(gè)處理來(lái)執(zhí)行打印處理選擇打印機(jī),創(chuàng)建打印設(shè)置,并且進(jìn)行繪圖 數(shù)據(jù)的轉(zhuǎn)換。將圖2所示的項(xiàng)目201 213和215存儲(chǔ)在圖1所示的外部存儲(chǔ)裝置105中。首先,用戶(hù)使用鼠標(biāo)等指示選擇期望的打印機(jī)214。也就是說(shuō),用戶(hù)指示選擇與進(jìn) 行打印的打印機(jī)相對(duì)應(yīng)的打印機(jī)驅(qū)動(dòng)程序。然后,用戶(hù)指示創(chuàng)建打印設(shè)置。首先,應(yīng)用程序 預(yù)約打印設(shè)置用存儲(chǔ)器。然后,應(yīng)用程序(Win32應(yīng)用程序201或WPF應(yīng)用程序20 或者 打印機(jī)驅(qū)動(dòng)程序的結(jié)構(gòu)模塊204使用型號(hào)依賴(lài)文件205,用設(shè)置數(shù)據(jù)填充所預(yù)約的存儲(chǔ)器 區(qū)域。因此,該應(yīng)用程序進(jìn)行打印設(shè)置。Win32應(yīng)用程序201使用二值DEVM0DE結(jié)構(gòu)215作 為打印設(shè)置數(shù)據(jù),并且WPF應(yīng)用程序202使用以可擴(kuò)展標(biāo)記語(yǔ)言(XML)所描述的打印傳票 203。DEVM0DE結(jié)構(gòu)215具有圖13所示的結(jié)構(gòu)。DEVM0DE結(jié)構(gòu)215是具有由操作系統(tǒng)所定 義的公用區(qū)域和由打印機(jī)驅(qū)動(dòng)程序唯一定義的私用區(qū)域的二值結(jié)構(gòu)。打印傳票203可以是 圖14所示的以XML格式所描述的打印設(shè)置信息。DEVM0DE結(jié)構(gòu)215或打印傳票203保持打 印設(shè)置。通過(guò)WPF應(yīng)用程序202直接重寫(xiě)打印傳票203以改變打印設(shè)置。通過(guò)顯示保持在 結(jié)構(gòu)模塊204中的打印機(jī)驅(qū)動(dòng)程序的用戶(hù)界面并且通過(guò)用戶(hù)操作該用戶(hù)界面來(lái)進(jìn)行依賴(lài) 于打印機(jī)214的專(zhuān)用設(shè)置。打印機(jī)驅(qū)動(dòng)程序根據(jù)用戶(hù)界面的設(shè)置改變DEVM0DE結(jié)構(gòu)215或 打印傳票203中依賴(lài)于打印機(jī)214的設(shè)置。打印設(shè)置的具體例子包括將輸出紙張大小設(shè)置 成“A4”、進(jìn)行雙面打印、在彩色打印和單色打印之間切換打印模式以及指定進(jìn)紙托盤(pán)。由于 將打印傳票203配置成以XML格式描述打印設(shè)置,因而WPF應(yīng)用程序202易于直接改變和 更新所有設(shè)置值。可選地,如在現(xiàn)有技術(shù)中那樣,可以使用打印機(jī)驅(qū)動(dòng)程序的用戶(hù)界面來(lái)改 變?cè)O(shè)置。最后,打印機(jī)驅(qū)動(dòng)程序進(jìn)行繪圖數(shù)據(jù)的轉(zhuǎn)換。當(dāng)建立打印設(shè)置時(shí),用戶(hù)通過(guò)應(yīng)用程 序執(zhí)行打印處理。當(dāng)通過(guò)Win32應(yīng)用程序201進(jìn)行打印時(shí),將繪圖數(shù)據(jù)發(fā)送給具有版本3 打印機(jī)驅(qū)動(dòng)程序的形式的圖形設(shè)備接口(GDI)-XPS轉(zhuǎn)換模塊206,并且創(chuàng)建XPS假脫機(jī)文 件207。版本3打印機(jī)驅(qū)動(dòng)程序是與Microsoft (注冊(cè)商標(biāo))的Windows (注冊(cè)商標(biāo))2000 或更新版本兼容的打印機(jī)驅(qū)動(dòng)程序。在這種情況下,GDI-XPS轉(zhuǎn)換模塊206調(diào)用結(jié)構(gòu)模塊 204,并且將來(lái)自DEVM0DE結(jié)構(gòu)215的打印設(shè)置轉(zhuǎn)換成打印傳票203。當(dāng)通過(guò)WPF應(yīng)用程序 202進(jìn)行打印時(shí),可以使用兩種方法使用WPF應(yīng)用程序202生成XPS文件和根據(jù)來(lái)自WPF 應(yīng)用程序202的指示使用操作系統(tǒng)生成XPS文件。在這兩種方法中,生成XPS假脫機(jī)文件 207。因此,XPSDrv打印系統(tǒng)的特征是在打印時(shí)總是生成XPS假脫機(jī)文件207。當(dāng)生成XPS假脫機(jī)文件207時(shí),將該處理傳遞給打印過(guò)濾器流水線處理。打印過(guò) 濾器流水線處理是使要打印的數(shù)據(jù)穿過(guò)多個(gè)過(guò)濾器從而進(jìn)行打印的機(jī)制。具體地,打印過(guò) 濾器流水線處理使用過(guò)濾器結(jié)構(gòu)文件208來(lái)控制過(guò)濾器的數(shù)量和順序。在本實(shí)施例中,打 印過(guò)濾器流水線處理環(huán)境下運(yùn)行的過(guò)濾器流水線管理器根據(jù)過(guò)濾器結(jié)構(gòu)文件208,以設(shè)置 過(guò)濾器209、布局過(guò)濾器210和繪制器過(guò)濾器211的順序進(jìn)行處理。通過(guò)將XPS假脫機(jī)文件 207交付給過(guò)濾器209 211來(lái)進(jìn)行該處理。過(guò)濾器209 211各自修改XPS假脫機(jī)文件 207,并且將修改后的XPS假脫機(jī)文件207傳遞給下一過(guò)濾器。因此處理繼續(xù)進(jìn)行。最后,以 作為打印機(jī)可讀數(shù)據(jù)語(yǔ)言格式的打印機(jī)控制語(yǔ)言(以下稱(chēng)為PDL (頁(yè)面描述語(yǔ)言))格式輸出XPS假脫機(jī)文件207。如果打印機(jī)214能夠直接讀取XPS假脫機(jī)文件207,則可以以XPS 格式輸出XPS假脫機(jī)文件207。設(shè)置過(guò)濾器209進(jìn)行用于讀取打印傳票203并將打印所需 的數(shù)據(jù)寫(xiě)入打印傳票203的處理。布局過(guò)濾器210進(jìn)行諸如改變倍率、進(jìn)行裝訂用拼版布 局和壓印等的布局相關(guān)處理。布局過(guò)濾器210根據(jù)XPS假脫機(jī)文件207中所包括的打印設(shè) 置的打印傳票203進(jìn)行工作。因此,例如,當(dāng)打印傳票203不具有拼版設(shè)置時(shí),XPS假脫機(jī) 文件207以不進(jìn)行布局過(guò)濾器210的操作的方式穿過(guò)布局過(guò)濾器210,并且被直接傳遞到 下一過(guò)濾器。最后,繪制器過(guò)濾器211繪制XPS假脫機(jī)文件207并且將其轉(zhuǎn)換成PDL數(shù)據(jù)。 通過(guò)被配置成進(jìn)行打印處理的進(jìn)度管理的打印管理器212來(lái)管理PDL數(shù)據(jù),并且以隊(duì)列形 式順序登記打印作業(yè)。當(dāng)打印機(jī)214打印就緒時(shí),按照隊(duì)列中登記的打印作業(yè)的順序通過(guò) I/O監(jiān)視器213發(fā)送PDL數(shù)據(jù)。這樣,打印機(jī)驅(qū)動(dòng)程序起到用于將來(lái)自應(yīng)用程序的打印數(shù)據(jù) 轉(zhuǎn)換成打印機(jī)語(yǔ)言數(shù)據(jù)的主要作用,并且進(jìn)行實(shí)際打印處理。圖3是本實(shí)施例的打印機(jī)驅(qū)動(dòng)程序的結(jié)構(gòu)模塊204的框圖。結(jié)構(gòu)模塊301通過(guò)讀 取具有依賴(lài)于各打印機(jī)的型號(hào)的信息的型號(hào)依賴(lài)文件307進(jìn)行工作。因此,即使當(dāng)結(jié)構(gòu)模 塊301是所有打印機(jī)通用的模塊時(shí),結(jié)構(gòu)模塊301也可以以各型號(hào)特定的方式進(jìn)行工作。型 號(hào)依賴(lài)文件307具有描述有實(shí)際型號(hào)數(shù)據(jù)的XML數(shù)據(jù)文件308。對(duì)結(jié)構(gòu)模塊301進(jìn)一步進(jìn) 行配置,以使得沖突引擎304中的數(shù)據(jù)文件分析器305解釋和讀取XML數(shù)據(jù)文件308。XML數(shù)據(jù)文件308可以是包括打印機(jī)型號(hào)數(shù)據(jù)的大的數(shù)據(jù)文件。因此,在型號(hào)依賴(lài) 文件307中,使用ZIP壓縮技術(shù)壓縮XML數(shù)據(jù)文件308,以使得可以降低文件大小。一旦數(shù) 據(jù)文件分析器305讀取XML數(shù)據(jù)文件308,則數(shù)據(jù)文件分析器305創(chuàng)建二值數(shù)據(jù)文件309。 在創(chuàng)建二值數(shù)據(jù)文件309之后,除非XML數(shù)據(jù)文件308改變,否則數(shù)據(jù)文件分析器305使用 二值數(shù)據(jù)文件309代替XML數(shù)據(jù)文件308來(lái)進(jìn)行工作。這可以減少用于使數(shù)據(jù)文件分析器 305裝載來(lái)自型號(hào)依賴(lài)文件307的XML數(shù)據(jù)文件308的操作和用于使數(shù)據(jù)文件分析器305 分析XML數(shù)據(jù)文件308的操作,由此使性能增強(qiáng)。如果XML數(shù)據(jù)文件308改變,則再次讀取 XML數(shù)據(jù)文件308,并且創(chuàng)建二值數(shù)據(jù)文件309。沖突引擎304中的數(shù)據(jù)文件分析器305讀取XML數(shù)據(jù)文件308或二值數(shù)據(jù)文件 309,并且創(chuàng)建狀態(tài)變量(還被稱(chēng)為“狀況變量”以下簡(jiǎn)稱(chēng)為“SV”)310的對(duì)象實(shí)例。SV 310 表示打印設(shè)置信息的狀態(tài),其中,將打印機(jī)的各功能作為對(duì)象進(jìn)行處理。SV 310是要被裝載 到存儲(chǔ)器上的對(duì)象,并且具有名稱(chēng)、值或值的列表、附加至該值的屬性、當(dāng)前值、默認(rèn)值、狀 況、原因和鎖定標(biāo)志。在圖3的例子中,例如,SV 310涉及功能“打印機(jī)中可使用的紙張大小”。紙張大 小的SV 310具有名稱(chēng)“介質(zhì)大小”,并且,作為值的列表,具有諸如“A4”、“信紙”、“B5”和“明 信片”等的打印機(jī)中可使用的紙張大小。在圖3中,通過(guò)黑色圓圈表示當(dāng)前值,并且通過(guò)白 色圓圈表示默認(rèn)值。因此,在該圖例中,默認(rèn)設(shè)置“A4”大小,并且當(dāng)前選擇“信紙”大小。SV 310還具有狀況,并且可以表示在當(dāng)前設(shè)置中是否可以使用與該狀況相對(duì)應(yīng)的值。SV 310 和值的列表中的每一個(gè)值都具有狀況。在圖3中,由于在當(dāng)前設(shè)置中不可使用“B5”大小, 因而利用刪除線標(biāo)記“B5”大小的值,這表示“不可使用,,狀況。在不可選擇任何紙張大小 的情況下,可以向“介質(zhì)大小”分配“不可使用”狀況。類(lèi)似地,作為例子,還可以提供表示 打印方向的“方向”、表示彩色打印的“輸出彩色”和表示進(jìn)紙托盤(pán)的“輸入箱”。還可以提供 許多其它功能。代替值的列表,SV 310可以具有數(shù)字或字符串作為值??蛇x地,可以創(chuàng)建具有多個(gè)當(dāng)前值作為值的列表的所謂的多部分型SV 310。在多部分型SV 310中,同時(shí)選擇 多個(gè)值。因此,通過(guò)使用用于將打印作業(yè)保存在打印機(jī)的存儲(chǔ)裝置中的存儲(chǔ)箱保存功能或 者任何其它功能,可以創(chuàng)建通過(guò)單個(gè)打印動(dòng)作同時(shí)被存儲(chǔ)在多個(gè)存儲(chǔ)箱中的打印設(shè)置。限制引擎306使用SV 310進(jìn)行限制處理。限制是用于避免打印設(shè)置之間的沖突 的規(guī)則。例如,在“雙面打印ON,OHP ON”中發(fā)生沖突。因此,定義規(guī)則以將這兩個(gè)設(shè)置中的 一個(gè)改變成“OFF”狀態(tài)。下面將對(duì)此進(jìn)行詳細(xì)說(shuō)明。限制引擎306基于XML數(shù)據(jù)文件308 或二值數(shù)據(jù)文件309中所描述的限制處理規(guī)則來(lái)改變SV 310的值。對(duì)每個(gè)SV 310描述限 制處理規(guī)則,并且描述與其它SV 310的值的關(guān)系。例如,現(xiàn)在將考慮用于按照某種順序?qū)?頁(yè)排序的SV “整理”的限制處理規(guī)則。裝訂打印需要這類(lèi)排序。該邏輯被描述為SV “整 理”的限制處理規(guī)則。然后,該描述可以意為“如果裝訂SV ‘小冊(cè)子’被啟用,則啟用SV ‘整 理’”。在每一限制處理規(guī)則中還可以設(shè)置原因。該原因可以是當(dāng)根據(jù)限制處理規(guī)則改變值 時(shí)為了識(shí)別值改變所根據(jù)的限制處理規(guī)則而應(yīng)用于各SV 310的標(biāo)記。此外,在各限制處理 規(guī)則中,作為其中所描述的條件的結(jié)果,不僅可以改變值,還可以改變狀況或者可以從值的 列表刪除特定值或向值的列表添加特定值。結(jié)構(gòu)模塊301可以通過(guò)應(yīng)用程序接口(API) 302以DEVM0DE 311或打印傳票312 的形式,從應(yīng)用程序(Win32應(yīng)用程序201或WPF應(yīng)用程序202)接收打印設(shè)置或者將打印 設(shè)置輸出給該應(yīng)用程序。結(jié)構(gòu)模塊301收集SV 310的所有當(dāng)前值以創(chuàng)建DEVM0DE311或打 印傳票312作為全部打印設(shè)置,并且將DEVM0DE 311或打印傳票312輸出給應(yīng)用程序。在 作為輸入接收到DEVM0DE311或打印傳票312時(shí),將其中所包含的值設(shè)置在SV 310中,并且 使用沖突引擎304進(jìn)行限制處理。結(jié)構(gòu)模塊301還包括用于允許用戶(hù)進(jìn)行打印設(shè)置的用戶(hù)界面303。在用戶(hù)界面303 上,顯示SV 310的當(dāng)前值。當(dāng)用戶(hù)改變值時(shí),結(jié)構(gòu)模塊301設(shè)置相應(yīng)SV 310中的值,并且 使用沖突引擎304進(jìn)行限制處理。作為限制處理的結(jié)果,將SV 310改變成新的值,并且將 SV 310的當(dāng)前值顯示在用戶(hù)界面303上。用戶(hù)界面303根據(jù)SV 310的狀況改變控制顯示。 各SV 310具有四種狀況“可使用”、“不可使用”、“不支持”和“不允許”,由此導(dǎo)致提供了不 同的控制顯示。對(duì)于“可使用”狀況,進(jìn)行正常顯示。對(duì)于“不可使用”或“不允許”狀況,使 控件或選項(xiàng)無(wú)效或變灰來(lái)防止用戶(hù)選擇。對(duì)于“不支持”狀況,向用戶(hù)隱藏控件。當(dāng)按下用 于返回至標(biāo)準(zhǔn)設(shè)置的按鈕時(shí),將SV 310的值改變成默認(rèn)值,并且進(jìn)行限制處理以將SV 310 的狀態(tài)顯示在用戶(hù)界面303上。因此,不管輸入或輸出形式如何,結(jié)構(gòu)模塊301都在進(jìn)行向 SV 310的轉(zhuǎn)換之后進(jìn)行處理,從而對(duì)功能和限制處理規(guī)則進(jìn)行集中管理。各SV 310還具有特殊功能,即用于固定值或值的列表的鎖定功能。啟用SV 310 的鎖定標(biāo)志,從而防止從外部改變或者根據(jù)限制處理規(guī)則改變SV 310的值。為了啟用鎖定 功能,用戶(hù)或管理員預(yù)先在XML數(shù)據(jù)文件308或二值數(shù)據(jù)文件309中輸入描述(圖8),或者 用戶(hù)或管理員使用API 302或用戶(hù)界面303指定鎖定功能。圖6示出用戶(hù)界面303上顯示 用于啟用或關(guān)閉鎖定功能的區(qū)域。僅允許具有管理員權(quán)限的用戶(hù)指定鎖定功能。在圖6所 示的顯示區(qū)域中,鎖定“雙面打印”設(shè)置。圖7示出在啟用鎖定功能時(shí)用戶(hù)界面303上的顯 示圖像。在圖7中,由于鎖定了雙面打印設(shè)置,因而始終啟用雙面打印設(shè)置,并且使得控件 無(wú)效或變灰以防止用戶(hù)操作。此外,為了示出鎖定狀態(tài),在顯示器上的控件旁邊顯示鎖定專(zhuān) 用按鍵標(biāo)記。當(dāng)使用指示裝置指向正被鎖定的控件或鎖定專(zhuān)用按鍵標(biāo)記時(shí),在顯示器上顯示工具提示并且顯示設(shè)置的固定。圖4示出XML數(shù)據(jù)文件308的一部分。與打印機(jī)的功能相對(duì)應(yīng)地,XML數(shù)據(jù)文件 308包含與SV 310有關(guān)的信息和限制處理規(guī)則。在圖4中,特別示出包含“Collate (整理)” 的SV 310的部分。通過(guò)稱(chēng)為“ StatusVariable (狀況變量)”元素定義SV 310。這里,使用 “name (名稱(chēng))”屬性定義SV 310的名稱(chēng),并且使用“type (類(lèi)型)”屬性定義SV 310的類(lèi) 型。在圖4中,在“name”屬性中描述“Collate”,并且在“type”屬性中描述“selection(選 擇)”?!皊election”類(lèi)型表示使用值的列表的SV 310。接著,描述“PropertyTable (屬性 表)”元素和“ConflictRules (沖突規(guī)則)”元素作為SV 310的定義?!癙ropertyTable”元 素包含SV 310的參數(shù),并且“ConflictRules”元素包含限制處理規(guī)則。“ftOpertyTable” 元素具有兩個(gè)子元素分別定義有值和原因的“ValuehfoTable (值信息表)”元素和 "ReasonInfoTable (原因信息表)”元素。在 “ValuelnfoTable” 元素中,在 “ValueSet (值 組)”元素中描述值的列表中的每一個(gè)值。“ValueSet”元素各自的值可以附加地存儲(chǔ)要添加 至該值的數(shù)據(jù)作為“Property (屬性)”元素。例如,為了添加諸如寬度和高度等的與紙張大 小“A4”有關(guān)的信息,使用“Property”元素。在“DefaultValue (默認(rèn)值)”元素中描述值的列 表中的默認(rèn)值。在圖4中,描述了兩個(gè)值,即“Collated (整理)”和“Uncollated (不整理),,, 并且包括了默認(rèn)設(shè)置“整理”值的描述。此外,描述三種原因作為“ReasonlnfoTable”元素 中的“ReasonSet (原因組),,元素。在“Conflict (沖突),,元素中,在“ConflictRules (沖 突規(guī)則)”元素中描述一個(gè)限制處理規(guī)則。每一限制處理規(guī)則都具有被稱(chēng)為“priority (優(yōu) 先級(jí))”的屬性中所描述的優(yōu)先級(jí)。按照從具有最小優(yōu)先級(jí)值的限制處理規(guī)則開(kāi)始的順序, 評(píng)價(jià)限制處理規(guī)則。因此,值越小,優(yōu)先級(jí)越高。這樣,對(duì)每一 SV 310設(shè)置優(yōu)先級(jí)以在同時(shí) 輸入時(shí)進(jìn)行限制處理。當(dāng)作為打印設(shè)置要輸入的值處于限制狀態(tài)并且要改變成對(duì)的值的其 中一個(gè)時(shí),優(yōu)先設(shè)置具有較高優(yōu)先級(jí)的功能的值。因此,可以如用戶(hù)所希望的那樣進(jìn)行打 印設(shè)置。在不存在優(yōu)先級(jí)的情況下,根據(jù)評(píng)價(jià)限制處理規(guī)則的順序,優(yōu)先較早評(píng)價(jià)的功能。 因此,不總是獲得相同結(jié)果。"Conflict"元素具有"Value (值),,元素和"Condition (條 件)”元素,并且“Value”元素包含作為限制的結(jié)果而變化的值。在“Conflict”元素中,可 以使用“status (狀況)”屬性描述作為限制的結(jié)果而變化的狀況。“Condition”元素包含 要進(jìn)行限制處理的SV 310的名稱(chēng)和值?!皀ame (名稱(chēng))”屬性包含對(duì)象SV 310的名稱(chēng),并 且“Value”元素包含對(duì)象SV 310的值?!癈ondition”元素的并列描述意為它們之間的與 運(yùn)算(“AND”)。還可以使用其它算術(shù)運(yùn)算功能“false(假)”的“result(結(jié)果)”屬性 意為否定(“NOT,,),“Block(塊),,元素表示括號(hào),并且“AnyOneCondition(任一條件),, 元素表示異或運(yùn)算(“0R”)。在圖4中,包括三個(gè)限制處理規(guī)則如果“bookbinding(裝 訂),,SV 310的值,即"Booklet (小冊(cè)子),,不是“None”,則設(shè)置"Collated"以使得將SV 310的狀況設(shè)置成“NotAvailable (不可使用)”。當(dāng)封面設(shè)置“CoverFront”和封底設(shè)置 "CoverBack"不是“NoCover”時(shí),也就是說(shuō),當(dāng)指定這些設(shè)置時(shí),設(shè)置“Collated”以使得將 SV 310的狀況設(shè)置成“NotAvailable”。當(dāng)裝訂設(shè)置“Staple”被設(shè)置成表示騎馬釘裝訂的 "Saddle Stitch” 時(shí),設(shè)置 “Collated” 以使得將 SV 310 的狀況設(shè)置成 “NotAvailable,,。圖5示出在用戶(hù)指示打印機(jī)驅(qū)動(dòng)程序進(jìn)行設(shè)置時(shí)開(kāi)始的處理。每一次都確認(rèn)步驟 S501的處理。然而,可以預(yù)先進(jìn)行該處理。在這種情況下,當(dāng)用戶(hù)改變打印設(shè)置時(shí),在步驟 S502之后進(jìn)行該處理。
接著,將根據(jù)圖5所示的流程圖說(shuō)明沖突引擎304中的限制引擎306所進(jìn)行的限 制處理邏輯。首先,限制引擎306通過(guò)API302或用戶(hù)界面303獲取與SV 310的鎖定功能 有關(guān)的信息(以下稱(chēng)為“鎖定信息”)。基于鎖定信息,限制引擎306將對(duì)象SV 310的值改 變成要鎖定的值,并且設(shè)置鎖定標(biāo)志(步驟S501)。限制引擎306還將默認(rèn)值改變成要鎖定 的值。然后,在步驟S502,API 302或用戶(hù)界面303從諸如DEVM0DE結(jié)構(gòu)或打印傳票等的 打印設(shè)置或者通過(guò)用戶(hù)界面的控制輸入來(lái)接收用戶(hù)所指定的打印設(shè)置信息(步驟S502)。 API 302或用戶(hù)界面303基于接收到的打印設(shè)置信息,創(chuàng)建要改變的SV 310的值的列表。可 以根據(jù)具有SV 310的成對(duì)的名稱(chēng)和值與多個(gè)打印設(shè)置信息的組合的表來(lái)創(chuàng)建該列表。在 XML文件中描述該表,并且XML文件包含在型號(hào)依賴(lài)文件307中。限制引擎306基于值的 列表將相應(yīng)SV 310的當(dāng)前值改變成打印設(shè)置值(步驟S50;3)。這里,限制引擎306創(chuàng)建改 變了其值的SV 310的列表(步驟S504)。盡管已經(jīng)基于打印設(shè)置的值創(chuàng)建了列表,但是這 里創(chuàng)建成功地改變了其值的SV 310的列表。此外,在限制處理規(guī)則的處理期間,限制引擎 306創(chuàng)建包括實(shí)際改變了其值的SV 310和作為限制處理規(guī)則的結(jié)果改變了其值的SV 310 這兩者的列表。限制引擎306提取在步驟S504創(chuàng)建的列表中所包括的SV 310的所有限制 處理規(guī)則,并且根據(jù)優(yōu)先級(jí)配置所提取的限制處理規(guī)則(步驟S505)。如果存在鎖定的SV 310,則限制引擎306首先根據(jù)優(yōu)先級(jí)配置鎖定的SV 310的限制處理規(guī)則,然后根據(jù)優(yōu)先級(jí) 配置其它限制處理規(guī)則。如果存在根據(jù)優(yōu)先級(jí)配置的剩余限制處理規(guī)則(步驟S506),則限 制引擎306提取一個(gè)限制處理規(guī)則(步驟S508)。然后,限制引擎306評(píng)價(jià)限制處理規(guī)則。 限制引擎306參考限制處理規(guī)則中所描述的SV 310的值或?qū)傩?,并且判斷在與限制處理規(guī) 則中的“Condition”元素相匹配時(shí)是否建立該規(guī)則。如果建立該限制處理規(guī)則,則限制引 擎306判斷是否需要改變SV 310的值(步驟S509)。如果需要改變?cè)撝?,則限制引擎306 判斷是否基于鎖定信息設(shè)置了鎖定標(biāo)志(步驟S510)。如果鎖定了該值,則限制引擎306改 變限制處理規(guī)則中的“Condition”元素中所包括的SV 310的值,從而將狀況改變成“不可 使用”(步驟S511)。通常,限制引擎306基于限制處理規(guī)則中描述的對(duì)象SV 310的值改 變?cè)撝?。然而,?dāng)鎖定了該值時(shí),限制引擎306進(jìn)行工作以改變對(duì)象SV 310的狀況。當(dāng)未 鎖定該值時(shí),限制引擎306進(jìn)行正常限制處理以根據(jù)限制處理規(guī)則改變?cè)撝怠T谶@種情況 下,限制引擎306判斷是否設(shè)置了與是否已經(jīng)通過(guò)限制處理改變了要改變的對(duì)象SV 310的 值有關(guān)的標(biāo)志(步驟S512)。通過(guò)改變?cè)撝涤|發(fā)限制處理,并且限制引擎306評(píng)價(jià)限制處 理規(guī)則。然而,如果該值多次改變,則根據(jù)限制處理規(guī)則,形成評(píng)價(jià)循環(huán)以禁止完成限制引 擎306的處理。因此,對(duì)設(shè)計(jì)規(guī)則進(jìn)行限制以使得可以根據(jù)限制處理規(guī)則一次改變SV 310 的值,從而防止形成無(wú)限循環(huán)。如果確認(rèn)為該值仍未改變,則限制引擎306改變SV 310的 值,并且設(shè)置表示根據(jù)限制處理規(guī)則改變了 SV 310的值的標(biāo)志(步驟S513)。然后,限制 引擎306評(píng)價(jià)下一限制處理規(guī)則。如果沒(méi)有剩余限制處理規(guī)則,則限制引擎306判斷是否 存在通過(guò)限制處理改變了其值的SV 310(步驟S507)。如果沒(méi)有值被改變,則限制引擎306 判斷為作為所有限制處理規(guī)則的評(píng)價(jià)結(jié)果,所有值都是穩(wěn)定的,并且結(jié)束該處理。如果有值 被改變,則限制引擎306提取改變了其值的SV 310的所有限制處理規(guī)則,并且根據(jù)優(yōu)先級(jí) 來(lái)配置所提取的限制處理規(guī)則以進(jìn)行再評(píng)價(jià)。同樣,在這種情況下,限制引擎306使鎖定的 SV 310具有高的優(yōu)先級(jí)。
因此,結(jié)構(gòu)模塊301可以使用沖突引擎304和SV 310的鎖定功能來(lái)完全固定功 能。此外,在限制處理中,限制引擎306進(jìn)行工作以使得不發(fā)生沖突。第二實(shí)施例圖9是實(shí)現(xiàn)不同于第一實(shí)施例中的結(jié)構(gòu)模塊的結(jié)構(gòu)模塊的系統(tǒng)的框圖。與第一實(shí) 施例的不同是限制處理規(guī)則。在根據(jù)第一實(shí)施例的限制處理規(guī)則中,限制引擎306描述了 基于對(duì)象值要改變的給定值。在根據(jù)本發(fā)明第二實(shí)施例的限制處理規(guī)則中,描述了不能同 時(shí)設(shè)置的值的組合。因此,對(duì)于用于進(jìn)行限制處理的沖突引擎提供不同的邏輯。然而,通過(guò) 優(yōu)先級(jí)的再配置實(shí)現(xiàn)等同的鎖定功能。在圖9中,結(jié)構(gòu)模塊903是不同的打印機(jī)可使用的通用模塊。在被稱(chēng)為通用描述語(yǔ) 言(Generic Description Language, GPD)文件的文本文件中描述了依賴(lài)于各打印機(jī)的數(shù) 據(jù)。結(jié)構(gòu)模塊903中的GPD分析器904解釋GPD文件并進(jìn)行工作,從而可以實(shí)現(xiàn)打印機(jī)特 有的操作。在圖9中,在讀取與打印機(jī)A相對(duì)應(yīng)的GPD文件901時(shí),進(jìn)行打印機(jī)A的操作, 并且在讀取與打印機(jī)B相對(duì)應(yīng)的GPD文件902時(shí),進(jìn)行打印機(jī)B的操作。由于對(duì)于GPD分 析器904來(lái)說(shuō)每一次使用打印機(jī)驅(qū)動(dòng)程序時(shí)都讀取GPD文件不高效,因而在讀取GPD文件 時(shí)創(chuàng)建并保存二值文件。此后,除非改變GPD文件的描述,否則使用該二值文件進(jìn)行操作。 因此,可以實(shí)現(xiàn)高速操作。在圖9中,當(dāng)讀取與打印機(jī)A相對(duì)應(yīng)的GPD文件901時(shí),創(chuàng)建二值數(shù)據(jù)906 ;當(dāng)讀取 與打印機(jī)B相對(duì)應(yīng)的GPD文件902時(shí),創(chuàng)建二值數(shù)據(jù)907?;贕PD文件中描述的數(shù)據(jù),結(jié) 構(gòu)模塊903對(duì)于每一功能都創(chuàng)建對(duì)象實(shí)例,并且進(jìn)行限制處理。通過(guò)COMPSTUI. DLL 909將 從應(yīng)用程序910所提供的打印設(shè)置數(shù)據(jù)傳遞給結(jié)構(gòu)模塊903。通過(guò)通用用戶(hù)界面(UI)905 將用戶(hù)界面上的打印設(shè)置傳遞給結(jié)構(gòu)模塊903。結(jié)構(gòu)模塊903將打印設(shè)置反映在每一功能 的對(duì)象實(shí)例中,并且進(jìn)行限制處理以將打印設(shè)置返回給應(yīng)用程序910或用戶(hù)界面。結(jié)構(gòu)模 塊903還能夠使用用戶(hù)界面插件程序908按照期望添加新的功能。圖10示出GPD文件的描述的一部分?!癋eature”描述功能的名稱(chēng)。在圖10中, 將打印機(jī)的進(jìn)紙托盤(pán)定義為名為“InputBin(輸入箱),,的特征。“*0ption”表示與功能相 對(duì)應(yīng)的值。在圖10中,存在四個(gè)選項(xiàng),S卩“AUTO(自動(dòng))”、“INPUTTRAY_MANUAL(輸入托盤(pán)_ 手動(dòng))”、“ INPUTTRAY_CASSETTE1 (輸入托盤(pán) _ 盒 1) ” 和 “ INPUTTRAY_CASSETTE2 (輸入托盤(pán) _盒幻”,其中,選擇其中一個(gè)作為“InputBin”的當(dāng)前值。“*Default0ptiOn”描述了默認(rèn)設(shè) 置哪一選項(xiàng)。這里,默認(rèn)設(shè)置“AUT0”,即自動(dòng)選擇進(jìn)紙托盤(pán)。存在兩個(gè)限制處理規(guī)則“氺Constraints”和 “*InvalidCombination”。 ‘“Constraints”描述了用于防止給定特征的選項(xiàng)和另一特征的選項(xiàng)的同時(shí)組合的限制。在 GPD 文件的根(行的開(kāi)頭)處描述 “*InvalidCombination”,并且“*InvalidCombination” 描述了特征的選項(xiàng)之間的限制。在‘WlnvalidCombination”中可以描述兩個(gè)以上的選項(xiàng)之 間的限制,這不同于“^Constraints”。此外,“*ConflictPriority”描述了特征的優(yōu)先級(jí)。 數(shù)字越小,優(yōu)先級(jí)越高。也就是說(shuō),較早評(píng)價(jià)具有較高優(yōu)先級(jí)的限制處理規(guī)則。結(jié)構(gòu)模塊 903讀取這類(lèi)GPD文件以創(chuàng)建特征對(duì)象,并且進(jìn)行限制處理。各特征還具有表示是否鎖定特征以固定選項(xiàng)的標(biāo)志。當(dāng)特征鎖定時(shí),可以防止選 項(xiàng)被改變。還可以在GPD文件中的特征中預(yù)先描述是否鎖定該特征(參見(jiàn)圖12)。現(xiàn)在將根據(jù)圖11所示的流程圖說(shuō)明結(jié)構(gòu)模塊903所進(jìn)行的限制處理邏輯。如果應(yīng)用程序910或通用UI 905的用戶(hù)界面具有與特征有關(guān)的鎖定信息,則設(shè)置所指定的特征 的選項(xiàng),并且設(shè)置鎖定標(biāo)志(步驟S1101)。除非另外說(shuō)明,否則結(jié)構(gòu)模塊903進(jìn)行下面的操作。此外,將“Default Option(默認(rèn)選項(xiàng))”值改變成要鎖定的選項(xiàng)。然后,結(jié) 構(gòu)模塊903從應(yīng)用程序910或通用UI 905的用戶(hù)界面接收用戶(hù)所指定的打印設(shè)置 信息(步驟Sll(^)。此時(shí),在特征中沒(méi)有設(shè)置任何選項(xiàng)。列出所有特征,并且根據(jù) “ConfIictPriority (沖突優(yōu)先級(jí))”值配置特征(步驟Sl 103)。這里,如果存在鎖定的特征,則結(jié)構(gòu)模塊903根據(jù)“ConflictPriority”值來(lái)配 置鎖定的特征,然后根據(jù)“ConflictPriority”值來(lái)配置正常特征。如果在列表中存在剩 余特征(步驟S1104),則從該列表提取特征(步驟S1105)。結(jié)構(gòu)模塊903參考所有的 “Constraints”或“InvalidCombination”元素,以判斷與所指定的打印設(shè)置值相對(duì)應(yīng)的特 征的選項(xiàng),即要設(shè)置的選項(xiàng)是否是“Constraints”或“InvalidCombination”元素的對(duì)象 (步驟 Sl 106)。如果該選項(xiàng)是該對(duì)象,則這意味著該選項(xiàng)處于限制狀態(tài),并且不能將該打印設(shè)置 設(shè)置為作為特征的當(dāng)前值的選項(xiàng)。因此,結(jié)構(gòu)模塊903進(jìn)入下一特征。如果該選項(xiàng)未處于 限制狀態(tài),則結(jié)構(gòu)模塊903判斷是否鎖定當(dāng)前特征的選項(xiàng)(步驟S1107)。如果鎖定當(dāng)前選項(xiàng),則這也意味著不能將該打印設(shè)置設(shè)置為選項(xiàng)。因此,結(jié)構(gòu)模塊 903進(jìn)入下一特征。如果要改變的選項(xiàng)未處于限制狀態(tài)并且如果未鎖定當(dāng)前選項(xiàng),則將該選 項(xiàng)設(shè)置為特征中的打印設(shè)置的值(步驟S1108)。當(dāng)對(duì)于所有特征都完成該處理時(shí),結(jié)構(gòu)模 塊903結(jié)束該處理。因此,可以通過(guò)鎖定特征來(lái)固定功能。第二實(shí)施例提供了一種用于固定功能的更 簡(jiǎn)單的機(jī)制和限制處理的更方便的實(shí)現(xiàn)。然而,在根據(jù)第二實(shí)施例的限制處理中,難以通過(guò) 改變某一值來(lái)改變另一值。因此,當(dāng)打印設(shè)置處于限制狀態(tài)時(shí),用戶(hù)改變?cè)撛O(shè)置以取消限制 狀態(tài),然后再設(shè)置該值??梢灾甘具M(jìn)行固定的另一可能的打印設(shè)置可以包括基于密碼的保密打印設(shè)置和 用戶(hù)名或日期打印設(shè)置。當(dāng)固定這類(lèi)打印設(shè)置時(shí),在固定安全打印設(shè)置時(shí),關(guān)閉保存(郵 箱)或優(yōu)先打印(中斷某一打印作業(yè)并且優(yōu)先打印稍后的打印作業(yè))設(shè)置。用于在固定用 戶(hù)名或日期打印設(shè)置時(shí)關(guān)閉海報(bào)打印設(shè)置的處理發(fā)揮作用。術(shù)語(yǔ)“打印機(jī)存儲(chǔ)器”是指設(shè) 置在打印機(jī)中的存儲(chǔ)器。術(shù)語(yǔ)“用戶(hù)界面畫(huà)面”是指用戶(hù)界面上的畫(huà)面?,F(xiàn)在將總結(jié)本實(shí)施例的技術(shù)原理。公開(kāi)了一種被配置成處理打印機(jī)驅(qū)動(dòng)程序中的打印設(shè)置的計(jì)算機(jī),其中,打印機(jī) 驅(qū)動(dòng)程序用于生成要發(fā)送給作為打印裝置的例子的打印機(jī)214并通過(guò)打印機(jī)214進(jìn)行打印 的數(shù)據(jù)。然后,將定義打印設(shè)置的限制的限制規(guī)則存儲(chǔ)在外部存儲(chǔ)裝置中。然后,使用打印 機(jī)驅(qū)動(dòng)程序的用戶(hù)界面或使用XML文件給出用于固定打印設(shè)置的指示。此外,結(jié)構(gòu)模塊提 高與已經(jīng)指示進(jìn)行固定的打印設(shè)置相關(guān)聯(lián)的限制規(guī)則的優(yōu)先級(jí)。這是規(guī)則優(yōu)先級(jí)設(shè)置的例 子。將打印設(shè)置的值作為對(duì)象存儲(chǔ)在外部存儲(chǔ)裝置中。結(jié)構(gòu)模塊根據(jù)限制處理規(guī)則來(lái)改變對(duì)象的值,并且根據(jù)優(yōu)先級(jí)來(lái)評(píng)價(jià)限制處理規(guī) 則。防止通過(guò)來(lái)自用戶(hù)界面的輸入或者通過(guò)執(zhí)行限制處理規(guī)則來(lái)改變已經(jīng)指示進(jìn)行固定的打印設(shè)置。此外,當(dāng)對(duì)用于改變已經(jīng)指示進(jìn)行值的固定的對(duì)象的值的限制處理規(guī)則進(jìn)行處 理時(shí),結(jié)構(gòu)模塊可以防止通過(guò)打印機(jī)驅(qū)動(dòng)程序的用戶(hù)界面來(lái)選擇使該值改變的對(duì)象的值。打印機(jī)驅(qū)動(dòng)程序的用戶(hù)界面以例如圖7所示的可識(shí)別方式,控制用于在監(jiān)視器上 顯示已經(jīng)指示進(jìn)行固定的打印設(shè)置的處理。限制處理規(guī)則的優(yōu)先級(jí)由廠商確定。然而,用戶(hù)可以使用根據(jù)本實(shí)施例的機(jī)制來(lái) 按照期望改變限制處理。優(yōu)選使用戶(hù)能夠使用用戶(hù)界面或XML文件給出用于固定雙面打印 設(shè)置、二合一打印設(shè)置、單色打印設(shè)置或保存(郵箱)設(shè)置等的指示。郵箱是設(shè)置在打印機(jī) 或多功能外圍設(shè)備的存儲(chǔ)器中的用于存儲(chǔ)從個(gè)人計(jì)算機(jī)(PC)發(fā)送來(lái)的打印數(shù)據(jù)等的存儲(chǔ) 箱。根據(jù)該設(shè)置,可以禁止打印和輸出,并且可以將打印數(shù)據(jù)始終保存在郵箱中。此外,當(dāng)由其它用戶(hù)給出的文檔具有打印設(shè)置“明信片”時(shí),用戶(hù)可能在不知道“明 信片”的設(shè)置的情況下打印該文檔。在這種情況下,與不能打印該文檔相比,以A4大小并且 雙面打印該文檔更加有利。此外,如果固定了保存(郵箱)設(shè)置,則將指定薄片大小從“用 戶(hù)定義的薄片(卷紙)”修改成“A4”。在現(xiàn)有處理中,在卷紙上進(jìn)行打印。因此,始終保存 設(shè)置將防止紙張資源的不必要使用。換句話說(shuō),在該環(huán)境下不可使用卷紙。此外,在本發(fā)明 的另一實(shí)施例中,如果存在了違反保存在郵箱設(shè)置的設(shè)置,則可以在不將打印數(shù)據(jù)存儲(chǔ)在 郵箱的情況下終止該打印操作,并且可以通知管理員。這里,假定保存在郵箱設(shè)置是與打印 有關(guān)的設(shè)置。還可以使用下面的設(shè)計(jì),在該設(shè)計(jì)中,當(dāng)固定二合一打印設(shè)置時(shí),將裝訂設(shè)置改變 成“OFF”狀態(tài)。還可以使用半固定模式。也就是說(shuō),當(dāng)可使用裝訂設(shè)置時(shí),進(jìn)行裝訂設(shè)置, 并且不采用二合一打印設(shè)置,并且當(dāng)根據(jù)打印機(jī)規(guī)格不可使用裝訂設(shè)置時(shí),固定二合一打 印設(shè)置。其它實(shí)施例根據(jù)從外部安裝的程序,通過(guò)計(jì)算機(jī)進(jìn)行圖5和11所示的根據(jù)上述實(shí)施例的處 理。在通過(guò)諸如緊湊型盤(pán)只讀存儲(chǔ)器(CD-ROM)、閃速存儲(chǔ)器或者軟磁盤(pán)或軟盤(pán)(FD)等的存 儲(chǔ)介質(zhì)或者通過(guò)網(wǎng)絡(luò)將包括該程序的信息組從外部存儲(chǔ)介質(zhì)提供至主機(jī)計(jì)算機(jī)的情況下, 也可以應(yīng)用本發(fā)明。如上所述,通過(guò)向系統(tǒng)或設(shè)備提供存儲(chǔ)有用于實(shí)現(xiàn)上述實(shí)施例的功能的軟件的程 序代碼的存儲(chǔ)介質(zhì),或者通過(guò)將該程序代碼從外部服務(wù)器(未示出)下載到存儲(chǔ)介質(zhì),從而 使該系統(tǒng)或設(shè)備的計(jì)算機(jī)(或者CPU或微處理單元(MPU))讀取并執(zhí)行存儲(chǔ)在該存儲(chǔ)介質(zhì) 中的程序代碼,也可以實(shí)現(xiàn)本發(fā)明的特征。在這種情況下,從該存儲(chǔ)介質(zhì)讀取的程序代碼實(shí)現(xiàn)了本發(fā)明的新功能,并且存儲(chǔ) 該程序代碼的存儲(chǔ)介質(zhì)可以構(gòu)成本發(fā)明的實(shí)施例。用于提供程序代碼的存儲(chǔ)介質(zhì)的例子可 以包括軟盤(pán)、硬盤(pán)、光盤(pán)、磁光盤(pán)、數(shù)字多功能盤(pán)(DVD)、CD-ROM、磁帶、非易失性存儲(chǔ)卡、ROM 和電可擦除可編程只讀存儲(chǔ)器(EEPROM)。本發(fā)明還可以包括其它實(shí)施例。除通過(guò)執(zhí)行由計(jì)算機(jī)讀取的程序代碼實(shí)現(xiàn)上述實(shí) 施例的功能以外,運(yùn)行在計(jì)算機(jī)上的OS等可以根據(jù)該程序代碼的指示進(jìn)行一些或全部實(shí) 際處理,從而實(shí)現(xiàn)上述實(shí)施例的功能。此外,可以將從存儲(chǔ)介質(zhì)讀取的程序代碼寫(xiě)入插入計(jì) 算機(jī)中的功能擴(kuò)展板或與計(jì)算機(jī)連接的功能擴(kuò)展單元中所設(shè)置的存儲(chǔ)器中,此后,該功能 擴(kuò)展板或功能擴(kuò)展單元中所設(shè)置的CPU等可以根據(jù)該程序代碼的指示進(jìn)行一些或全部實(shí)際處理,從而實(shí)現(xiàn)上述實(shí)施例的功能。盡管參考典型實(shí)施例說(shuō)明了本發(fā)明,但是應(yīng)該理解,本發(fā)明不局限于所公幵的典 型實(shí)施例。所附權(quán)利要求書(shū)的范圍符合最寬的解釋?zhuān)园羞@類(lèi)修改、等同結(jié)構(gòu)和功 能。本申請(qǐng)要求2008年8月8日提交的日本專(zhuān)利申請(qǐng)2008-205617的優(yōu)先權(quán),其全部 內(nèi)容通過(guò)引用包含于此。
權(quán)利要求
1.一種信息處理設(shè)備,用于處理打印機(jī)驅(qū)動(dòng)程序中的打印設(shè)置,所述打印機(jī)驅(qū)動(dòng)程序 用于生成要發(fā)送給打印裝置并通過(guò)所述打印裝置進(jìn)行打印的數(shù)據(jù),所述信息處理設(shè)備包 括存儲(chǔ)單元,用于存儲(chǔ)各自定義用于避免打印設(shè)置之間的沖突的限制的限制規(guī)則; 指示單元,用于指示固定打印設(shè)置;以及規(guī)則優(yōu)先級(jí)設(shè)置單元,用于提高與指示了進(jìn)行固定的打印設(shè)置有關(guān)的限制規(guī)則的優(yōu)先級(jí)。
2.根據(jù)權(quán)利要求1所述的信息處理設(shè)備,其特征在于,還包括 用于將打印設(shè)置的值作為對(duì)象進(jìn)行存儲(chǔ)的單元;用于根據(jù)限制處理規(guī)則改變所述對(duì)象的值的單元; 用于根據(jù)優(yōu)先級(jí)評(píng)價(jià)限制處理規(guī)則的單元;以及用于防止通過(guò)來(lái)自用戶(hù)界面的輸入或者通過(guò)執(zhí)行限制處理規(guī)則來(lái)改變指示了進(jìn)行固 定的打印設(shè)置的單元。
3.根據(jù)權(quán)利要求2所述的信息處理設(shè)備,其特征在于,還包括下面的單元該單元用于 在對(duì)用于改變指示了進(jìn)行值的固定的對(duì)象的值的限制處理規(guī)則進(jìn)行處理時(shí),防止使用所述 打印機(jī)驅(qū)動(dòng)程序的用戶(hù)界面選擇對(duì)象的使該對(duì)象的值改變的值。
4.根據(jù)權(quán)利要求1 3中任一項(xiàng)所述的信息處理設(shè)備,其特征在于,所述指示單元使用 所述打印機(jī)驅(qū)動(dòng)程序的用戶(hù)界面畫(huà)面指示固定打印設(shè)置。
5.根據(jù)權(quán)利要求1 4中任一項(xiàng)所述的信息處理設(shè)備,其特征在于,以能夠識(shí)別的方式 顯示通過(guò)所述指示單元指示了進(jìn)行固定的打印設(shè)置。
6.根據(jù)權(quán)利要求1 5中任一項(xiàng)所述的信息處理設(shè)備,其特征在于,所述指示單元用于 指示固定包括雙面打印設(shè)置、二合一打印設(shè)置、單色打印設(shè)置、保存在打印機(jī)存儲(chǔ)器中的設(shè) 置、保密打印設(shè)置、以及用戶(hù)名或日期打印設(shè)置的打印設(shè)置中的至少一個(gè)打印設(shè)置。
7.一種信息處理設(shè)備的信息處理方法,所述信息處理設(shè)備用于處理打印機(jī)驅(qū)動(dòng)程序中 的打印設(shè)置,所述打印機(jī)驅(qū)動(dòng)程序用于生成要發(fā)送給打印裝置并通過(guò)所述打印裝置進(jìn)行打 印的數(shù)據(jù),所述信息處理方法包括以下步驟存儲(chǔ)步驟,用于存儲(chǔ)各自定義用于避免打印設(shè)置之間的沖突的限制的限制規(guī)則; 指示步驟,用于指示固定打印設(shè)置;以及規(guī)則優(yōu)先級(jí)設(shè)置步驟,用于提高與指示了進(jìn)行固定的打印設(shè)置有關(guān)的限制規(guī)則的優(yōu)先級(jí)。
8.根據(jù)權(quán)利要求7所述的信息處理方法,其特征在于,還包括以下步驟 用于將打印設(shè)置的值作為對(duì)象進(jìn)行存儲(chǔ)的步驟;用于根據(jù)限制處理規(guī)則改變所述對(duì)象的值的步驟; 用于根據(jù)優(yōu)先級(jí)評(píng)價(jià)限制處理規(guī)則的步驟;以及用于防止通過(guò)來(lái)自用戶(hù)界面的輸入或者通過(guò)執(zhí)行限制處理規(guī)則來(lái)改變指示了進(jìn)行固 定的打印設(shè)置的步驟。
9.根據(jù)權(quán)利要求8所述的信息處理方法,其特征在于,還包括下面的步驟該步驟用于 在對(duì)用于改變指示了進(jìn)行值的固定的對(duì)象的值的限制處理規(guī)則進(jìn)行處理時(shí),防止使用所述 打印機(jī)驅(qū)動(dòng)程序的用戶(hù)界面選擇對(duì)象的使該對(duì)象的值改變的值。
10.根據(jù)權(quán)利要求7 9中任一項(xiàng)所述的信息處理方法,其特征在于,所述指示步驟使 用所述打印機(jī)驅(qū)動(dòng)程序的用戶(hù)界面畫(huà)面指示固定打印設(shè)置。
11.根據(jù)權(quán)利要求7 10中任一項(xiàng)所述的信息處理方法,其特征在于,以能夠識(shí)別的方 式顯示在所述指示單元中指示了進(jìn)行固定的打印設(shè)置。
12.根據(jù)權(quán)利要求7 11中任一項(xiàng)所述的信息處理方法,其特征在于,所述指示步驟 指示固定包括雙面打印設(shè)置、二合一打印設(shè)置、單色打印設(shè)置、保存在打印機(jī)存儲(chǔ)器中的設(shè) 置、保密打印設(shè)置、以及用戶(hù)名或日期打印設(shè)置的打印設(shè)置中的至少一個(gè)打印設(shè)置。
13.一種用于使計(jì)算機(jī)執(zhí)行根據(jù)權(quán)利要求7 12中任一項(xiàng)所述的信息處理方法的控制 程序。
14.一種存儲(chǔ)有根據(jù)權(quán)利要求13所述的控制程序的計(jì)算機(jī)可讀介質(zhì)。
全文摘要
作為例子,公開(kāi)一種信息處理設(shè)備,所述信息處理設(shè)備用于處理打印機(jī)驅(qū)動(dòng)程序中的打印設(shè)置,所述打印機(jī)驅(qū)動(dòng)程序用于生成要發(fā)送給打印裝置并通過(guò)所述打印裝置進(jìn)行打印的數(shù)據(jù),所述信息處理設(shè)備包括存儲(chǔ)單元,用于存儲(chǔ)各自定義用于避免打印設(shè)置之間的沖突的限制的限制規(guī)則;指示單元,用于指示固定打印設(shè)置;以及規(guī)則優(yōu)先級(jí)設(shè)置單元,用于提高與指示進(jìn)行固定的打印設(shè)置有關(guān)的限制規(guī)則的優(yōu)先級(jí)。
文檔編號(hào)G06F3/12GK102119378SQ20098013101
公開(kāi)日2011年7月6日 申請(qǐng)日期2009年8月4日 優(yōu)先權(quán)日2008年8月8日
發(fā)明者三井章弘 申請(qǐng)人:佳能株式會(huì)社