專利名稱:文檔處理裝置及文檔處理方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種用于在打印處理之前顯示打印圖像以讓用戶可以識(shí)別該打印圖像的、具有所謂的“預(yù)覽”功能等的文檔處理裝置及文檔處理方法。
背景技術(shù):
在使用安裝有微軟公司(Microsoft Corporation)的Windows (注冊(cè)商標(biāo))作為 操作系統(tǒng)(OS)的計(jì)算機(jī)的打印系統(tǒng)中,由應(yīng)用程序(application)等生成的打印數(shù)據(jù)以O(shè)S標(biāo)準(zhǔn)數(shù)據(jù)格式存儲(chǔ)在假脫機(jī)文件中。OS調(diào)用打印機(jī)驅(qū)動(dòng)器對(duì)打印數(shù)據(jù)進(jìn)行打印。打印機(jī)驅(qū)動(dòng)器讀取存儲(chǔ)在假脫機(jī)文件中的打印數(shù)據(jù),圖像生成處理單元?jiǎng)?chuàng)建打印圖像,打印機(jī)將數(shù)據(jù)進(jìn)一步轉(zhuǎn)換成能夠被解釋的打印命令。打印命令被發(fā)送到打印機(jī),打印機(jī)對(duì)打印命令進(jìn)行解釋,并在記錄介質(zhì)上形成圖像,以執(zhí)行打印處理。在打印機(jī)驅(qū)動(dòng)器中,實(shí)現(xiàn)了打印預(yù)覽功能,其中在向打印機(jī)發(fā)送打印命令之前分析打印數(shù)據(jù)及打印設(shè)置以創(chuàng)建指示打印結(jié)果的顯示數(shù)據(jù),并且預(yù)先顯示該數(shù)據(jù)。作為打印機(jī)驅(qū)動(dòng)器的模塊來提供預(yù)覽功能。還配備了這樣一種功能,即預(yù)覽功能將由打印機(jī)驅(qū)動(dòng)器的繪制(rendering)模塊或OS的描繪(drawing)模塊描繪的、用作打印預(yù)覽的內(nèi)容在顯示單元上輸出(例如參見日本特開2003-167721號(hào)公報(bào)或日本特開2004-102618號(hào)公報(bào))。打印預(yù)覽功能還實(shí)現(xiàn)了這樣一種功能,即顯示打印設(shè)置,并在必要時(shí)進(jìn)行改變(例如參見日本特開2006-011847號(hào)公報(bào))。另一方面,近年來出現(xiàn)了不同于傳統(tǒng)打印系統(tǒng)的打印系統(tǒng)。在新的打印系統(tǒng)(稱為“XPS打印系統(tǒng)”)中,不使用傳統(tǒng)的EMF(增強(qiáng)型元文件,Enhanced Meta File)格式,而使用 XPS (XML (Extensible Markup Language,可擴(kuò)展標(biāo)記語言)文件規(guī)范,XML PaperSpecification)格式作為在假脫機(jī)文件中存儲(chǔ)的數(shù)據(jù)格式。XPS是由微軟公司開發(fā)的開放標(biāo)準(zhǔn)的電子文檔格式。當(dāng)在打印預(yù)覽中改變打印設(shè)置時(shí),為了便于用戶識(shí)別改變內(nèi)容的影響范圍,在有些情況下使用這樣一種方法,即將打印設(shè)置改變的目標(biāo)限定在作業(yè)中的全部頁面具有相同打印設(shè)置的作業(yè),并且將改變內(nèi)容反映在整個(gè)作業(yè)上。在這種情況下,需要確定作業(yè)中的所有頁面是否具有相同的打印設(shè)置。在XPS打印系統(tǒng)中,可以為諸如頁面等的作業(yè)的一部分,來準(zhǔn)備作為描述打印設(shè)置的XML數(shù)據(jù)的打印票(PrintTicket或PT)。因此,需要對(duì)打印票進(jìn)行比較,以確定在XPS格式的文檔數(shù)據(jù)的頁面中打印設(shè)置是否相同。然而,當(dāng)對(duì)打印票中描述的項(xiàng)目分別進(jìn)行比較時(shí),依據(jù)頁面數(shù)量或者打印票中描述的項(xiàng)目數(shù)量,可能會(huì)施加大的處理負(fù)荷。此外,為了在打印設(shè)置被改變之后將改變內(nèi)容反映在打印票上,需要更新打印票以將改變內(nèi)容反映在所有頁面上。
發(fā)明內(nèi)容
鑒于上述問題作出了本發(fā)明,本發(fā)明提供一種用于將打印設(shè)置的比較或更新的處理負(fù)荷限制在最小程度、以將打印設(shè)置改變的目標(biāo)限定在作業(yè)中的所有頁面具有相同打印設(shè)置的作業(yè)的文檔處理裝置及文檔處理方法。本發(fā)明的結(jié)構(gòu)如下。更具體地說,根據(jù)本發(fā)明的一個(gè)方面,提供了一種文檔處理裝置,該文檔處理裝置處理包括用以集束頁面元素的文檔元素的文檔,其中,能夠?qū)Ω髟靥砑哟蛴≡O(shè)置信息,所述文檔處理裝置包括確定單元,其用于確定所述打印設(shè)置信息是否被添加到所述頁面元素和所述文檔元素兩者上;以及改變單元,其用于在所述確定單元確定所述打印設(shè)置信息被添加到所述頁面元素和所述文檔元素兩者上的情況下,不接受用戶對(duì)所述文檔的打印設(shè)置的改變,而在所述確定單元確定所述打印設(shè)置信息未被添加到所述頁面元素和所述文檔元素兩者上的情況下,接受用戶對(duì)所述文檔的打印設(shè)置的改變。
根據(jù)本發(fā)明的另一方面,提供了一種文檔處理裝置執(zhí)行的文檔處理方法,該文檔處理裝置處理包括用以集束頁面元素的文檔元素的文檔,其中,能夠?qū)Ω髟靥砑哟蛴≡O(shè)置信息,所述文檔處理方法包括確定步驟,其確定所述打印設(shè)置信息是否被添加到所述頁面元素和所述文檔元素兩者上;以及改變步驟,其在所述確定步驟確定所述打印設(shè)置信息被添加到所述頁面元素和所述文檔元素兩者上的情況下,不接受用戶對(duì)所述文檔的打印設(shè)置的改變,而在所述確定步驟確定所述打印設(shè)置信息未被添加到所述頁面元素和所述文檔元素兩者上的情況下,接受用戶對(duì)所述文檔的打印設(shè)置的改變。根據(jù)上述結(jié)構(gòu),本發(fā)明能夠以低的處理負(fù)荷,快速確定在打印作業(yè)中是否所有頁面具有相同的打印設(shè)置。此外,本發(fā)明能夠在抑制PrintTicket的更新量的同時(shí),將打印設(shè)置的改變反映在全體XPS數(shù)據(jù)上。通過下面參照附圖對(duì)示例性實(shí)施例的描述,本發(fā)明的其他特征將變得清楚。
圖I是XPS的邏輯結(jié)構(gòu)的示意圖。圖2是示出根據(jù)本發(fā)明的實(shí)施例的打印系統(tǒng)的示例的框圖。圖3是示出根據(jù)本發(fā)明的實(shí)施例的打印機(jī)驅(qū)動(dòng)器的示例的框圖。圖4是示出根據(jù)本發(fā)明的實(shí)施例的打印設(shè)置對(duì)話框的示例的圖。圖5是示出根據(jù)本發(fā)明的實(shí)施例的預(yù)覽窗口的示例的圖。圖6A及6B是示出例示根據(jù)本發(fā)明的實(shí)施例的在打印設(shè)置的相同性確定中使用的基本條件的XPS的示例的圖。圖7A、7B、7C及7D是示出例示根據(jù)本發(fā)明的實(shí)施例的在打印設(shè)置的相同性確定中使用的附加條件的XPS的示例的圖。圖8是示出根據(jù)本發(fā)明的實(shí)施例的XPS部分的獲取處理的示例的圖。圖9是示出根據(jù)本發(fā)明的實(shí)施例的作業(yè)級(jí)的PT生成處理的示例的圖。圖10是示出根據(jù)本發(fā)明的實(shí)施例的文檔級(jí)的PT生成處理的示例的圖。圖11是示出根據(jù)本發(fā)明的實(shí)施例的頁面級(jí)的PT生成處理的示例的圖。圖12是示出根據(jù)本發(fā)明的實(shí)施例的是否可以進(jìn)行打印設(shè)置改變確定處理的示例的圖。圖13是示出根據(jù)本發(fā)明的實(shí)施例的、打印設(shè)置改變?cè)赬PS數(shù)據(jù)上的反映的示意圖。圖14是示出根據(jù)本發(fā)明的實(shí)施例的PT更新處理的示例的圖。圖15是示出根據(jù)本發(fā)明的實(shí)施例的、使用DevmodeSnapShot的打印設(shè)置的比較處理的示例的圖。圖16是PT的示例的示意圖。圖17是示出PT的合并結(jié)果的示例的圖。
具體實(shí)施例方式[第I實(shí)施例]現(xiàn)在將基于圖中例示的實(shí)施例,來詳細(xì)地描述本發(fā)明。本說明書中的XPS是XMLPaper Specification(XML文件規(guī)范)的縮寫,并且是由微軟公司開發(fā)的開放標(biāo)準(zhǔn)的電子文檔格式之一?!碭PS文檔的結(jié)構(gòu)〉為了便于理解本說明書,首先將對(duì)XPS進(jìn)行簡單的描述。XPS文檔具有層次(hierarchical)結(jié)構(gòu),并且是在各層上包含元素(element)的結(jié)構(gòu)化文檔。具體來說,XPS文檔具有FixedDocumentSequence (固定文檔序列)(以下稱為“FDS”或“作業(yè)兀素”)作為根或頂層的樹形結(jié)構(gòu)。FDS具有I個(gè)或更多個(gè)FixedDocument (固定文檔)(以下稱為“FD”或“文檔元素”),F(xiàn)D具有I個(gè)或更多個(gè)FixedPage (固定頁面)(以下稱為“FP”或“頁面元素”)。因此,下層屬于頂層。在一些情況下將FDS、FD及FP稱為“XPS部分”,并且在一些情況下也稱為“XPS部分的元素”。FP描述XML格式的文檔的頁面的內(nèi)容,并且包含要實(shí)際顯示或打印的內(nèi)容。換句話說,F(xiàn)P描述描繪信息。多個(gè)FP可以共享FP的頁面內(nèi)容中使用的諸如字體及圖像等的資源。FDS、FD及FP可以在打印票(print ticket,以下稱為“PT”)中具有打印設(shè)置。因此,打印票相當(dāng)于添加到元素的打印設(shè)置信息。PT用XML格式描述用于打印XPS文檔的打印設(shè)置。用來打印FP的打印設(shè)置是合并了 FDS的PT、待打印FP的父FD的PT、以及待打印FP的PT的PT。當(dāng)合并PT時(shí),將下層的打印設(shè)置優(yōu)先。在XPS格式的文檔數(shù)據(jù)中,F(xiàn)P相當(dāng)于文檔的頁面,F(xiàn)D相當(dāng)于具有頁面束的文檔,F(xiàn)DS相當(dāng)于具有文檔束的作業(yè)。作業(yè)相當(dāng)于一組文檔數(shù)據(jù)。圖I是示出XPS文檔的邏輯結(jié)構(gòu)的框圖的示例。XPS文檔101的邏輯結(jié)構(gòu)是以FDS103作為根的樹形結(jié)構(gòu)。FDS 103包括FD 111及113作為子(child)。FD 111包括FP 121及123作為子。FD 113包括FP 125作為子。就描述打印設(shè)置的PT而言,F(xiàn)DS 103保持有PT 131,F(xiàn)D 111 保持有 PT 133,F(xiàn)P 121 保持有 PT 135,F(xiàn)D 113 保持有 PT 137。換句話說,對(duì)PT的保持表示關(guān)聯(lián)。FP 123及125未保持PT。FP 121及123共享諸如字體(font)及圖像(image)等的資源141,F(xiàn)P 125使用諸如字體及圖像等的資源143。例如,用來打印FP121的PT是合并了 PT 131、133及135的PT。實(shí)際的XPS文檔是通過壓縮圖I的結(jié)構(gòu)化文檔而獲得的數(shù)據(jù)。圖16是PT的示例。如前所述,打印設(shè)置用XML來描述。在圖16的PT中,標(biāo)簽(tab) 1601描述了紙張大小是A4的設(shè)置,標(biāo)簽1602描述了紙張類型是普通紙的打印設(shè)置。PT被附加到FDS、FD及FP。圖17是通過合并PT而生成的FP的打印設(shè)置的示例。在該示例中,打印設(shè)置包括“紙張大小”、“紙張類型”、“進(jìn)給方法”、“打印方向”及“單色打印” 5個(gè)項(xiàng)目。所述打印設(shè)置可以在FDS、FD及FP的各層中指定,還通過由用戶指定的默認(rèn)設(shè)置(用戶默認(rèn)設(shè)置)來指定。圖17的FDS和FD以及FD和FP是串聯(lián)的(in serial)父子關(guān)系。在合并期間,在各PT的打印設(shè)置中優(yōu)先并應(yīng)用子元素的設(shè)置。用戶的默認(rèn)打印設(shè)置應(yīng)用于不存在于任何部分的PT中的打印設(shè)置。例如,如果不存在如圖17中的FDS、FD及FP的PT中的紙張大小的設(shè)置,則應(yīng)用用戶默認(rèn)設(shè)置“A4”作為頁面級(jí)的打印設(shè)置。就紙張類型而言,在FDS中描述了“普通紙”,在FD中描述了 “明信片”。在FP的PT中沒有描述。在這種情況下,應(yīng)用作為子元素的FD的設(shè)置,而不應(yīng)用FDS的設(shè)置。因此,在頁面級(jí)的打印設(shè)置中設(shè)置紙張類型“明信片”。同樣,在FDS的PT中描述的“盒”應(yīng)用于進(jìn)給方法,在FP的PT中描述的“橫向”應(yīng)用于打印方向,在FP的PT中描述的“開啟(0N)”應(yīng)用于單色打印。這樣,在具有相關(guān)打印設(shè)置的PT當(dāng)中,應(yīng)用樹形結(jié)構(gòu)中的下級(jí)XPS部分中的設(shè)置作為頁面級(jí)的打印設(shè)置。還指定將在哪個(gè)級(jí)別中使用設(shè)置項(xiàng)目,并且在合并低于指定級(jí)別的級(jí)別的部分中的PT之前,不需要考慮項(xiàng)目。例如,當(dāng)合并FP的PT時(shí),不反映在FP的PT中描述的作業(yè)級(jí)的項(xiàng)目。另一方 面,當(dāng)合并FDS的PT時(shí),反映在FDS的PT中描述的頁面級(jí)的項(xiàng)目。在下文中,將通過合并用戶默認(rèn)打印設(shè)置和FDS的PT而獲得的PT稱為“作業(yè)級(jí)PT”。將通過合并作業(yè)級(jí)PT和FD的PT而獲得的PT稱為“文檔級(jí)PT”。將通過合并文檔級(jí)PT和FP的PT而獲得的PT稱為“頁面級(jí)PT”?!创蛴∠到y(tǒng)的結(jié)構(gòu)〉圖2是示出根據(jù)本發(fā)明的實(shí)施例的打印系統(tǒng)的結(jié)構(gòu)的框圖。打印機(jī)201是形成圖像的噴墨打印機(jī)。打印機(jī)201基于由后述的數(shù)據(jù)處理器(以下又稱“信息處理器”)202生成的打印命令,在記錄介質(zhì)200上形成圖像。數(shù)據(jù)處理器202可以是安裝有用于執(zhí)行本實(shí)施例的步驟的文檔處理程序的通用計(jì)算機(jī),也可以是文檔處理裝置。打印機(jī)的類型不是特別重要,在這里例示了噴墨彩色打印機(jī)。在數(shù)據(jù)處理器202中,未示出的應(yīng)用程序創(chuàng)建打印作業(yè),打印機(jī)驅(qū)動(dòng)器230基于假脫機(jī)的打印作業(yè)生成用于控制所連接的打印機(jī)201的打印操作的打印命令。在本實(shí)施例中,使用個(gè)人計(jì)算機(jī)作為數(shù)據(jù)處理器202。數(shù)據(jù)處理器202還接受來自用戶的、與打印設(shè)置相關(guān)的指令和輸入。用于控制數(shù)據(jù)處理器202的OS包含在數(shù)據(jù)處理器202中,各種功能塊在OS進(jìn)行的控制下操作。通信接口 203是用于連接數(shù)據(jù)處理器202和打印機(jī)201的通信接口。在本實(shí)施例中使用作為串行接口的USB。作為選擇,可以使用諸如IEEE 1394、以太網(wǎng)(Ethernet (注冊(cè)商標(biāo)))、IrDA、IEEE 802. 11及電力線等的串行接口,或者諸如Centronics及SCSI等的并行接口??梢允褂萌魏斡芯€/無線接口,只要能夠?qū)崿F(xiàn)通信即可。這樣,本實(shí)施例中的打印系統(tǒng)不是獨(dú)立裝置,而具有數(shù)據(jù)處理器202與形成圖像的打印機(jī)201通過特定的雙向接口相連接的結(jié)構(gòu)。然而,配置不局限于該示例,系統(tǒng)可以是將數(shù)據(jù)處理器與打印機(jī)的功能進(jìn)行了整合的集成打印系統(tǒng)。打印機(jī)201及數(shù)據(jù)處理器202的功能對(duì)于說明本實(shí)施例的特征而言不是特別需要,因此將不予描述。對(duì)各功能塊進(jìn)行描述。打印設(shè)置處理單元231又稱為“用戶接口模塊”,它是用于用戶改變打印設(shè)置的程序模塊。打印設(shè)置處理單元231能夠根據(jù)用戶的操作顯示打印設(shè)置信息,并能夠接受打印設(shè)置信息的輸入(例如編輯)。打印設(shè)置處理單元231還將接受的打印設(shè)置的改變反映在打印設(shè)置信息上。如果不能接受打印設(shè)置,則打印設(shè)置處理單元231僅顯示打印設(shè)置,而不接受編輯。這可以應(yīng)用于全部打印設(shè)置信息,或者可以部分應(yīng)用。過濾器(filter)組319包括布局處理單元321、預(yù)覽文檔處理單元323以及打印命令生成處理單元325。這些是也稱為“過濾器”的程序模塊。下面,參照?qǐng)D3描述處理的內(nèi)容。數(shù)據(jù)通信處理單元233是輸出生成的打印命令等的程序模塊。預(yù)覽控制單元235又稱為“預(yù)覽控制模塊”,它執(zhí)行與預(yù)覽顯示相關(guān)的控制,例如根據(jù)預(yù)覽數(shù)據(jù)指令生成預(yù)覽數(shù)據(jù)以及顯示指定頁面等。塊240至244是硬件模塊,其形成用于執(zhí)行打印機(jī)驅(qū)動(dòng)器230、應(yīng)用程序、操作系統(tǒng)等的環(huán)境。中央控制單元241是處理器,其執(zhí)行存儲(chǔ)在存儲(chǔ)單元244等中的程序,并處理文檔數(shù)據(jù)以及與所述文檔數(shù)據(jù)相關(guān)聯(lián)的打印設(shè)置信息。信息通知單元243將各種信號(hào)輸入到中央控制單元241。也可以包含諸如顯示器等的顯示設(shè)備。存儲(chǔ)單元244由半導(dǎo)體存儲(chǔ)器、硬盤等構(gòu)成,并存儲(chǔ)程序以及文檔數(shù)據(jù)。存儲(chǔ)單元244還存儲(chǔ)由操作系統(tǒng)為打印使用的假脫機(jī)文件。輸入操作單元242控制輸入,并控制諸如鍵盤等的輸入設(shè)備。
存儲(chǔ)介質(zhì)供給通過軟件實(shí)現(xiàn)的上述各種功能塊的程序代碼??梢允褂玫慕橘|(zhì)的示例包括軟盤、硬盤、光盤、磁光盤、CD-ROM、CD-R、磁帶、非易失性存儲(chǔ)卡、以及ROM。<打印機(jī)驅(qū)動(dòng)器的操作>圖3是用于說明本發(fā)明中的打印機(jī)驅(qū)動(dòng)器的實(shí)施例的框圖,其概略地例示了圖2的打印系統(tǒng),并重點(diǎn)例示了 OS打印支持功能以及打印機(jī)驅(qū)動(dòng)器。與本發(fā)明相關(guān)的模塊有包含打印設(shè)置功能的用戶接口模塊231及過濾器組319。過濾器組319由具有對(duì)XPS數(shù)據(jù)的頁面進(jìn)行布置的功能的布局過濾器321、作為用于提供預(yù)覽功能的過濾器的預(yù)覽過濾器323以及具有將XPS數(shù)據(jù)轉(zhuǎn)換為打印機(jī)能夠解釋的打印命令的功能的打印命令過濾器325構(gòu)成。過濾器一般是指具有基于輸入數(shù)據(jù)通過步驟(諸如處理、轉(zhuǎn)換、無轉(zhuǎn)換及生成等)來輸出某種數(shù)據(jù)的功能的程序。各過濾器表示圖2的布局處理單元321、預(yù)覽文檔處理單元323及打印命令生成處理單元325的不同名稱。在圖3的打印系統(tǒng)中,由應(yīng)用程序301創(chuàng)建的文檔的各頁面的打印數(shù)據(jù)通過OS打印支持功能313臨時(shí)存儲(chǔ)在XPS假脫機(jī)文件317中。打印機(jī)驅(qū)動(dòng)器的過濾器組319基于打印設(shè)置信息,將數(shù)據(jù)轉(zhuǎn)換為打印機(jī)能夠解釋的打印命令。該命令被供給到打印機(jī)201并被打印。用戶接口模塊231—般提供設(shè)置用于打印的紙張大小及打印方向以及其他屬性的功能。用戶接口模塊231向應(yīng)用程序301返回存儲(chǔ)有多個(gè)打印設(shè)置項(xiàng)目的設(shè)置值的打印設(shè)置信息。下面參照?qǐng)D4描述由用戶接口模塊231提供的打印設(shè)置對(duì)話框的示例。在創(chuàng)建的任意文檔的打印中,應(yīng)用程序301向OS打印支持功能313通知打印開始或打印結(jié)束,并通知從用戶接口模塊231返回的打印設(shè)置信息以執(zhí)行打印設(shè)置。應(yīng)用程序301還通知文檔的各頁面的描繪開始或描繪結(jié)束。OS打印支持功能313把應(yīng)用程序描繪的內(nèi)容以及打印設(shè)置信息存儲(chǔ)在XPS假脫機(jī)文件317中。OS打印支持功能調(diào)用各過濾器對(duì)假脫機(jī)的打印作業(yè)進(jìn)行假脫機(jī)輸出。打印機(jī)驅(qū)動(dòng)器的過濾器組319由I個(gè)或更多個(gè)過濾器構(gòu)成。過濾器組319具有這樣一種功能,即在打印期間從XPS假脫機(jī)文件中讀出打印作業(yè),將作業(yè)轉(zhuǎn)換為打印機(jī)能夠解釋的打印命令,并將該命令供給到打印機(jī)201進(jìn)行打印。本實(shí)施例中的過濾器組319由作為布局處理單元的布局過濾器321、作為預(yù)覽文檔創(chuàng)建單元的預(yù)覽過濾器323以及作為打印命令轉(zhuǎn)換單元的打印命令過濾器325構(gòu)成。然而,I個(gè)過濾器即能夠?qū)崿F(xiàn)布局功能及預(yù)覽功能,可以將不必要的過濾器去除。本提議不局限于以上過濾器結(jié)構(gòu)。布局過濾器321具有這樣一種功能,即將存儲(chǔ)在XPS假脫機(jī)文件317中的XPS數(shù)據(jù)作為輸入進(jìn)行處理,基于打印設(shè)置信息來執(zhí)行頁面的布局處理,并輸出布局后的XPS數(shù)據(jù)。本實(shí)施例中的布局處理包括例如用于在一個(gè)紙面上打印多個(gè)頁面的N-UP打印,以及用于在多個(gè)紙面上打印一個(gè)頁面的海報(bào)打印。預(yù)覽過濾器323將布局過濾器321的輸出作為輸入進(jìn)行處理,并基于打印設(shè)置向用戶提供預(yù)覽功能。打印命令過濾器325將預(yù)覽過濾器323的輸出作為輸入進(jìn)行處理,并且具有這樣一種功能,即依照打印設(shè)置信息將XPS數(shù)據(jù)轉(zhuǎn)換為打印機(jī)能夠解釋的打印命令,并將該命令輸出。當(dāng)打印命令過濾器325將輸入的XPS數(shù)據(jù)臨時(shí)轉(zhuǎn)換為圖像數(shù)據(jù)時(shí),一般將該過濾器 稱為“繪制過濾器(render filter)”。繪制過濾器經(jīng)常用于以噴墨打印機(jī)為代表的廉價(jià)光柵打印機(jī)的打印機(jī)驅(qū)動(dòng)器中。當(dāng)被作為繪制過濾器進(jìn)行操作時(shí),打印命令過濾器325將輸入的XPS數(shù)據(jù)臨時(shí)轉(zhuǎn)換為圖像數(shù)據(jù)。在諸如色彩空間轉(zhuǎn)換及二值化等的圖像處理之后,數(shù)據(jù)被轉(zhuǎn)換為光柵打印機(jī)能夠解釋的打印命令。如果在以頁式打印機(jī)為代表的高功能打印機(jī)中,XPS包含在打印機(jī)能夠解釋的類型的打印命令中,則打印命令過濾器325對(duì)輸入的XPS數(shù)據(jù)進(jìn)行編輯,并將XPS數(shù)據(jù)輸出。如果打印命令過濾器325中的處理是非必要的,則顯然可以將輸入的XPS數(shù)據(jù)輸出而不必進(jìn)行轉(zhuǎn)換,或者可以不必將打印命令過濾器325包含在打印機(jī)驅(qū)動(dòng)器中。作為輸出設(shè)備的打印機(jī)201具有這樣一種功能,即解釋由打印命令過濾器325生成的打印命令,并在打印紙上形成可見圖像。打印紙200中示出的打印結(jié)果的示例例示了布局過濾器321已執(zhí)行了 2-up (2個(gè)頁面被縮小并布置在片材的一個(gè)面上的配置)的處理?!创蛴≡O(shè)置畫面〉圖4是示出在本實(shí)施例中被顯示用來設(shè)置打印模式或執(zhí)行各種紙張?jiān)O(shè)置的打印設(shè)置對(duì)話框的示例的圖。在圖4中,打印設(shè)置對(duì)話框401由顯示區(qū)域402、403、404、405、406、408、409、410、411、420、422、423、424、425、431等構(gòu)成。打印設(shè)置中有數(shù)量非常多的顯示項(xiàng)目。因此,通常使用選項(xiàng)卡頁來按內(nèi)容對(duì)設(shè)置項(xiàng)目進(jìn)行分類,以便能夠輕松地查看這些項(xiàng)目。圖4示出了當(dāng)選擇了基本設(shè)置選項(xiàng)卡402時(shí)的顯示示例?;驹O(shè)置的簡易顯示區(qū)域420不僅顯示文字信息,而且顯示具有視覺吸引力的形式的信息。紙張類型選擇單元422顯示紙張類型,用戶可以對(duì)紙張類型進(jìn)行選擇。紙張類型選擇單元422由下拉菜單構(gòu)成,并且通常顯示所選擇的紙張類型。通過在該處單擊,可選擇紙張類型的列表被顯示出來??蛇x擇紙張類型是打印機(jī)可打印的片材,包括例示的普通紙以及光面紙、銅版紙、照相紙、明信片、賀年明信片等。進(jìn)給方法選擇單元423顯示打印機(jī)主體進(jìn)給紙張的進(jìn)給方法,用戶可以對(duì)進(jìn)給方法進(jìn)行選擇。用戶可以使用進(jìn)給方法選擇單元423來選擇例如作為自動(dòng)進(jìn)紙口的進(jìn)紙托盤及紙盒,以及以手動(dòng)方式逐頁進(jìn)給打印機(jī)紙張的“手動(dòng)進(jìn)紙”。打印質(zhì)量選擇單元424是用于讓用戶對(duì)打印質(zhì)量進(jìn)行設(shè)置的項(xiàng)目。色彩調(diào)整單元425是用于讓用戶對(duì)打印色彩進(jìn)行調(diào)整的項(xiàng)目。單色打印設(shè)置單元426是復(fù)選框,其用于在即使打印文檔是彩色的時(shí)也使打印結(jié)果成為黑白的。預(yù)覽打印設(shè)置單元427是復(fù)選框,其用于在打印機(jī)進(jìn)行實(shí)際打印之前,確認(rèn)各種打印設(shè)置如何反映在打印文檔上。當(dāng)標(biāo)準(zhǔn)設(shè)置單元431被按下時(shí),基本設(shè)置402的設(shè)置返回到標(biāo)準(zhǔn)設(shè)置(出廠時(shí)的設(shè)置)。用戶可以在選擇完各項(xiàng)目之后按下“確定”按鈕408來關(guān)閉打印設(shè)置對(duì)話框401,以將所選擇的打印設(shè)置反映在打印上。當(dāng)用戶按下取消按鈕409時(shí),打印設(shè)置對(duì)話框401關(guān)閉,所選擇的設(shè)置項(xiàng)目的內(nèi)容被放棄并且不被反映在打印上。應(yīng)用按鈕410能夠在打印設(shè)置對(duì)話框401保持打開狀態(tài)的同時(shí),將所選擇的打印設(shè)置反映在打印上。幫助按鈕411能夠在另一窗口上顯示與基本設(shè)置402的設(shè)置項(xiàng)目相關(guān)的說明文本。〈預(yù)覽控制模塊的預(yù)覽窗口〉圖5示出了在本實(shí)施例中由預(yù)覽控制模塊提供的顯示畫面(預(yù)覽窗口)的示例。打印預(yù)覽窗口 501充當(dāng)用于顯示預(yù)覽圖像、打印作業(yè)的打印設(shè)置等的顯示區(qū)域以及用于讓 用戶改變預(yù)覽圖像的顯示方法等的輸入單元。菜單欄502讓用戶可以用菜單格式選擇發(fā)送到預(yù)覽程序的指令(例如如顯示切換等)。準(zhǔn)備有用戶操作單元503至506的區(qū)域是工具欄,通過按下工具欄503,用戶不必使用菜單欄502就能夠輕松地執(zhí)行諸如切換預(yù)覽頁面等的操作。頁面切換按鈕503由4個(gè)按鈕構(gòu)成,并且可以將預(yù)覽顯示切換到首頁、上一頁、下一頁和最后一頁。下拉列表504是用于改變預(yù)覽圖像的顯示大小的下拉列表,并且可以選擇完整顯示、100%顯示、200%顯示等。用戶可以按下打印開始按鈕505來結(jié)束預(yù)覽程序,所預(yù)覽的用于預(yù)覽的XPS文檔可以被打印。用戶可以按下打印取消按鈕506來結(jié)束預(yù)覽程序并取消打印作業(yè)。預(yù)覽顯示區(qū)域507利用用于預(yù)覽的XPS文件的內(nèi)容,以將打印紙以及期望在該打印紙上形成的可見圖像作為打印圖像來顯示。顯示區(qū)域508顯示與應(yīng)用了預(yù)覽功能的打印作業(yè)的打印設(shè)置相關(guān)的代表性設(shè)置項(xiàng)目的設(shè)置值。圖5例示了這樣一個(gè)示例,在其中,文檔的總頁數(shù)是3頁,當(dāng)前所預(yù)覽和顯示的頁碼是第2頁,在打印設(shè)置中設(shè)置的份數(shù)是I份,并且設(shè)置了等倍打印。顯示區(qū)域509顯示與應(yīng)用了預(yù)覽功能的打印作業(yè)中當(dāng)前顯示的頁面的打印設(shè)置相關(guān)的代表性設(shè)置項(xiàng)目的設(shè)置值。圖5例示了這樣一個(gè)示例,在該示例中,輸出紙張大小是A4,紙張類型是普通紙,進(jìn)給方法被設(shè)置為盒。用戶可以在打印預(yù)覽中設(shè)置和改變紙張類型及進(jìn)給方法。在本實(shí)施例中,當(dāng)對(duì)與預(yù)覽設(shè)置開啟的打印設(shè)置信息相關(guān)聯(lián)的打印作業(yè)進(jìn)行了假脫機(jī)處理、OS打印支持功能激活過濾器管道并且預(yù)覽過濾器激活預(yù)覽控制模塊時(shí),顯示圖5中所例示的顯示畫面。<打印設(shè)置的改變>如上所述,存在包括確認(rèn)打印結(jié)果、確認(rèn)打印設(shè)置以及改變一部分設(shè)置的功能的打印預(yù)覽功能。如果對(duì)單個(gè)頁面準(zhǔn)許打印設(shè)置的改變,則用戶很難識(shí)別改變內(nèi)容的影響范圍。因此實(shí)施了這樣一種方法,在該方法中,僅當(dāng)所有頁面具有相同打印設(shè)置時(shí)能夠改變打印設(shè)置,并且將更改后的設(shè)置反映在整個(gè)作業(yè)上。在XPS中所有頁面具有相同打印設(shè)置的事實(shí),意味著所有頁面中的頁面級(jí)的PT具有相同的設(shè)置。通過對(duì)用戶的默認(rèn)打印設(shè)置的PT、FDS的PT、待打印FP的父FD的PT、以及打印目標(biāo)FP的PT進(jìn)行合并,獲得頁面級(jí)的FP。利用圖I的示例進(jìn)行描述,F(xiàn)P 121的頁面級(jí)PT是這樣一個(gè)PT,在其中,合并了用戶的默認(rèn)打印設(shè)置的PT、FDS 103的PT 131、父FD111的PT 133、以及FP 121的PT 135。由于在FP 123中的FP中不存在PT,因此,F(xiàn)P 123的頁面級(jí)PT是這樣一個(gè)PT,在其中,合并了用戶的默認(rèn)打印設(shè)置的PT、FDS 103的PT 131以及父FD 111的PT 133。同樣,由于在FP 125中的FP中不存在PT,因此,頁面級(jí)PT是這樣一個(gè)PT,在其中,合并了用戶的默認(rèn)打印設(shè)置的PT、FDS 103的PT 131以及父FD 113的PT137。因此,為了讓所有頁面具有相同的打印設(shè)置,合并有FD 111的PT 133以及FP 121的PT 135的PT、FD 111的PT 133以及FD 113的PT 137需要具有相同的打印設(shè)置。為了簡單地確定相同性,可以從合并目標(biāo)中,將公共打印設(shè)置、或者在這種情況下的用戶的默認(rèn)打印設(shè)置的PT以及FDS 103的PT 131去除。<頁面間的打印設(shè)置確定處理>存在一種比較所有頁面級(jí)PT來確定作業(yè)中的所有頁面是否具有相同打印設(shè)置的方法。在這種情況下,需要逐個(gè)地比較PT中描述的打印設(shè)置,并且可以依據(jù)頁數(shù)或者設(shè)置的內(nèi)容,來施加大的處理負(fù)荷。此外,因?yàn)榧词乖谙嗤脑O(shè)置中描述或排列順序也存在差異,所以當(dāng)以二進(jìn)制級(jí)別比較PT時(shí),可能無法確定相同性。因此,提出一種基于PT的配置進(jìn)行確定的方法,來確定相同的打印設(shè)置,同時(shí)將PT內(nèi)容的比較限制在最少程度。 如果在任何的FD及FP中均不存在PT,則確定所有頁面的打印設(shè)置是相同的。下面,描述圖6A的示例,在該示例中,只有FDS 601中存在PT 621,FD 603至605以及FP 607至611中不存在PT。在這種情況下,所有FP的頁面級(jí)PT都是通過將用戶的默認(rèn)打印設(shè)置的PT以及FDS 601的PT 621合并獲得的PT,并且都是相同的打印設(shè)置。另一方面,存在FD及FP中存在PT的情況,如圖6B所示。FDS 631中存在PT 651,FD 633中存在PT 653,F(xiàn)P 639及641中存在PT 655及657。在這種情況下,通過將PT 651、653與FP 637中的默認(rèn)打印設(shè)置的PT合并、將PT 651、653、655與FP 639中的默認(rèn)打印設(shè)置的PT合并,并且將PT 651、657與FP 641的默認(rèn)打印設(shè)置的PT合并,獲得頁面級(jí)PT。因此,F(xiàn)P具有不同的頁面級(jí)PT,打印設(shè)置不可能相同。這樣,H)及FP中PT的存在成為用于確定所有頁面是否具有相同打印設(shè)置的基本條件。通過向上述的條件增加以下條件,確定的精確度得到進(jìn)一步提高。如果在FD及FP中存在沒有打印設(shè)置的描述的PT(以下稱為“空白PTUWiS未添加該P(yáng)T。如果只存在I個(gè)FP,則假定即使在FD及FP中存在PT,所有頁面也都具有相同的打印設(shè)置。如果只存在I個(gè)FD,則假定即使在FD中存在PT,但如果在FP中不存在PT,則所有頁面也都具有相同的打印設(shè)置。如果存在I個(gè)FD,或者如果在任何FD中均不存在PT,則假定如果相同的PT與所有FP相關(guān)聯(lián),則所有頁面均具有相同的打印設(shè)置。如圖7Α所示,如果即使在FD或FP中存在PT但該P(yáng)T是空白的,則當(dāng)合并用戶的默認(rèn)打印設(shè)置的PT與FDS的PT時(shí),設(shè)置內(nèi)容也不受影響。因此,這與不存在PT的情況是等同的。更具體地說,在圖7Α中,F(xiàn)P 707至711的頁面級(jí)PT全部通過合并用戶的默認(rèn)打印設(shè)置的PT以及FDS 701的PT 721而獲得,并且可以說,所有頁面具有相同的打印設(shè)置。雖然需要參照PT的內(nèi)容來確定PT是否是空白的,但是因?yàn)镻T中未描述設(shè)置,所以可以利用極小的負(fù)荷來進(jìn)行確定。如果同圖7Β中一樣只存在I個(gè)FP,則顯然不存在打印設(shè)置逐頁相異的情況。因此,即使在FD及FP中存在PT,也可以說所有頁面具有相同的打印設(shè)置。如果同圖7C中一樣只存在I個(gè)FD,則所有FP具有相同的父FD,并且在創(chuàng)建頁面級(jí)PT時(shí)將FD的相同PT用于合并。因此,如果存在I個(gè)FD,則不管在FP中不存在PT的情況下FD的PT是否存在,所有頁面具有相同的打印設(shè)置。在圖7C中,通過合并用戶的默認(rèn)打印設(shè)置的PT、FDS 751的PT 761以及FD 753的PT 763,而獲得FP 755至759的所有頁面級(jí)PT。可以說,所有頁面具有相同的打印設(shè)置。如果同圖7D中一樣,所有FP與相同的PT相關(guān)聯(lián),則如果所有FP的父FD的PT是相同的,則所有的頁面級(jí)PT是相同的。因此,如果只存在I個(gè)FD,或者如果在任何的FD中均不存在PT,則所有頁面具有相同的打印設(shè)置。在圖7D中,F(xiàn)P 775至779的頁面級(jí)PT全部通過合并用戶的默認(rèn)打印設(shè)置的PT、FDS 771的PT 781、FD 773的PT 783以及所有FP共同關(guān)聯(lián)的PT 785而獲得。因此,可以說所有頁面具有相同的打印設(shè)置。總起來說,如果各層的元素的打印設(shè)置在元素間通用,則確定所有頁面具有相同 的打印設(shè)置。具體來說,如果所述打印設(shè)置信息被添加到待處理XPS數(shù)據(jù)(或結(jié)構(gòu)化文檔)中的層的元素,或者如果該層的所有元素共享被添加到該層的元素的所述打印設(shè)置信息,并且所有層滿足該條件,則可以確定結(jié)構(gòu)化文檔的各頁面均具有相同的打印設(shè)置。這樣,可以不用考慮實(shí)際打印設(shè)置而在形式上確定相同性,并且可以進(jìn)行簡易而快速的確定。<預(yù)覽過濾器處理>圖8是在由預(yù)覽過濾器323執(zhí)行的XPS部分的獲取處理中利用圖7A至7D描述的上述確定處理的流程圖的示例。本處理不僅可以由預(yù)覽過濾器來執(zhí)行,而且可以在預(yù)覽處理之前由例如預(yù)覽控制模塊235來執(zhí)行。在步驟SlOl中,預(yù)覽過濾器323依次獲取通過假脫機(jī)或先前的過濾而傳輸?shù)腦PS部分。所獲取的XPS部分有FDS、FD及FP。如果在步驟S103中確定獲取了 XPS部分,則依照確定結(jié)果,根據(jù)所獲取的部分的類型來執(zhí)行處理。XPS部分的類型用元素中的標(biāo)識(shí)符等來描述。另一方面,如果未獲取XPS部分,則確定獲取了 XPS數(shù)據(jù)的所有XPS部分,處理轉(zhuǎn)到步驟S141。在步驟Sill、S121及S131中,對(duì)所獲取的部分進(jìn)行辨別。如果所獲取的部分是FDS,則在步驟SI 13中,創(chuàng)建與FDS相對(duì)應(yīng)的作業(yè)級(jí)PT。下面將參照?qǐng)D9,來描述作業(yè)級(jí)PT生成處理。如果所獲取的部分是FD,則在步驟S123中,創(chuàng)建與所獲取的FD相對(duì)應(yīng)的文檔級(jí)PT。下面將參照?qǐng)D10,來描述文檔級(jí)PT生成處理。如果所獲取的部分是FP,則在步驟S133中,創(chuàng)建與所獲取的FP相對(duì)應(yīng)的頁面級(jí)PT。下面將參照?qǐng)D11,來描述頁面級(jí)PT生成處理。針對(duì)FP的PT,獲取PT的URI (統(tǒng)一資源標(biāo)識(shí)符,Uniform Resource Identifier)(或鏈接,或者也可以稱為“關(guān)聯(lián)”)(步驟S135)。重復(fù)上述處理,直到獲取所有XPS部分為止。當(dāng)獲取了所有XPS部分時(shí),處理轉(zhuǎn)到步驟S141,并且確定是否準(zhǔn)許在預(yù)覽時(shí)進(jìn)行打印設(shè)置改變。下面將參照?qǐng)D12,來描述是否可以在預(yù)覽中進(jìn)行打印設(shè)置改變的確定處理。雖然在這里描述在獲取XPS部分之后進(jìn)行確定的方法,但是,也可以在獲取XPS部分期間執(zhí)行確定處理?!碢T的合并處理>圖9例示了圖8的步驟S113的詳情,并且是作業(yè)級(jí)PT生成處理的示例。首先在步驟S201中獲取用戶的默認(rèn)打印設(shè)置的PT。在步驟S203中,獲取所獲取的FDS的PT。由于在FDS中并不總是存在PT,因此,確定是否獲取了 FDS的PT(S205)。如果獲取了 FDS的PT,則處理轉(zhuǎn)到步驟S207 ;如果未獲取FDS的PT,則處理轉(zhuǎn)到步驟S211。在步驟S207中,確定所獲取的PT是否是空白PT。如果描述了打印設(shè)置,則處理轉(zhuǎn)到步驟S209 ;如果PT是空白的,則處理轉(zhuǎn)到步驟S211。在步驟S209中,合并用戶的默認(rèn)打印設(shè)置的PT以及FDS的PT,以生成作業(yè)級(jí)PT。在步驟S211中,由于在FDS中不存在PT,或者PT是空白的,從而假定不存在PT,因此,將用戶的默認(rèn)打印設(shè)置的PT設(shè)置為作業(yè)級(jí)PT,而不進(jìn)行合并。圖10例示了圖8的步驟S123的詳情,并且是文檔級(jí)PT生成處理的示例。首先在步驟S301中獲取所獲取的FD的PT,并且確定是否獲取了 PT(S303)。如果獲取了 PT,則處理轉(zhuǎn)到步驟S305 ;如果未獲取PT,則處理轉(zhuǎn)到步驟S309。在步驟S305中,確定所獲取的PT是否是空白PT。如果描述了打印設(shè)置,則處理轉(zhuǎn)到步驟S307 ;如果PT是空白的,則處理轉(zhuǎn)到步驟S309。在步驟S307中,合并作業(yè)級(jí)PT以及所獲取的FD的PT,以生成文檔級(jí)PT。在步驟S309中,由于不存在FD的PT,因此,將作業(yè)級(jí)PT設(shè)置為文檔級(jí)PT。由于在XPS部分獲取時(shí),總是在FD之前獲取FDS,因此,當(dāng)生成文檔級(jí)PT時(shí),總是存在作業(yè)級(jí)PT。
圖11例示了圖8的步驟S133的詳情,并且是頁面級(jí)PT生成處理的示例。首先在步驟S401中獲取所獲取的FP的PT,并且確定是否獲取了 FP的PT(S403)。如果獲取了 FP的PT,則處理轉(zhuǎn)到步驟S405 ;如果未獲取FP的PT,則處理轉(zhuǎn)到步驟S409。在步驟S405中,確定所獲取的PT是否是空白PT。如果描述了打印設(shè)置,則處理轉(zhuǎn)到步驟S407 ;如果PT是空白的,則處理轉(zhuǎn)到步驟S409。在步驟S407中,合并FP的父FD的文檔級(jí)PT以及所獲取的FP的PT,以生成頁面級(jí)PT。在步驟S409中,由于不存在FP的PT,因此,將父FD的文檔級(jí)PT設(shè)置為頁面級(jí)PT。由于總是在獲取FP之前獲取FP的父FD,因此,當(dāng)生成頁面級(jí)PT時(shí),總是存在父FD的文檔級(jí)PT。<是否可以在預(yù)覽時(shí)進(jìn)行打印設(shè)置信息改變的確定處理>圖12是確定是否所有頁面具有相同的打印設(shè)置、并確定是否準(zhǔn)許通過預(yù)覽進(jìn)行打印設(shè)置改變的處理的流程圖的示例。首先在步驟S501中,確定在所獲取的FD或FP中是否存在至少I個(gè)PT。然而,即使存在PT,但如果該P(yáng)T是空白PT,則也確定為不存在PT。如果不存在PT,則處理轉(zhuǎn)到步驟S511,并且準(zhǔn)許用戶在打印預(yù)覽中改變打印設(shè)置??梢酝ㄟ^例如將設(shè)置改變的禁止標(biāo)志設(shè)置為指示準(zhǔn)許改變的值,來實(shí)現(xiàn)準(zhǔn)許。如果存在PT,則處理轉(zhuǎn)到步驟S503。在步驟S503中,確定作業(yè)中的FP的總數(shù)。如果所獲取的FP只有I個(gè),則處理轉(zhuǎn)到步驟S511,并且準(zhǔn)許用戶在打印預(yù)覽中改變打印設(shè)置。如果存在多個(gè)FP,則處理轉(zhuǎn)到步驟S505。在步驟S505中,確定作業(yè)中的FD的總數(shù)。如果所獲取的FD只有I個(gè),則處理轉(zhuǎn)到步驟S507。如果也存在多個(gè)FD,則處理轉(zhuǎn)到步驟S513,并且不準(zhǔn)許打印預(yù)覽中的打印設(shè)置的改變。在步驟S507中,確定在FP中是否存在PT。如果在任何的FP中均不存在PT,則處理轉(zhuǎn)到步驟S511,并且準(zhǔn)許用戶在打印預(yù)覽中改變打印設(shè)置。如果在FP中存在PT,則處理轉(zhuǎn)到步驟S509。在步驟S509中,確定是否所有FP與相同的PT相關(guān)聯(lián)。如果在所有FP中,在獲取FP的PT時(shí)所獲取的PT的URI是相同的,即如果URI與相同的打印設(shè)置信息相關(guān)聯(lián),則處理轉(zhuǎn)到S511,并且準(zhǔn)許用戶在打印預(yù)覽中改變打印設(shè)置。如果所關(guān)聯(lián)的PT每頁都是不同的,則處理轉(zhuǎn)到步驟S513,并且拒絕在打印預(yù)覽中進(jìn)行打印設(shè)置改變??梢酝ㄟ^例如將設(shè)置改變的禁止標(biāo)志設(shè)置為指示阻止改變的值,來實(shí)現(xiàn)拒絕。如果在預(yù)覽顯示期間從用戶接口指示改變打印設(shè)置,則例如參照設(shè)置改變的禁止標(biāo)志。如果標(biāo)志指示準(zhǔn)許改變,則接受設(shè)置值的改變。如果標(biāo)志指示禁止,則只對(duì)設(shè)置值進(jìn)行顯示,而不接受改變。在本實(shí)施例中,這只應(yīng)用于預(yù)覽顯示期間的設(shè)置改變。在無預(yù)覽顯示的設(shè)置改變期間,不參照設(shè)置改變的禁止標(biāo)志,并且接受設(shè)置改變。然而,除了預(yù)覽顯示以外,在只在所有頁面具有相同的打印設(shè)置時(shí)準(zhǔn)許打印設(shè)置的改變的情況下,當(dāng)執(zhí)行打印設(shè)置的改變操作時(shí),可以參照?qǐng)D12的步驟中的值提供的設(shè)置改變的禁止標(biāo)志。作為上述確定處理的結(jié)果,能夠可以高度精確地確定在所有頁面中逐頁的打印設(shè)置是否是相同的,同時(shí)將對(duì)PT內(nèi)容的參照限制在最少程度。<設(shè)置改變的反映(打印設(shè)置信息編輯)>當(dāng)在確定處理中準(zhǔn)許打印預(yù)覽中的打印設(shè)置的改變、并且用戶在打印預(yù)覽中改變打印設(shè)置時(shí),需要將改變的設(shè)置內(nèi)容反映在PT上。要把改變的打印設(shè)置反映在哪些PT上主要取決于設(shè)置項(xiàng)目。例如,在需要在整個(gè)作業(yè)上反映設(shè)置項(xiàng)目的情況下,更新FDS的PT,而在只在特定頁面上反映設(shè)置項(xiàng)目的情況下,需要更新FP的PT。然而,在本實(shí)施例中,僅 在所有頁面具有相同的打印設(shè)置時(shí)準(zhǔn)許打印設(shè)置的改變,并且將改變內(nèi)容反映在所有頁面上。更具體地說,在所有頁面級(jí)PT中描述了相同的打印設(shè)置,并且需要將打印設(shè)置改變之后的設(shè)置內(nèi)容反映在所有頁面上。因此提出一種方法,在該方法中,根據(jù)打印設(shè)置改變內(nèi)容來更新頁面級(jí)PT,將更新后的PT添加到FDS,并且刪除FD及FP中的PT。圖13是當(dāng)通過本實(shí)施例的方法反映打印設(shè)置的改變時(shí)創(chuàng)建的XPS數(shù)據(jù)的示例。改變之前的XPS數(shù)據(jù)1301由FDS 131UFD 1313以及FP 1315至1319構(gòu)成。FDS 1311中存在PT 1321,FD 1313中存在PT 1323,FP 1315至1319中存在PT 1325。在這種情況下,F(xiàn)P的所有頁面級(jí)PT是合并了用戶的默認(rèn)打印設(shè)置的PT、FDS 1311的PT 132UFD 1313的PT1323以及FP的PT 1325的PT。結(jié)果,確定所有頁面具有相同的打印設(shè)置,并且準(zhǔn)許打印預(yù)覽中的打印設(shè)置改變。當(dāng)改變打印設(shè)置時(shí),更新內(nèi)容被反映在上述頁面級(jí)PT上。由反映了改變內(nèi)容的頁面級(jí)的PT 1331替換FDS 1311的PT1321。進(jìn)一步刪除FD 1313的PT 1323、以及FP 1315至1319的PT 1325,以形成反映改變后的打印設(shè)置的XPS數(shù)據(jù)1303。由于在XPS數(shù)據(jù)1303中的FD及FP中不存在PT,因此,F(xiàn)P的所有頁面級(jí)PT通過合并用戶的默認(rèn)打印設(shè)置的PT以及新添加到FDS 1311的PT 1331而獲得。結(jié)果,可以通過PT的最小限度的改變,將用戶進(jìn)行的打印設(shè)置的改變反映在所有頁面上。<打印票更新處理>圖14是當(dāng)準(zhǔn)許進(jìn)行打印設(shè)置改變并且在實(shí)際改變打印設(shè)置時(shí)用于將前述打印設(shè)置改變內(nèi)容反映在PT上的PT更新處理的流程圖的示例。該步驟由例如預(yù)覽過濾器323及預(yù)覽控制模塊325來執(zhí)行。首先,在步驟S601中,確定是否改變了打印設(shè)置。該確定可以通過例如參照存儲(chǔ)執(zhí)行了設(shè)置改變操作的標(biāo)志等來實(shí)現(xiàn)。該標(biāo)志在圖14的處理之后需要重設(shè)。如果打印設(shè)置被改變,則處理轉(zhuǎn)到步驟S603 ;如果沒有改變,則更新處理結(jié)束。在步驟S603中,確定在FD或FP中是否存在PT。如果不存在PT,則處理轉(zhuǎn)到步驟S605 ;如果存在PT,則處理轉(zhuǎn)到步驟S607。在步驟S605中,基于改變內(nèi)容更新作業(yè)級(jí)PT,接著處理轉(zhuǎn)到步驟S615。由于在FD及FP中不存在PT,因此,作業(yè)級(jí)PT與頁面級(jí)PT同義。在步驟S607中,確定在FP中是否存在PT。如果存在PT,則處理轉(zhuǎn)到步驟S609 ;如果不存在PT,則處理轉(zhuǎn)到步驟S611。在步驟S609中,基于改變內(nèi)容更新頁面級(jí)PT,處理轉(zhuǎn)到步驟S613。在步驟S611中,基于改變內(nèi)容更新文檔級(jí)PT,接著處理轉(zhuǎn)到步驟S613。由于在FP中不存在PT,因此,作業(yè)級(jí)PT與頁面級(jí)PT同義。在步驟S613中刪除FD及FP中的所有PT,處理轉(zhuǎn)到步驟S615。在步驟S615中,確定在FDS中是否存在PT。如果存在PT,則處理轉(zhuǎn)到步驟S617 ;如果不存在PT,則處理轉(zhuǎn)到步驟S619。在步驟S617中刪除FDS的PT,接著處理轉(zhuǎn)到步驟S619。在步驟S619中,基于設(shè)置改變內(nèi)容將更新后的PT添加到FDS,處理結(jié)束。結(jié)果,改變后的打印設(shè)置被反映在作業(yè)中的所有頁面上。在本實(shí)施例中,雖然在預(yù)覽過濾器中執(zhí)行打印設(shè)置的確定處理以及設(shè)置改變的反映處理,但是,這些處理可以在驅(qū)動(dòng)器處理的任何階段執(zhí)行。這些處理不僅能夠應(yīng)用于打印機(jī)驅(qū)動(dòng)器處理,而且能夠應(yīng)用于例如編輯XPS文檔的應(yīng)用程序。[第2實(shí)施例]在第I實(shí)施例中,基于PT的配置確定是否所有頁面具有相同的打印設(shè)置,并且除了在空白PT的確定中之外,不參照PT的內(nèi)容。然而,即使在FP中存在不同的PT,但如果所有PT中描述的設(shè)置是相同的,則也可以說頁面的打印設(shè)置是相同的。在這種情況下,在 第I實(shí)施例中,實(shí)際相同的打印設(shè)置被確定為具有不同的設(shè)置。因此,除了第I實(shí)施例的方法之外,在本實(shí)施例中提出了這樣一種方法,在該方法中,不對(duì)PT中描述的單個(gè)打印設(shè)置進(jìn)行比較,而利用DevmodeSnapShot來比較設(shè)置內(nèi)容。DevmodeSnapShot通過將作為包含打印設(shè)置信息等的數(shù)據(jù)結(jié)構(gòu)的DEVM0DE轉(zhuǎn)換為二進(jìn)制數(shù)據(jù)而形成,并在PT中被描述。由于如果打印設(shè)置是相同的,則DevmodeSnapShot包括相同的數(shù)據(jù),因此,可以通過比較DevmodeSnapShot的二進(jìn)制數(shù)據(jù),來確定打印設(shè)置是否是相同的?!碊evmodeSnapShot 的比較處理 >圖15是DevmodeSnapShot比較處理的流程圖的示例。在步驟S701中,確定是否存在多個(gè)FD。如果存在I個(gè)FD,則處理轉(zhuǎn)到步驟S709,因?yàn)闆]有必要比較FD的DevmodeSnapShot。如果存在多個(gè)FD,則處理轉(zhuǎn)到步驟S703。在步驟S703至S707中,比較FD的PT中包含的DevmodeSnapShot。由于并非在所有PT中都始終包含有DevmodeSnapShot,因此在步驟S703中,確定是否在FD的所有PT中存在DevmodeSnapShot。如果在FD的所有PT中存在DevmodeSnapShot,則處理轉(zhuǎn)到步驟S705。如果并非FD的所有PT包含有DevmodeSnapShot,則處理轉(zhuǎn)到步驟S717。在步驟S717中,不準(zhǔn)許用戶在打印預(yù)覽中進(jìn)行打印設(shè)置改變,處理結(jié)束。在步驟S705中,比較FD的PT中包含的DevmodeSnapShot,接著處理轉(zhuǎn)到步驟S707。作為比較的結(jié)果,如果所有DevmodeSnapShot是相同的,則處理轉(zhuǎn)到步驟S709 ;如果有不同的DevmodeSnapShot,則處理轉(zhuǎn)到步驟S717。在步驟S717中,不準(zhǔn)許用戶在打印預(yù)覽中進(jìn)行打印設(shè)置改變,處理結(jié)束。同樣,在步驟S709至S713中,比較FP的PT中包含的DevmodeSnapShot。在步驟S709中,確定是否在FD的所有PT中存在DevmodeSnapShot。如果在FD的所有PT中存在DevmodeSnapShot,則處理轉(zhuǎn)到步驟S711 ;如果并非在FP的所有PT中包含有DevmodeSnapShot,則處理轉(zhuǎn)到步驟S717。在步驟S717中,不準(zhǔn)許用戶在打印預(yù)覽中進(jìn)行打印設(shè)置改變,處理結(jié)束。在步驟S711中,比較FP的PT中包含的DevmodeSnapShot,接著處理轉(zhuǎn)到步驟S715。作為比較的結(jié)果,如果所有DevmodeSnapShot是相同的,則處理轉(zhuǎn)到步驟S715。在步驟S715中,準(zhǔn)許用戶在打印預(yù)覽中進(jìn)行打印設(shè)置改變,處理結(jié)束。如果有不同的DevmodeSnapShot,則處理轉(zhuǎn)到步驟S717。在步驟S717中,不準(zhǔn)許用戶在打印預(yù)覽中進(jìn)行打印設(shè)置改變,處理結(jié)束。在上述方法的描述中,在所有FD和FP中存在PT。然而,在不存在PT的部分中,將該部分的父部分的PT作為該部分的PT來處理。例如,如果在FD中不存在PT,則將FDS的PT替代性地作為FD的PT來處理。如果在FP中不存在PT,則同樣利用父FD的PT ;如果在父FD中也不存在PT,則進(jìn)一步將父FDS作為FP的PT來處理。根據(jù)上述方法,就PT中描述了 DevmodeSnapShot的數(shù)據(jù)而言,不比較PT中描述的單個(gè)設(shè)置,而通過比較二進(jìn)制數(shù)據(jù)來確定打印設(shè)置是否相同。通過結(jié)合第I實(shí)施例的方法來實(shí)施本方法,能夠提高確定精度。[其他實(shí)施例]
還可以利用讀出并執(zhí)行被記錄在存儲(chǔ)設(shè)備上的程序來執(zhí)行上述實(shí)施例的功能的系統(tǒng)或裝置的計(jì)算機(jī)(或諸如CPU或MPU等的設(shè)備),來實(shí)現(xiàn)本發(fā)明的各方面;并且可以利用由通過例如讀出并執(zhí)行記錄在存儲(chǔ)設(shè)備上的程序來執(zhí)行上述實(shí)施例的功能的系統(tǒng)或裝置的計(jì)算機(jī)來執(zhí)行各步驟的方法,來實(shí)現(xiàn)本發(fā)明的各方面。為此,將程序例如經(jīng)由網(wǎng)絡(luò)或從充當(dāng)存儲(chǔ)設(shè)備的各種類型的記錄介質(zhì)(例如計(jì)算機(jī)可讀介質(zhì))提供給計(jì)算機(jī)。雖然參照示例性實(shí)施例對(duì)本發(fā)明進(jìn)行了描述,但是應(yīng)當(dāng)理解,本發(fā)明并不局限于所公開的示例性實(shí)施例。應(yīng)當(dāng)對(duì)所附權(quán)利要求的范圍給予最寬泛的解釋,以使其涵蓋所有的這類變型例及等同結(jié)構(gòu)和功能。
權(quán)利要求
1.一種文檔處理裝置,該文檔處理裝置處理包括用以集束頁面元素的文檔元素的文檔,其中,能夠?qū)Ω髟靥砑哟蛴≡O(shè)置信息,所述文檔處理裝置包括 確定單元,其用于確定所述打印設(shè)置信息是否被添加到所述頁面元素和所述文檔元素兩者上;以及 改變單元,其用于在所述確定單元確定所述打印設(shè)置信息被添加到所述頁面元素和所述文檔元素兩者上的情況下,不接受用戶對(duì)所述文檔的打印設(shè)置的改變,而在所述確定單元確定所述打印設(shè)置信息未被添加到所述頁面元素和所述文檔元素兩者上的情況下,接受用戶對(duì)所述文檔的打印設(shè)置的改變。
2.根據(jù)權(quán)利要求I所述的文檔處理裝置,其中, 所述改變單元還在即使所述確定單元確定所述打印設(shè)置信息被添加到所述頁面元素和所述文檔元素兩者上的情況下,如果所述確定單元確定所述頁面元素和所述文檔元素兩者的打印設(shè)置信息均是空白,則也接受用戶對(duì)所述文檔的打印設(shè)置的改變。
3.根據(jù)權(quán)利要求I所述的文檔處理裝置,其中, 所述改變單元還在即使所述確定單元確定所述打印設(shè)置信息被添加到所述頁面元素和所述文檔元素兩者上的情況下,如果所述確定單元確定頁面元素的總數(shù)是1,則也接受用戶對(duì)所述文檔的打印設(shè)置的改變。
4.根據(jù)權(quán)利要求I所述的文檔處理裝置,其中, 所述改變單元還在所述確定單元確定文檔元素的總數(shù)是I、并且所述打印設(shè)置信息未被添加到所述頁面元素上的情況下,接受用戶對(duì)所述文檔的打印設(shè)置的改變。
5.根據(jù)權(quán)利要求I所述的文檔處理裝置,其中, 所述改變單元還在即使所述確定單元確定所述打印設(shè)置信息被添加到所述頁面元素和所述文檔元素兩者上的情況下,如果所述確定單元確定文檔元素的總數(shù)是I并且所有頁面元素具有相同的打印設(shè)置信息,則也接受用戶對(duì)所述文檔的打印設(shè)置的改變。
6.根據(jù)權(quán)利要求I所述的文檔處理裝置,其中,所述文檔包括用以集束所述文檔元素的作業(yè)元素。
7.根據(jù)權(quán)利要求I所述的文檔處理裝置,其中, 所述文檔是XPS數(shù)據(jù),所述打印設(shè)置信息是打印票。
8.一種文檔處理裝置執(zhí)行的文檔處理方法,該文檔處理裝置處理包括用以集束頁面元素的文檔元素的文檔,其中,能夠?qū)Ω髟靥砑哟蛴≡O(shè)置信息,所述文檔處理方法包括 確定步驟,其確定所述打印設(shè)置信息是否被添加到所述頁面元素和所述文檔元素兩者上;以及 改變步驟,其在所述確定步驟確定所述打印設(shè)置信息被添加到所述頁面元素和所述文檔元素兩者上的情況下,不接受用戶對(duì)所述文檔的打印設(shè)置的改變,而在所述確定步驟確定所述打印設(shè)置信息未被添加到所述頁面元素和所述文檔元素兩者上的情況下,接受用戶對(duì)所述文檔的打印設(shè)置的改變。
9.根據(jù)權(quán)利要求8所述的文檔處理方法,其中, 所述改變步驟還在即使所述確定步驟確定所述打印設(shè)置信息被添加到所述頁面元素和所述文檔元素兩者上的情況下,如果所述確定步驟確定所述頁面元素和所述文檔元素兩者的打印設(shè)置信息均是空白,則也接受用戶對(duì)所述文檔的打印設(shè)置的改變。
10.根據(jù)權(quán)利要求8所述的文檔處理方法,其中, 所述改變步驟還在即使所述確定步驟確定所述打印設(shè)置信息被添加到所述頁面元素和所述文檔元素兩者上的情況下,如果所述確定步驟確定頁面元素的總數(shù)是1,則也接受用戶對(duì)所述文檔的打印設(shè)置的改變。
11.根據(jù)權(quán)利要求8所述的文檔處理方法,其中, 所述改變步驟還在所述確定步驟確定文檔元素的總數(shù)是I、并且所述打印設(shè)置信息未被添加到所述頁面元素上的情況下,接受用戶對(duì)所述文檔的打印設(shè)置的改變。
12.根據(jù)權(quán)利要求8所述的文檔處理方法,其中, 所述改變步驟還在即使所述確定步驟確定所述打印設(shè)置信息被添加到所述頁面元素和所述文檔元素兩者上的情況下,如果所述確定步驟確定文檔元素的總數(shù)是I并且所有頁面元素具有相同的打印設(shè)置信息,則也接受用戶對(duì)所述文檔的打印設(shè)置的改變。
13.根據(jù)權(quán)利要求8所述的文檔處理方法,其中,所述文檔包括用以集束所述文檔元素的作業(yè)元素。
14.根據(jù)權(quán)利要求8所述的文檔處理方法,其中, 所述文檔是XPS數(shù)據(jù),所述打印設(shè)置信息是打印票。
全文摘要
本發(fā)明提供一種文檔處理裝置及文檔處理方法,該文檔處理裝置處理包括用以集束頁面元素的文檔元素的文檔,其中,能夠?qū)Ω髟靥砑哟蛴≡O(shè)置信息,所述文檔處理裝置包括確定單元,其用于確定所述打印設(shè)置信息是否被添加到所述頁面元素和所述文檔元素兩者上;以及改變單元,其用于在所述確定單元確定所述打印設(shè)置信息被添加到所述頁面元素和所述文檔元素兩者上的情況下,不接受用戶對(duì)所述文檔的打印設(shè)置的改變,而在所述確定單元確定所述打印設(shè)置信息未被添加到所述頁面元素和所述文檔元素兩者上的情況下,接受用戶對(duì)所述文檔的打印設(shè)置的改變。
文檔編號(hào)G06F3/12GK102830945SQ201210236218
公開日2012年12月19日 申請(qǐng)日期2009年12月10日 優(yōu)先權(quán)日2008年12月15日
發(fā)明者鹽原徹矢 申請(qǐng)人:佳能株式會(huì)社