專利名稱:用于打印驅(qū)動程序和打印后臺處理程序的方法和裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及工作流程管理的領(lǐng)域;更具體地,本發(fā)明涉及用于便利至/自不同電子設(shè)備的文檔和工作流程傳輸?shù)南到y(tǒng)和方法。
背景技術(shù):
隨著辦公室“變得綠色化”和無紙化,用數(shù)字介質(zhì)代替?zhèn)鹘y(tǒng)的紙張介質(zhì),總的紙張量正在降低。同時,云計算/服務(wù)的使用處于上升中。由“云”中的計算能力給以動力的、 與云進(jìn)行交互的手持式設(shè)備正滲透商業(yè)和個人生活的每個角落。存在當(dāng)今商務(wù)辦公室中調(diào)派的來自不同制造商的大量電子紙設(shè)備(electronic Ε-paper device)。結(jié)果,當(dāng)今基于紙張的工作流程將由涉及多個不同電子紙設(shè)備的數(shù)字工作流程所取代。當(dāng)利用多個設(shè)備將文檔調(diào)派至工作流程時,存在許多變數(shù)。例如,集中式系統(tǒng)使用個人的信息技術(shù)來定義表格和工作流程。對于傳統(tǒng)的基于紙張的工作流程,利用文字處理器創(chuàng)建紙張或表格,并將其交付給某人,并且告訴它們在已經(jīng)完成工作流程步驟時誰要將紙張交回來(即,在文檔已簽名之后將表格返回給管理者)。沒有這種簡單的系統(tǒng)與電子文檔一起工作。調(diào)派電子文檔工作流程時出現(xiàn)的進(jìn)一步的復(fù)雜性存在于與各種設(shè)備相關(guān)聯(lián)的性能中。工作流程文檔可能由于對于不同電子設(shè)備的分辨率限制、色彩性能、多媒體內(nèi)容支持等而不能正確地顯示。進(jìn)一步,即使設(shè)備能夠顯示文檔,該設(shè)備也不能支持工作流程文檔的格式,例如,以Generic Postscript文檔的格式安排的文檔,以AMAZON KINDLETM的格式安排的文檔、以SONYE-READERTM的格式安排的文檔、或者M(jìn)S WORDTM可擴(kuò)展標(biāo)識語言文檔。即使設(shè)備能夠顯示工作流程文檔,也未保證用戶將能夠在設(shè)備上執(zhí)行所需的工作流程動作, 例如,提供簽名、選擇復(fù)選框等。
發(fā)明內(nèi)容
描述了用于打印驅(qū)動程序和打印后臺處理程序以控制文檔和工作流程傳輸?shù)姆椒ê脱b置。在一個實(shí)施例中,該方法包含接收用以打印電子文檔的請求。該方法也可包括利用工作流程打印驅(qū)動程序來捕獲工作流程配置數(shù)據(jù)。在一個實(shí)施例中,該方法進(jìn)一步包括將電子文檔調(diào)派至基于工作流程配置數(shù)據(jù)的工作流程。在一個實(shí)施例中,該方法包括從打印驅(qū)動程序接收用以打印電子文檔的請求。該方法還可包括利用工作流程打印后臺處理程序來檢索工作流程配置,其中工作流程打印后臺處理程序?yàn)閷?yīng)的工作流程提供預(yù)先配置的工作流程配置數(shù)據(jù)。在一個實(shí)施例中,該方法進(jìn)一步包括將電子文檔調(diào)派至基于工作流程配置數(shù)據(jù)的工作流程。
根據(jù)下面給出的詳細(xì)描述以及根據(jù)本發(fā)明各種實(shí)施例的附圖,本發(fā)明將得到更加完整地理解,然而,其不應(yīng)當(dāng)視為將本發(fā)明限制到特定實(shí)施例,而是僅僅用于說明和理解。圖1是用于利用打印系統(tǒng)以便利至和自電子設(shè)備的文檔和工作流程傳輸?shù)奶幚淼囊粋€實(shí)施例的流程圖。圖2A圖示用于利用打印驅(qū)動程序來便利文檔和工作流程傳輸?shù)募軜?gòu)的一個實(shí)施例。圖2B圖示用于利用打印后臺處理程序來便利文檔和工作流程傳輸?shù)募軜?gòu)的一個實(shí)施例。圖3是利用打印驅(qū)動程序以將電子文檔打印至工作流程的處理的一個實(shí)施例的流程圖。圖4A圖示針對工作流程提供的工作流程打印機(jī)對話框的一個實(shí)施例。圖4B圖示針對工作流程提供的工作流程打印機(jī)對話框的一個實(shí)施例。圖4C圖示針對工作流程提供的工作流程打印機(jī)對話框的一個實(shí)施例。圖5是用于利用打印機(jī)后臺處理程序以將電子文檔調(diào)派至工作流程的處理的一個實(shí)施例的流程圖。圖6是用于為電子文檔工作流程確定設(shè)備性能的處理的一個實(shí)施例的流程圖。圖7圖示用于確定工作流程內(nèi)電子文檔的狀態(tài)的圖形用戶界面。圖8是用于接收方設(shè)備的處理的一個實(shí)施例的流程圖,所述接收方設(shè)備處理從打印系統(tǒng)接收到的工作流程文檔。圖9是可執(zhí)行這里所述的一個或多個操作的計算機(jī)系統(tǒng)的框圖。
具體實(shí)施例方式描述用于打印驅(qū)動程序(print driver)和打印后臺處理程序(print spooler) 以控制文檔和工作流程傳輸?shù)姆椒ê脱b置。在一個實(shí)施例中,該方法包括接收用以打印電子文檔的請求。該方法也可包括利用工作流程打印驅(qū)動程序來捕獲工作流程配置數(shù)據(jù)。在一個實(shí)施例中,該方法進(jìn)一步包括將電子文檔調(diào)派至基于工作流程配置數(shù)據(jù)的工作流程。在一個實(shí)施例中,該方法包括從打印驅(qū)動程序接收用以打印電子文檔的請求。該方法還可以包括利用工作流程打印后臺處理程序來檢索工作流程配置,其中,工作流程打印后臺處理程序?yàn)閷?yīng)的工作流程提供預(yù)先配置的工作流程配置數(shù)據(jù)。在一個實(shí)施例中, 該方法進(jìn)一步包括將電子文檔調(diào)派到基于工作流程配置數(shù)據(jù)的工作流程。在下列描述中,闡述大量的細(xì)節(jié)以提供對于本發(fā)明的更徹底說明。然而,對于本領(lǐng)域技術(shù)人員顯而易見的是,本發(fā)明可以在沒有這些具體細(xì)節(jié)的情況下進(jìn)行實(shí)踐。在其它例子中,以框圖形式而非詳細(xì)地示出了公知的結(jié)構(gòu)和設(shè)備,以便避免混淆本發(fā)明。接下來的某些部分的詳細(xì)描述針對計算機(jī)存儲器內(nèi)關(guān)于數(shù)據(jù)位的運(yùn)算的算法和符號表示進(jìn)行了呈現(xiàn)。這些算法描述和表示是數(shù)據(jù)處理領(lǐng)域中的技術(shù)人員將其工作的內(nèi)容 (substance)最有效地傳遞至該領(lǐng)域中的其他技術(shù)人員所使用的辦法。算法在這里一般被視為導(dǎo)致期望結(jié)果的自相一致序列的步驟。所述步驟是需要物理量的物理操作的那些步驟。通常(盡管不一定),這些量采用能夠被存儲、傳輸、組合、比較以及以不同方式操作的電或磁信號的形式。已經(jīng)證明有時將這些信號稱為比特、值、元素、符號、字符、術(shù)語、數(shù)量等是方便的(主要為了通用的原因)。
然而,應(yīng)當(dāng)牢記的是,所有這些和類似術(shù)語要與適當(dāng)?shù)奈锢砹肯嚓P(guān)聯(lián),并且僅僅是應(yīng)用于這些量的方便標(biāo)簽。除了特別說明,否則,如從下列討論中顯而易見的那樣,應(yīng)當(dāng)理解,貫穿描述,利用術(shù)語(如,“處理”或“計算”或“運(yùn)算”或“確定”或“顯示”等)的討論是指計算機(jī)系統(tǒng)或者類似的電子計算設(shè)備的動作和處理,其中該計算機(jī)系統(tǒng)或者類似的電子計算設(shè)備將計算機(jī)系統(tǒng)的寄存器或存儲器內(nèi)的物理(電子)量所表示的數(shù)據(jù)操作并轉(zhuǎn)換為計算機(jī)系統(tǒng)存儲器或寄存器或其它這種信息存儲、傳輸或顯示設(shè)備內(nèi)的物理量類似表示的其它數(shù)據(jù)。本發(fā)明還涉及用于執(zhí)行這里的操作的裝置。該裝置可以針對需要的目標(biāo)而特別構(gòu)造,或者其可以包括由計算機(jī)中存儲的計算機(jī)程序選擇性地啟動或重新配置的通用計算機(jī)。這種計算機(jī)程序可存儲于計算機(jī)可讀存儲介質(zhì),諸如(但不限于)任何種類的盤,包括軟盤、光盤、CD-ROM和磁光盤、只讀存儲器(ROM)、隨機(jī)存取存儲器(RAM)、EPROM、EEPROM、磁或光卡、或適用于存儲電子指令并且每一個均耦合至計算機(jī)系統(tǒng)總線的各種類型的介質(zhì)。這里呈現(xiàn)的算法和顯示器并非固有地涉及任何具體的計算機(jī)或其它裝置。各種通用系統(tǒng)可根據(jù)這里的教導(dǎo)而與程序一起使用,或者其可證明便于構(gòu)造更加專用的裝置以執(zhí)行所需方法步驟。各種的這些系統(tǒng)的所需結(jié)構(gòu)根據(jù)下列描述將顯而易見。另外,未參照任何具體的編程語言來描述本發(fā)明。應(yīng)當(dāng)理解,可使用各種編程語言來實(shí)施這里描述的本發(fā)明的教導(dǎo)。機(jī)器可讀介質(zhì)包括用于存儲或傳送機(jī)器(如,計算機(jī))可讀形式的信息的任何機(jī)構(gòu)。例如,機(jī)器可讀介質(zhì)包括只讀存儲器(“ROM”);隨機(jī)存取存儲器(“RAM”);磁盤存儲介質(zhì);光存儲介質(zhì);閃存設(shè)備等。概述在一個實(shí)施例中,將電子文檔調(diào)派至利用打印機(jī)構(gòu)的工作流程。在一個實(shí)施例中, 工作流程打印機(jī)構(gòu)與想要將電子文檔調(diào)派至工作流程作為打印機(jī)驅(qū)動程序的用戶進(jìn)行相互作用(interface)。在另一實(shí)施例中,工作流程打印機(jī)構(gòu)是打印后臺處理程序。在任一實(shí)施例中,電子文檔被“打印”或調(diào)派至工作流程,并且工作流程信息攜帶在結(jié)果的打印流和 /或文檔圖像自身中的任何一個之中。通過啟動要使用常見并方便的打印機(jī)構(gòu)而調(diào)派至工作流程的電子文檔,用戶可以容易地并高效地啟動電子文檔工作流程。圖1是用于利用打印系統(tǒng)以便利至和自電子設(shè)備的文檔和工作流程傳輸?shù)奶幚?100的一個實(shí)施例的流程圖。該處理通過處理邏輯而執(zhí)行,其中所述邏輯可包括硬件(電路、專用邏輯等)、軟件(如,在通用計算機(jī)系統(tǒng)或?qū)S脵C(jī)器上運(yùn)行的軟件)或者兩者的組
參考圖1,該處理開始于處理邏輯為打印機(jī)圖形用戶界面中的工作流程接收用戶輸入(處理塊10 。在一個實(shí)施例中,如下面更加詳細(xì)描述的那樣,處理邏輯可以與將電子文檔引入至工作流程(作為打印機(jī)驅(qū)動程序或打印機(jī)服務(wù)器中的任何一個)的用戶進(jìn)行相互作用。在一個實(shí)施例中,工作流程信息(如,目的地設(shè)備、工作流程中的下一動作、工作流程中目的地設(shè)備的地址等)攜帶在打印流中。在一個實(shí)施例中,經(jīng)由從打印機(jī)驅(qū)動程序提供的圖形用戶界面接收用戶輸入,以允許用戶設(shè)置工作流程。在一個實(shí)施例中,指定工作流程包括指定文檔要返回到的郵件地址,或者如下的更加復(fù)雜的工作流程用戶指定工作流程中涉及哪些設(shè)備以及工作流程中每個設(shè)備需要什么種類的動作(如,簽名捕獲、復(fù)選框選擇、音頻注解等)。在一個實(shí)施例中,通過使用使能計算設(shè)備的任何應(yīng)用程序的打印驅(qū)動程序或者打印后臺處理程序來設(shè)置工作流程,其中所述計算設(shè)備能夠打印電子文檔以將電子文檔調(diào)派至工作流程。處理邏輯驗(yàn)證工作流程中指定的接收方設(shè)備的性能(處理塊104)。在一個實(shí)施例中,可以將電子文檔發(fā)送至大量不同的電子設(shè)備(如,個人數(shù)字助理、智能電話、平板電腦、 上網(wǎng)本、筆記本和個人計算機(jī))。在一個實(shí)施例中,打印服務(wù)器驗(yàn)證設(shè)備的性能,以便確??梢栽诠ぷ髁鞒讨猩婕暗拿恳粋€指定的接收方設(shè)備上渲染工作流程中調(diào)派的電子文檔。在一個實(shí)施例中,該驗(yàn)證包括針對分辨率、色彩/灰階深度和多媒體呈現(xiàn)性能來驗(yàn)證接收方設(shè)備的性能。在一個實(shí)施例中,該驗(yàn)證進(jìn)一步確定每個設(shè)備支持的格式,如,設(shè)備是否可顯示 PDF、W0RD等文檔。在一個實(shí)施例中,打印服務(wù)器進(jìn)一步檢查設(shè)備的性能以確保所需的工作流程動作能夠在工作流程中涉及的設(shè)備上執(zhí)行。在一個實(shí)施例中,工作流程中要涉及的設(shè)備登記有打印服務(wù)器或工作流程服務(wù)器,其中登記包括設(shè)備性能。在另一實(shí)施例中,隨著工作流程建立,處理邏輯查詢可能的接收方設(shè)備。處理邏輯針對工作流程中的目標(biāo)設(shè)備,將打印服務(wù)器處的文檔從應(yīng)用程序格式轉(zhuǎn)換到輸出格式(處理塊106)。在一個實(shí)施例中,打印服務(wù)器將文檔格式從應(yīng)用程序格式轉(zhuǎn)換為輸出設(shè)備格式(如,在AZW、PDF、ePub等格式之間進(jìn)行轉(zhuǎn)換),以確??梢栽谀繕?biāo)設(shè)備上渲染文檔。然后,處理邏輯基于確定的接收方設(shè)備的性能來回流(reflow)輸出文檔的內(nèi)容 (處理塊108)。在一個實(shí)施例中,打印服務(wù)器回流內(nèi)容以變更電子文檔的布局、修改電子文檔內(nèi)的內(nèi)容(例如,將圖像轉(zhuǎn)換到灰階、減小圖像大小、減小色彩比特深度、減小字體大小、增大字體大小等)、創(chuàng)建電子文檔的減小大小的呈現(xiàn)、確定頁碼標(biāo)記、對于位圖渲染字體(render fonts tobitmaps)、可能將文本轉(zhuǎn)換為音頻等,以確保布局適合于具有有限屏幕尺寸的設(shè)備。在一個實(shí)施例中,例如,如在2003年1月四日提交、2004年7月四日公開(公開號US 2004/0146199A1)的美國專利申請序列號11/018, 231 "Reformatting Documents Using Document Analysis Information'\2003 ^Ξ 5 ^ 9 H11 >2004^ 7 ^ 29 日公開(公開號US 2004/0145593A1)的題為‘‘Resolution Sensitive Layout of Document Regions”的美國專利申請序列號10/435, 300號、2004年12月22日提交、2006年6月22 日公開(公開號 US2006-0136491A1)的題為 ‘‘Semantic Document SmartnaiIs,,的美國專利申請序列號11/023,142、以及2004年12月20日提交、2006年6月22日公開(公開號 US 2006-0136803A1)的題為"Creating Visualizations of Documents” 的美國專利申請序列號11/018,231中描述的那樣,回流文檔的內(nèi)容。處理邏輯進(jìn)一步利用打印系統(tǒng)跟蹤工作流程中文檔的狀態(tài)(處理塊110)。在一個實(shí)施例中,打印服務(wù)器跟蹤關(guān)于工作流程文檔的設(shè)備的動作和進(jìn)程。在一個實(shí)施例中,針對利用打印服務(wù)器登記的每個設(shè)備跟蹤進(jìn)程。在一個實(shí)施例中,跟蹤數(shù)據(jù)包括設(shè)備當(dāng)前是否在線以及工作流程進(jìn)展到哪個步驟。圖2A圖示用于利用打印驅(qū)動程序便利文檔和工作流程傳輸?shù)募軜?gòu)的一個實(shí)施例。在一個實(shí)施例中,用戶系統(tǒng)202和接收方設(shè)備212可包括一個或多個計算設(shè)備(如,服務(wù)器計算機(jī)、桌上型計算機(jī)、筆記本系統(tǒng)、上網(wǎng)本、e閱讀器、平板電腦、智能電話或其它手持式計算設(shè)備)。在一個實(shí)施例中,用戶系統(tǒng)202經(jīng)由網(wǎng)絡(luò)210以可通信的方式與接收方設(shè)備212(如,接收方設(shè)備1到接收方設(shè)備N)耦合。在一個實(shí)施例中,網(wǎng)絡(luò)210可以是有線或無線網(wǎng)絡(luò)(如,局域網(wǎng)(LAN)、廣域網(wǎng)(如,互聯(lián)網(wǎng))或網(wǎng)絡(luò)的組合)。在一個實(shí)施例中,用戶系統(tǒng)202和接收方設(shè)備212經(jīng)由用于信息交換的任何標(biāo)準(zhǔn)協(xié)議在網(wǎng)絡(luò)210上進(jìn)行通信。在一個實(shí)施例中,工作流程打印驅(qū)動程序204安裝在用戶系統(tǒng)202上。在一個實(shí)施例中,工作流程打印驅(qū)動程序204可連接至支持打印并允許選擇要“打印”的設(shè)備的用戶系統(tǒng)202上安裝的任何應(yīng)用程序。在一個實(shí)施例中,工作流程打印驅(qū)動程序204響應(yīng)于用戶選擇要打印至工作流程的電子文檔,從用戶接收工作流程設(shè)置信息。如這里所討論的,電子文檔可以是可由用戶系統(tǒng)202打印的各種文檔中的任何一個,如PDF文檔、WORD文檔、HTML 文檔等。在一個實(shí)施例中,通過將文檔“打印”至工作流程,工作流程打印驅(qū)動程序204將電子文檔調(diào)派至工作流程,同時將用戶指定的工作流程數(shù)據(jù)添加至文檔的打印流或者添加至文檔自身。在一個實(shí)施例中,經(jīng)由工作流程服務(wù)器220或者通過將電子文檔直接提供至接收方設(shè)備212,將文檔調(diào)派至工作流程。在一個實(shí)施例中,工作流程服務(wù)器220接收打印的工作流程文檔,將它們發(fā)送至接收方設(shè)備212,保持工作流程交互的日志,并且為電子文檔工作流程管理紙狀的工作流程。在另一實(shí)施例中,用戶系統(tǒng)202和接收方設(shè)備212經(jīng)由每個設(shè)備上安裝的工作流程邏輯(未示出),直接實(shí)施工作流程服務(wù)器的動作(例如,記錄工作流程動作、處理電子文檔和在工作流程中發(fā)送文檔)。在一個實(shí)施例中,通過將工作流程數(shù)據(jù)嵌入至打印驅(qū)動程序204生成的輸出打印流,將電子文檔調(diào)派至工作流程。在一個實(shí)施例中,用戶接收到的以及嵌入在工作流程打印流中的工作流程設(shè)置數(shù)據(jù)可包括數(shù)據(jù),如工作流程中的接收方、工作流程中的步驟、要在工作流程中的每個步驟執(zhí)行的動作等。在一個實(shí)施例中,經(jīng)由工作流程打印對話界面206將工作流程設(shè)置信息接收為用戶輸入。工作流程打印對話界面的示例圖示在圖4A-C中。在一個實(shí)施例中,工作流程打印驅(qū)動程序204生成打印流,以使得工作流程指定的接收方設(shè)備212能夠渲染電子文檔。除了格式化接收方系統(tǒng)212的打印流之外,打印驅(qū)動程序204進(jìn)一步獲得關(guān)于工作流程中接下來的步驟的信息,并且包括打印流中的該信息。 獲得信息可采取這樣的形式允許用戶將郵件地址、網(wǎng)絡(luò)URL輸入至工作流程打印對話界面206的對話框。在一個實(shí)施例中,用戶系統(tǒng)202接著以打印流中指定的方式將電子文檔送往接收方設(shè)備212或者工作流程服務(wù)器220,以開始電子文檔工作流程。圖2B圖示用于利用打印后臺處理程序便利文檔和工作流程傳輸?shù)募軜?gòu)的一個實(shí)施例。與上面的圖2A相反,用戶系統(tǒng)252在不利用工作流程打印驅(qū)動程序的情況下,將電子文檔調(diào)派至工作流程。代之,在一個實(shí)施例中,用戶系統(tǒng)252通過利用工作流程打印后臺處理程序(如,打印服務(wù)器260處的工作流程打印后臺處理程序沈幻,將文檔調(diào)派至工作流程(即,通過將文檔發(fā)送至工作流程服務(wù)器或者接收方設(shè)備)。在一個實(shí)施例中, GenericPostscript打印驅(qū)動程序2M使用已針對工作流程預(yù)先配置的工作流程打印后臺處理程序沈2。即,工作流程打印后臺處理程序262包括工作流程信息,其包括工作流程的步驟、要在工作流程中每個步驟執(zhí)行的動作、工作流程期間用以接收電子文檔的接收方系統(tǒng)等。由于可能存在打印服務(wù)器260支持的各種工作流程,因此在一個實(shí)施例中,將每個工作流程提供給用戶系統(tǒng)252作為不同的可能的工作流程打印后臺處理程序沈2。在一個實(shí)施例中,通過呈現(xiàn)作為打印后臺處理程序的工作流程,用戶可以利用相同的打印機(jī)選擇用戶界面來選擇要將電子文檔“打印”到哪個工作流程,作為對于標(biāo)準(zhǔn)打印機(jī)的打印。
在一個實(shí)施例中,可以利用工作流程創(chuàng)建用戶界面270來設(shè)置或改變與工作流程打印后臺處理程序262相關(guān)聯(lián)的工作流程。在一個實(shí)施例中,工作流程創(chuàng)建用戶界面是經(jīng)由網(wǎng)絡(luò)210對于用戶系統(tǒng)252、接收方系統(tǒng)212以及其它系統(tǒng)(未示出)可訪問的網(wǎng)絡(luò)界在一個實(shí)施例中,打印服務(wù)器260處的每個工作流程打印后臺處理程序262負(fù)責(zé)將postscript打印流格式化為接收方系統(tǒng)212所需要的格式(如上所述)。再者,工作流程打印后臺處理程序262進(jìn)一步將工作流程數(shù)據(jù)嵌入至“打印的”電子文檔或者對應(yīng)的打印流(如上所述)。在一個實(shí)施例中,通過用戶系統(tǒng)252經(jīng)由工作流程打印后臺處理程序 262將電子文檔發(fā)送至工作流程中的接收方系統(tǒng)212,即使在接收方設(shè)備212已關(guān)閉或者已與網(wǎng)絡(luò)210臨時斷開的時候,也可以將文檔調(diào)派至工作流程。工作流程打印驅(qū)動程序圖3是利用打印驅(qū)動程序以將電子文檔打印至工作流程的處理300的一個實(shí)施例的流程圖。該處理通過處理邏輯來執(zhí)行,其中所述邏輯可包括硬件(電路、專用邏輯等)、軟件(如,在通用計算機(jī)系統(tǒng)或?qū)S脵C(jī)器上運(yùn)行的軟件)或者兩者的組合。參考圖3,該處理開始于處理邏輯在指定電子文檔的工作流程打印驅(qū)動程序處接收打印請求(處理塊30幻。在一個實(shí)施例中,如在圖4A中圖示的,經(jīng)由打印機(jī)選擇對話框 400接收選擇。在一個實(shí)施例中,除了標(biāo)有“名稱”的項目是包括正常“物理”打印機(jī)并且還包括“工作流程”打印機(jī)的菜單404之外,圖4A是標(biāo)準(zhǔn)的打印機(jī)對話框。如圖4A中所圖示,已將“簽名捕獲” 406選擇為打印機(jī)名稱,其指示具體工作流程操作的使用。在選擇該打印機(jī)之后,對話框中的“類型”402變?yōu)椤肮ぷ髁鞒檀蛴C(jī)”以指示物理打印機(jī)尚未被選擇。該“類型102可包括另外的信息,如,提供相關(guān)聯(lián)工作流程的伙伴(company)(例如,圖 2A或2B的工作流程服務(wù)器220)、或者將由工作流程執(zhí)行的操作。處理邏輯接收至少一個接收方設(shè)備和工作流程的規(guī)范(處理塊304和306)。對于工作流程打印機(jī),存在用于工作流程屬性408的標(biāo)簽。在一個實(shí)施例中,工作流程屬性408 的選擇促使顯示使得能夠設(shè)置工作流程的打印機(jī)對話框,如圖4C的對話框460。圖4C在工作流程屬性對話框462中圖示了對于常見工作流程有用的兩條信息目的地462和返回地址464。在圖4C的示例性對話框中,將這兩個項目提供給用戶以用于電子文檔至工作流程的選擇和調(diào)派。在一個實(shí)施例中,第一個項目是初始目的地設(shè)備462。這可以是任何的顯示器和用戶輸入捕獲設(shè)備,如智能電話、平板電腦、上網(wǎng)本、個人數(shù)字助理、筆記本、個人計算機(jī)或其它的用戶計算設(shè)備。在一個實(shí)施例中,設(shè)備可以由名稱標(biāo)識,由用戶或者由郵件地址、電話號碼或URL來提供。在一個實(shí)施例中,可以在打印對話框中指定接收方設(shè)備,如圖4C中所圖示。在一個實(shí)施例中,目的地462可以提供選項以選擇已登記有工作流程和/或相關(guān)聯(lián)的打印驅(qū)動程序的用戶和/或設(shè)備。在一個實(shí)施例中,目的地也可以接收用于指定地址的用戶輸入。在任一實(shí)施例中,目的地可以是郵件地址、互聯(lián)網(wǎng)協(xié)議地址、統(tǒng)一資源定位器等。在一個實(shí)施例中,響應(yīng)于打印請求,將電子文檔調(diào)派至目的地462的文檔工作流程。與多數(shù)工作流程一樣,將文檔發(fā)送至目的地462所指定的設(shè)備,目的地設(shè)備的用戶提供筆劃(stroke)(例如,文檔上的簽名),然后文檔返回到返回地址464。第二項目是接收方設(shè)備在其一旦已由人進(jìn)行作用而應(yīng)當(dāng)將工作流程信息發(fā)送到的返回地址464。在圖4C所圖示的示例性實(shí)施例中,該設(shè)備要利用可能修改的文檔將郵件發(fā)送回。再次,該信息可以是郵件地址、URL、電話號碼或者工作流程服務(wù)器的名稱。在一個實(shí)施例中,更復(fù)雜的工作流程是可能的,并且其可以通過使用圖4C中的 “高級”按鈕468而被訪問。這可為文檔工作流程提供用以選擇交互的若干步驟或類型的區(qū)域。處理邏輯將工作流程數(shù)據(jù)添加至文檔,并將成像和工作流程數(shù)據(jù)提供至接收方設(shè)備(處理塊308和310)。在圖4C中,當(dāng)選擇了“0K”按鈕時,啟動打印請求的應(yīng)用程序?qū)秩?rendering)指令提供給打印驅(qū)動程序(如,圖2A的打印驅(qū)動程序204)。在一個實(shí)施例中,工作流程信息存儲在郵件標(biāo)題行中。例如,將X-Workflow-I manager_padiexample. com列出為電子工作流程文檔的郵件地址。在某些情況下,該句法可直接用于工作流程中的調(diào)派。例如,當(dāng)打印驅(qū)動程序使用HTTP將pdf文件發(fā)送至目的地設(shè)備時,然后郵件標(biāo)題行可用作HTTP標(biāo)題行,這是由于句法是類似的。在某些情況下,直接將工作流程信息存儲在打印流中也是有用的。例如,在postscript中,工作流程信息可存儲在備注中。postscript中的備注以‘%’開始,由此以在根據(jù)工作流系統(tǒng)的打印驅(qū)動程序和接收方設(shè)備之間達(dá)成一致的方式,工作流程可存儲在備注行上。為了避免保留的字符,在一個實(shí)施例中,postscript工作流程備注是基64(base64)編碼的。由于可能最好不把備注字段用于命令,因此如果打印驅(qū)動程序正在發(fā)送PDF文件以用于文檔工作流程,則可以將信息存儲在PDF提供用于存儲元數(shù)據(jù)的各詞庫中的一個。 通常,工作流程信息將與文檔級別詞庫相關(guān)聯(lián),但是在一個實(shí)施例中,例如,如果多頁面文檔的不同頁面在完成之后應(yīng)當(dāng)去往不同目的地,則可以將頁面特定工作流程信息存儲在詞庫元數(shù)據(jù)中。幾乎所有的打印流數(shù)據(jù)格式都包含用以攜帶文檔元數(shù)據(jù)的辦法,或者至少是用以包含可存儲工作流程元數(shù)據(jù)的備注的能力。在一個實(shí)施例中,可以用更加正式的工作流程語言來描述更加復(fù)雜的工作流程。諸如XPDL、UML、BPEL、XLANG、WSFL、BPML、WSCI之類的正式語言是可存儲在元數(shù)據(jù)中并與打印流一起裝載(ship)的工作流程或建模語言。在一個實(shí)施例中,如果用戶想要改變打印機(jī),則其可選擇圖4A中打印機(jī)名稱右邊的“屬性”按鈕408。利用物理打印機(jī),這將導(dǎo)致與圖4B中所示的包括用于布局和紙張/質(zhì)量的標(biāo)簽相類似的對話框430。對于工作流程打印驅(qū)動程序,像“布局”那樣的某些標(biāo)簽可能與用于物理打印機(jī)的相同。像“紙張/質(zhì)量”那樣的其它標(biāo)簽以“顯示質(zhì)量”標(biāo)簽(未示出)來替代,或者可能不需要這種標(biāo)簽。工作流程打印后臺處理程序圖5是用于利用打印后臺處理程序以將電子文檔調(diào)派至工作流程的處理500的一個實(shí)施例的流程圖。該處理是通過處理邏輯而執(zhí)行的,其中所述邏輯可包括硬件(電路、專用邏輯等)、軟件(如,在通用計算機(jī)系統(tǒng)或?qū)S脵C(jī)器上運(yùn)行的軟件)或者兩者的組合。參考圖5,該處理開始于處理邏輯在用于電子文檔的打印服務(wù)器處接收打印請求 (處理塊50 。在一個實(shí)施例中,打印請求使用Generic Postscript打印機(jī)驅(qū)動程序指定要調(diào)派至工作流程的文檔。在一個實(shí)施例中,文檔可以是PDF、WORD、HTML等文檔中的任何
然后,處理邏輯接收工作流程打印后臺處理程序的選擇(處理塊504)。在一個實(shí)施例中,工作流程打印后臺處理程序針對特定工作流程而預(yù)先配置,并且使得用戶能夠選擇與預(yù)先配置的工作流程相關(guān)聯(lián)的屬性、用以將電子文檔發(fā)送至工作流程的設(shè)備、接下來的步驟或工作流程等。在一個實(shí)施例中,工作流程后臺處理程序的選擇僅被接收為正常的打印機(jī)選擇。在一個實(shí)施例中,工作流程打印后臺處理程序的選擇指定多個不同工作流程打印后臺處理程序中的一個,其中每個不同的工作流程打印后臺處理程序使得能夠?qū)㈦娮游臋n調(diào)派至不同的工作流程。處理邏輯利用打印后臺處理程序以便為所選工作流程格式化文檔,并且利用嵌入在該文檔和/或打印流中的工作流程數(shù)據(jù)來打印文檔(處理塊506和508)。處理邏輯將打印流(即,工作流程文檔)提供至該工作流程中指定的接收方(處理塊510)。在一個實(shí)施例中,處理邏輯如上面在圖3中討論的那樣配置輸出文檔/打印流。然而,圖5的處理邏輯利用預(yù)先配置的工作流程,而不利用用戶所選的工作流程選項。在一個實(shí)施例中,當(dāng)使用用戶界面270創(chuàng)建工作流程時設(shè)置工作流程選項。圖6是用于為電子文檔工作流程確定設(shè)備性能的處理600的一個實(shí)施例的流程圖。該處理通過處理邏輯而執(zhí)行,其中所述邏輯可包括硬件(電路、專用邏輯等)、軟件(如, 在通用計算機(jī)系統(tǒng)或?qū)S脵C(jī)器上運(yùn)行的軟件)或者兩者的組合。參考圖6,該處理開始于處理邏輯在打印系統(tǒng)處接收工作流程的用戶配置(處理塊602)。在一個實(shí)施例中,工作流程由工作流程打印驅(qū)動程序接收,如圖2A的打印驅(qū)動程序204或者圖2B的工作流程打印后臺處理程序202。處理邏輯確定要調(diào)派至工作流程(其中工作流程指定目的地設(shè)備)的文檔是否可顯示在目的地設(shè)備上(處理塊604)。處理邏輯進(jìn)一步確定接收方設(shè)備是否能夠執(zhí)行如工作流程所指定那樣的動作(處理邏輯606)。在一個實(shí)施例中,接收方設(shè)備利用工作流程服務(wù)器或打印機(jī)驅(qū)動程序進(jìn)行預(yù)登記,以便使得它們自身可用于參與電子文檔工作流程。在一個實(shí)施例中,接收方設(shè)備在該登記處理期間提供它們的性能,因此處理邏輯將其用于確定目的地或接收方設(shè)備性能。當(dāng)不能顯示任一文檔時,或者設(shè)備不能執(zhí)行所指定的工作流程動作時,處理邏輯經(jīng)由打印系統(tǒng)顯示對話框,警告用戶改變接收方設(shè)備、變更文檔或者改變工作流程(處理塊608)。然后處理邏輯返回到處理塊602以接收工作流程的新配置、接收方設(shè)備的列表、要執(zhí)行的工作流程動作等。然而,當(dāng)可顯示文檔并且接收方設(shè)備可執(zhí)行所指定的工作流程動作時,處理邏輯將文檔調(diào)派至工作流程(處理框610)。圖7圖示用于確定工作流程內(nèi)電子文檔的狀態(tài)的圖形用戶界面700。在一個實(shí)施例中,圖形用戶界面利用打印機(jī)進(jìn)程圖形用戶界面來顯示工作流程狀態(tài)702和與工作流程步驟相關(guān)聯(lián)的用戶/設(shè)備704。在一個實(shí)施例中,當(dāng)諸如圖2的工作流程打印驅(qū)動程序204 之類的打印驅(qū)動程序向接收方設(shè)備查詢工作流程中的狀態(tài)時,提供工作流程狀態(tài)702。正如標(biāo)準(zhǔn)打印驅(qū)動程序可向打印機(jī)查詢打印工作(即,“100的打印頁面42”)的進(jìn)程那樣,工作流程打印驅(qū)動程序查詢工作流程中的設(shè)備。在一個實(shí)施例中,諸如完成、等待之類的進(jìn)程 702顯示在圖形用戶界面700中。
10
圖8是用于接收方設(shè)備處理從打印系統(tǒng)接收到的工作流程文檔的處理800的一個實(shí)施例的流程圖。該處理通過處理邏輯而執(zhí)行,其中所述邏輯可包括硬件(電路、專用邏輯等)、軟件(如,在通用計算機(jī)系統(tǒng)或?qū)S脵C(jī)器上運(yùn)行的軟件)或者兩者的組合。參考圖8,該處理開始于處理邏輯從工作流程(其中文檔可以顯示)接收和渲染電子文檔(處理塊802和804)。在一個實(shí)施例中,文檔是已從工作流程打印系統(tǒng)打印至接收方設(shè)備的圖像,諸如圖2A或圖2B中所示的。處理邏輯在用于工作流程的渲染的圖像上接收來自用戶的輸入(處理塊806)。然后,處理邏輯基于文檔中的工作流程數(shù)據(jù)以及用戶輸入,確定工作流程中的下一步驟(處理塊808)。在一個實(shí)施例中,工作流程數(shù)據(jù)作為元數(shù)據(jù)嵌入文檔內(nèi)。在另一實(shí)施例中,工作流程數(shù)據(jù)嵌入在用來渲染文檔的打印流的備注中。然后,處理邏輯將具有另外工作流程數(shù)據(jù)的文檔提供至下一步驟中指定的接收方 (處理塊810)。計算機(jī)系統(tǒng)的示例圖9是可執(zhí)行這里所述的一個或多個操作的計算機(jī)系統(tǒng)的框圖。參考圖9,計算機(jī)系統(tǒng)900可包含示例性的客戶端(client)或服務(wù)器計算機(jī)系統(tǒng)。計算機(jī)系統(tǒng)900包括用于傳遞信息的通信機(jī)構(gòu)或總線911、與總線911耦合的用于處理信息的處理器912。處理器 912包括微處理器,但不限于微處理器,如奔騰TM等。系統(tǒng)900進(jìn)一步包含隨機(jī)存取存儲器(RAM)、或者其它的動態(tài)存儲設(shè)備104(稱為主存儲器),其與總線911耦合,用于存儲要由處理器912執(zhí)行的信息和指令。主存儲器904 也可存儲處理器912執(zhí)行指令期間的臨時變量或其它中間信息。計算機(jī)系統(tǒng)900還包含只讀存儲器(ROM)和/或其它的靜態(tài)存儲設(shè)備906,其耦合至總線,用于存儲用于處理器912的靜態(tài)信息和指令,以及數(shù)據(jù)存儲設(shè)備907(如,磁盤或光盤以及其對應(yīng)的盤驅(qū)動器)。數(shù)據(jù)存儲設(shè)備907耦合至總線911,用于存儲信息和指令。計算機(jī)系統(tǒng)900可進(jìn)一步耦合至顯示設(shè)備921,如陰極射線管(CRT)或液晶顯示器 (IXD),其耦合至總線911,用于將信息顯示給計算機(jī)用戶。字母數(shù)字輸入設(shè)備922(包括字母數(shù)字和其它按鍵)也可耦合至總線911,用于將信息和命令選擇傳遞給處理器912。另外的用戶輸入設(shè)備是光標(biāo)控制923,如鼠標(biāo)、跟蹤球、跟蹤板、觸針或光標(biāo)方向按鍵等,其耦合至總線911,用于將方向信息和命令選擇傳遞給處理器912,并用于控制顯示器921上的光標(biāo)運(yùn)動??神詈现量偩€911的另一設(shè)備是硬拷貝設(shè)備924,其可用于在介質(zhì)(如,紙張、膠卷或類似種類的介質(zhì))上打印指令、數(shù)據(jù)或其它信息。再者,聲音記錄和回放設(shè)備(如,揚(yáng)聲器和/或麥克風(fēng))可以可選地耦合至總線911,用于與計算機(jī)系統(tǒng)900以音頻方式接口連接??神詈现量偩€911的另一設(shè)備是有線/無線通信能力925,用以與電話或手持式掌上設(shè)備。
注意,系統(tǒng)900的組件和相關(guān)聯(lián)的硬件中的任何一個或所有都可用于本發(fā)明。然而,可理解的是,計算機(jī)系統(tǒng)的其它配置可包括某些或所有的所述設(shè)備。盡管在已閱讀以上描述之后,本發(fā)明的許多變更和修改無疑變得對于本領(lǐng)域技術(shù)人員顯而易見,但是要理解的是,通過圖示的方式示出和描述的任何具體示例決不旨在被視為限制。因此,對于各種實(shí)施例的細(xì)節(jié)的引用并非旨在限制權(quán)利要求書的范圍,權(quán)利要求書在其自身僅列出被視為對本發(fā)明必不可少的那些特征。
權(quán)利要求
1.一種計算機(jī)實(shí)施的方法,其特征在于 接收用以打印電子文檔的請求;利用工作流程打印驅(qū)動程序捕獲工作流程配置數(shù)據(jù);以及將該電子文檔調(diào)派至基于工作流程配置數(shù)據(jù)的工作流程。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,調(diào)派進(jìn)一步包括利用工作流程打印驅(qū)動程序生成所述電子文檔的打印流,其中,所述工作流程配置數(shù)據(jù)嵌入在所述打印流內(nèi)。
3.如權(quán)利要求2所述的方法,其特征在于,工作流程配置數(shù)據(jù)作為備注嵌入打印流內(nèi)。
4.如權(quán)利要求1所述的方法,其特征進(jìn)一步在于響應(yīng)于接收用以打印電子文檔的請求,顯示工作流程打印驅(qū)動程序?qū)υ拡D形用戶界從該工作流程打印驅(qū)動程序?qū)υ拡D形用戶界面接收工作流程配置數(shù)據(jù)的用戶選擇;以及打印驅(qū)動程序從該工作流程打印驅(qū)動程序?qū)υ拡D形用戶界面捕獲工作流程配置數(shù)據(jù)。
5.如權(quán)利要求1所述的方法,其特征進(jìn)一步在于 確定工作流程內(nèi)電子文檔的狀態(tài);以及在打印機(jī)狀態(tài)對話圖形用戶界面中顯示所述狀態(tài)。
6.一種計算機(jī)實(shí)施的方法,其特征在于從打印驅(qū)動程序接收用以打印電子文檔的請求;利用工作流程打印后臺處理程序檢索工作流程配置,所述工作流程打印后臺處理程序?yàn)閷?yīng)的工作流程提供預(yù)先配置的工作流程配置數(shù)據(jù);以及將電子文檔調(diào)派至基于工作流程配置數(shù)據(jù)的工作流程。
7.如權(quán)利要求6所述的方法,其特征在于,所述工作流程打印后臺處理程序是多個不同的工作流程打印后臺處理程序中的一個,每個不同的工作流程打印后臺處理程序?yàn)椴煌墓ぷ髁鞒烫峁┕ぷ髁鞒膛渲脭?shù)據(jù)。
8.如權(quán)利要求6所述的方法,其特征在于,調(diào)派進(jìn)一步包含利用打印驅(qū)動程序生成用于電子文檔的打印流,其中,所述打印后臺處理程序?qū)㈩A(yù)先配置的工作流程配置數(shù)據(jù)嵌入在打印流內(nèi)。
9.如權(quán)利要求6所述的方法,其特征進(jìn)一步在于確定所述預(yù)先配置的工作流程配置數(shù)據(jù)所指定的接收方設(shè)備的性能;基于確定的接收方設(shè)備的性能,對電子文檔重新格式化;以及基于預(yù)先配置的工作流程配置數(shù)據(jù),將重新格式化版本的電子文檔調(diào)派至工作流程。
10.一種系統(tǒng),其特征在于存儲器,其用以存儲電子文檔;以及處理器,其與所述存儲器耦合,用于從打印驅(qū)動程序接收用以打印電子文檔的請求;利用工作流程打印后臺處理程序檢索工作流程配置,所述工作流程打印后臺處理程序?yàn)閷?yīng)的工作流程提供預(yù)先配置的工作流程配置數(shù)據(jù);以及將電子文檔調(diào)派至基于工作流程配置數(shù)據(jù)的工作流程。
全文摘要
描述了用以控制文檔和工作流程傳輸?shù)拇蛴◎?qū)動程序的方法和裝置。所述方法包括接收用以打印電子文檔的請求。該方法可還包括利用工作流程打印驅(qū)動程序捕獲工作流程配置數(shù)據(jù)。在一個實(shí)施例中,該方法進(jìn)一步包括將該電子文檔調(diào)派至基于工作流程配置數(shù)據(jù)的工作流程。
文檔編號G06F3/12GK102193758SQ20111005733
公開日2011年9月21日 申請日期2011年3月10日 優(yōu)先權(quán)日2010年3月10日
發(fā)明者劉旭, 邁克爾·戈米什 申請人:株式會社理光