專利名稱:文件處理裝置和文件處理方法
技術(shù)領(lǐng)域:
本發(fā)明涉及具有將登錄在數(shù)據(jù)庫(kù)中的記錄的各字段布置在預(yù)先確定的位置來完成文件的自動(dòng)布局功能的文件處理裝置和文件處理方法。
背景技術(shù):
近年,由于商品的多樣化,商品壽命變短,隨著互聯(lián)網(wǎng)的普及,利用它的消費(fèi)者的客戶服務(wù)指向增強(qiáng)等原因,CRM(客戶關(guān)系管理)、一對(duì)一營(yíng)銷的必要性受到關(guān)注。目的在于,通過這些方法提高客戶滿意程度,開發(fā)、穩(wěn)定客戶。
所謂客戶關(guān)系管理,就是基于顧客的數(shù)據(jù)庫(kù),實(shí)施遵循各需要的對(duì)應(yīng),提高客戶滿意度,提高公司的收益性。另外,一對(duì)一營(yíng)銷是數(shù)據(jù)庫(kù)營(yíng)銷的一種,把客戶的年齡、性別、興趣、愛好、購(gòu)買經(jīng)歷等個(gè)人屬性信息做成數(shù)據(jù)庫(kù),分析其內(nèi)容,提出符合客戶需求的建議,作為典型的手法,例如有可變打印。最近,隨著DTP(桌面出版系統(tǒng))技術(shù)的進(jìn)展和數(shù)字打印裝置的普及,開發(fā)有對(duì)每個(gè)客戶定制文檔并輸出的可變打印系統(tǒng),要求生成對(duì)每個(gè)客戶不同的量的內(nèi)容進(jìn)行最佳布局的文件。
以往,在可變打印系統(tǒng)中,在文檔上用布局框(也稱作容器)生成布局的定義,作為各容器的內(nèi)容,對(duì)數(shù)據(jù)庫(kù)的滿足一定條件的記錄和字段建立關(guān)聯(lián)。通過這樣地對(duì)數(shù)據(jù)庫(kù)和布局建立關(guān)聯(lián),實(shí)現(xiàn)可變打印。
但是,由于文本和圖像的容器的尺寸固定,所以,當(dāng)在容器中插入數(shù)據(jù)庫(kù)內(nèi)的數(shù)據(jù)時(shí),如果數(shù)據(jù)量大于容器尺寸,則發(fā)生文本的重疊(overlap)和圖像的剪切(clipping),另外,當(dāng)數(shù)據(jù)量小于容器尺寸時(shí),就會(huì)空出間隙。
為了解決該問題,發(fā)明了自動(dòng)布局系統(tǒng)。自動(dòng)布局系統(tǒng)能夠?qū)⑽谋竞蛨D像的容器尺寸設(shè)定為可變。在該自動(dòng)布局系統(tǒng)中,容器的尺寸可變,并能夠按照所插入的數(shù)據(jù)量使容器的尺寸變大。另外,還存在以下技術(shù),在插入容器中的數(shù)據(jù)是文本的情況下,當(dāng)插入了無法完全進(jìn)入固定尺寸的容器內(nèi)的數(shù)據(jù)時(shí),縮小文本的字體尺寸,在容器內(nèi)顯示所有文本。但是,當(dāng)設(shè)容器尺寸為可變時(shí),產(chǎn)生在容器尺寸變大時(shí),該容器與文檔上的其它容器重疊的問題。另外,在調(diào)節(jié)字體尺寸的情況下,產(chǎn)生當(dāng)文本量大時(shí),字體尺寸變得過小的問題。
作為用于解決這些問題的另一種自動(dòng)布局的技術(shù),在專利文獻(xiàn)1所記載的“布局設(shè)計(jì)裝置”中公開了以下技術(shù)當(dāng)某容器的尺寸變大時(shí),減小相鄰的容器的尺寸。
這樣,在以往的可變打印系統(tǒng)中,存在以下功能為了適當(dāng)?shù)貙?duì)尺寸不同的內(nèi)容進(jìn)行布局,可以按照內(nèi)容的尺寸動(dòng)態(tài)地改變布局框(容器)。
另外,在日本特開2000~48216號(hào)公報(bào)中記載有以下技術(shù)在1頁(yè)文檔中布置多個(gè)商品信息。在該方法中,當(dāng)生成每名顧客的商品目錄時(shí),將1個(gè)商品信息(例如,一個(gè)商品的商品名、外觀、說明書)的布局預(yù)先定義為主零件文件,在文檔上預(yù)先定義能夠布置主零件文件的區(qū)域。然后,按照主零件文件,對(duì)從數(shù)據(jù)庫(kù)抽出的各商品信息的內(nèi)容進(jìn)行布局,將完成了布局的零件文件從文檔的左上插入右下。
但是,如專利文獻(xiàn)1所述,在將僅對(duì)數(shù)據(jù)庫(kù)內(nèi)的內(nèi)容進(jìn)行了布局的主零件文件插入文檔中的方法中,沒有記錄和多重(multiple)記錄的概念。數(shù)據(jù)庫(kù)內(nèi)的各商品信息,在通過主零件文件進(jìn)行了布局之后,依次被布置在文檔中,無法按照使用者的意志調(diào)整布置順序和大小。因此,例如,當(dāng)按照客戶的嗜好生成郵寄廣告時(shí)等,設(shè)計(jì)變得單調(diào)。即使希望生成使用者以該客戶最喜歡的商品為中心地布置等,更有效的文檔,也無法反應(yīng)使用者的意圖,確定各記錄的布置和大小。
發(fā)明內(nèi)容
本發(fā)明正是鑒于上述以往例而完成的,其目的在于,提供一種文件處理裝置、文件處理方法和計(jì)算機(jī)程序,能夠按照記錄的屬性指定布置該記錄的區(qū)域,分配給各區(qū)域并對(duì)記錄進(jìn)行布局。
為了實(shí)現(xiàn)上述目的,本發(fā)明具有以下的結(jié)構(gòu)。
一種能夠按照要進(jìn)行布局的數(shù)據(jù)動(dòng)態(tài)地變更布局的文件處理裝置,包括模板保持單元,保持用于從數(shù)據(jù)庫(kù)抽出要進(jìn)行布局的數(shù)據(jù)并布置的、具有設(shè)定了抽出條件的區(qū)域的模板;取得單元,從上述數(shù)據(jù)庫(kù),取得上述要進(jìn)行布局的數(shù)據(jù),該數(shù)據(jù)滿足對(duì)由上述模板保持單元保持的模板所具有的上述區(qū)域設(shè)定的抽出條件;以及布置單元,將由上述取得單元取得的至少一個(gè)的上述要進(jìn)行布局的數(shù)據(jù)并列布置在上述區(qū)域中。
通過本發(fā)明,由于能夠?qū)υ谀0迳显O(shè)置的各區(qū)域,指定布置記錄等數(shù)據(jù)的條件,所以,能夠?qū)?shù)據(jù)分配給各區(qū)域進(jìn)行布局。由此,不單純地按插入的順序布置數(shù)據(jù),也能與數(shù)據(jù)的原來的排列順序等無關(guān)地、指定布置各數(shù)據(jù)的位置。
另外,由于能夠指定布置記錄的方向和圖形,因此,能夠?qū)崿F(xiàn)各種布局圖形。
另外,由于記錄的布置固定,所以,即使記錄個(gè)數(shù)多也無法自動(dòng)地生成下一頁(yè),而能夠生成單頁(yè)的文件。
本發(fā)明的其他特征和優(yōu)點(diǎn),可以通過下面的參照附圖進(jìn)行的說明而得到明確。相同的標(biāo)號(hào)表示相同或類似的部分。
附圖包括在說明書中并結(jié)構(gòu)說明書的一部分,用于說明本發(fā)明的實(shí)施例,并與說明書一起用于說明本發(fā)明的原理。
圖1A表示實(shí)施例的計(jì)算機(jī)系統(tǒng)的結(jié)構(gòu)圖。
圖1B是表示實(shí)施例的計(jì)算機(jī)模塊的概略圖。
圖2表示實(shí)施例的其它計(jì)算機(jī)系統(tǒng)的結(jié)構(gòu)圖。
圖3是表示實(shí)施例的包含菜單欄、工具欄、工作區(qū)、浮動(dòng)托板的典型的應(yīng)用程序的主窗口的圖。
圖4是用屏幕、工具、圖標(biāo)表示實(shí)施例的具有容器之間的鏈接、錨點(diǎn)和滾動(dòng)條的典型的容器的一面的圖。
圖5A~5D是表示實(shí)施例的典型的容器規(guī)則的圖。
圖6是表示生成實(shí)施例的鏈接的流程的圖。
圖7A~7C是表示生成鏈接時(shí)的UI圖例的圖。
圖8是表示實(shí)施例的布局計(jì)算的整體流程的圖。
圖9是表示實(shí)施例的布局計(jì)算的詳細(xì)流程的圖。
圖10A~10C是與實(shí)施例的圖9的流程對(duì)應(yīng)的UI例。
圖11是說明實(shí)施例的布局計(jì)算時(shí)的容器的集合的圖。
圖12是表示實(shí)施例的多記錄的概要圖。
圖13是表示實(shí)施例1的流動(dòng)區(qū)域的UI例的圖。
圖14是表示實(shí)施例1的整體流程的圖。
圖15是表示實(shí)施例1的流動(dòng)區(qū)域的各種設(shè)定的流程的圖。
圖16A、16B是表示實(shí)施例1的進(jìn)行流動(dòng)區(qū)域的各種設(shè)定的對(duì)話框例的圖。
圖17A、17B是表示實(shí)施例1的子模板的布局例的圖。
圖18是表示實(shí)施例1的子模板的布局流程的圖。
圖19是表示實(shí)施例1的流動(dòng)區(qū)域內(nèi)的子模板的布局流程的圖。
圖20A、20B是表示在實(shí)施例1的流動(dòng)區(qū)域內(nèi)對(duì)子模板進(jìn)行了布局的UI例的圖。
圖21A、21B是表示在實(shí)施例1的多個(gè)流動(dòng)區(qū)域內(nèi)對(duì)子模板進(jìn)行布局的UI例的圖。
圖22A是表示實(shí)施例1的多個(gè)流動(dòng)區(qū)域中的子模板的整體布局流程的圖。
圖22B是表示實(shí)施例1的多個(gè)流動(dòng)區(qū)域中的子模板的整體布局流程的圖。
圖23是表示實(shí)施例1的多個(gè)流動(dòng)區(qū)域中的子模板的布局計(jì)算流程的圖。
圖24是表示實(shí)施例1的布局規(guī)則設(shè)定對(duì)話框的例子的圖。
圖25是表示實(shí)施例1的布局規(guī)則設(shè)定流程的圖。
圖26A、26B是表示實(shí)施例1的設(shè)定布局規(guī)則時(shí)的布局例的圖。
圖27是表示實(shí)施例2的流動(dòng)區(qū)域的鏈接的UI例的圖。
圖28是表示實(shí)施例2的流動(dòng)區(qū)域的鏈接的設(shè)定流程的圖。
圖29是表示實(shí)施例2的設(shè)定流動(dòng)區(qū)域的鏈接時(shí)的子模板的布局例的圖。
圖30是表示實(shí)施例2的設(shè)定流動(dòng)區(qū)域的鏈接時(shí)的布局計(jì)算流程的圖。
圖31是表示實(shí)施例3的數(shù)據(jù)的排序流程的圖。
圖32是表示實(shí)施例3的數(shù)據(jù)的排序?qū)υ捒虻睦拥膱D。
圖33是表示模板數(shù)據(jù)的一例的圖。
圖34是表示定義了流動(dòng)區(qū)域的模板數(shù)據(jù)的一例的圖。
圖35是本發(fā)明的文件處理裝置的框圖。
具體實(shí)施例方式下面,說明本發(fā)明的實(shí)施例。首先,說明發(fā)明的概要。本實(shí)施例涉及一種計(jì)算機(jī)軟件,用于通過計(jì)算機(jī)實(shí)現(xiàn)按照文檔模板(也簡(jiǎn)稱為模板)中定義的容器(插入數(shù)據(jù)的局部區(qū)域也稱作字段區(qū)),生成布置了數(shù)據(jù)庫(kù)的記錄等的文件的、即所謂可變打印的功能??蓤?zhí)行地加載了該軟件的計(jì)算機(jī),作為文件處理裝置而起作用。在本實(shí)施例中公開了一種軟件,具有不僅按照模板布置數(shù)據(jù),而且按照模板生成文件的一部分,將該文件的一部分插入在其它模板上定義的區(qū)域(稱作流動(dòng)區(qū)域)來完成文檔的功能(多記錄功能)。能夠插入的文件的一部分的個(gè)數(shù),對(duì)一個(gè)流動(dòng)區(qū)域不限于一個(gè)。還公開了以下技術(shù)當(dāng)在模板上定義多個(gè)流動(dòng)區(qū)域時(shí),按照一定的條件,將生成完畢的文件的一部分,分配給各流動(dòng)區(qū)域。
下面,說明可使用本發(fā)明的本實(shí)施例的計(jì)算機(jī)系統(tǒng)的結(jié)構(gòu)和應(yīng)用程序結(jié)構(gòu)。
<系統(tǒng)結(jié)構(gòu)>
圖1A表示打印可變數(shù)據(jù)文檔的系統(tǒng)100。本說明書所示的方法,通過以在圖1B詳細(xì)說明的通用計(jì)算機(jī)模塊101執(zhí)行預(yù)定的程序來實(shí)踐。圖1A所述的程序,由計(jì)算機(jī)模塊101執(zhí)行,如可在系統(tǒng)100上實(shí)施的布局編輯應(yīng)用程序121那樣,由軟件的整體或一部分執(zhí)行。特別是布局的編輯和打印的步驟,通過由作為本發(fā)明的文件處理裝置的計(jì)算機(jī)101執(zhí)行的軟件的指示來實(shí)施。軟件存儲(chǔ)在例如如下所述的包括存儲(chǔ)裝置的計(jì)算機(jī)的可讀介質(zhì)中。可將軟件從計(jì)算機(jī)的可讀介質(zhì)加載到計(jì)算機(jī)中,由計(jì)算機(jī)101執(zhí)行。具有這樣的軟件或記錄在介質(zhì)中的計(jì)算機(jī)程序的計(jì)算機(jī)的可讀介質(zhì)是計(jì)算機(jī)程序制品。通過在計(jì)算機(jī)中使用該計(jì)算機(jī)程序制品,該計(jì)算機(jī)作為能進(jìn)行文檔的布局編輯和可變數(shù)據(jù)打印的裝置而起作用。
在計(jì)算機(jī)模塊101上,連接鍵盤132、鼠標(biāo)133那樣的指示設(shè)備等輸入裝置,并連接顯示裝置144或根據(jù)情況包括本地打印機(jī)145的輸出裝置。輸入/輸出接口138,可以從網(wǎng)絡(luò)連接107連接計(jì)算機(jī)模塊101,從而與系統(tǒng)100的其它計(jì)算機(jī)裝置連接起來。典型的該網(wǎng)絡(luò)連接107是局域網(wǎng)(LAN)或廣域網(wǎng)(WAN)。
一般地,計(jì)算機(jī)模塊101至少包括一個(gè)處理器135、例如由半導(dǎo)體隨機(jī)存儲(chǔ)器(RAM)和只讀存儲(chǔ)器(ROM)構(gòu)成的存儲(chǔ)器136、包括視頻接口137的INPUT/OUTPUT(I/O)接口;用于鍵盤132和鼠標(biāo)133的I/O接口143。
存儲(chǔ)裝置139,一般包括硬盤驅(qū)動(dòng)器140和軟盤驅(qū)動(dòng)器141。雖然未在圖1B顯示,但還可以使用磁帶驅(qū)動(dòng)器。CD~ROM驅(qū)動(dòng)器142提供非易失性的數(shù)據(jù)源。計(jì)算機(jī)模塊101,按照GNU/LINUX或微軟公司的Windows(注冊(cè)商標(biāo))那樣的操作系統(tǒng),或根據(jù)基于計(jì)算機(jī)系統(tǒng)的常規(guī)操作模式的方法,使用通過相互連接總線134進(jìn)行通信的計(jì)算機(jī)模塊101中包含的各構(gòu)成要素(符號(hào)135~符號(hào)143)。
作為圖1B所述的布置的計(jì)算機(jī)的例子,可以考慮IBM兼容PC,SUN公司的Sparcstation,或包含它們的計(jì)算機(jī)系統(tǒng)。
圖1A的布局編輯應(yīng)用程序121,通常常駐在硬盤驅(qū)動(dòng)器140中,由處理器135執(zhí)行、讀入、控制。在幾個(gè)事例中,應(yīng)用程序121在CD~ROM和軟盤上被編碼,通過相應(yīng)的軟盤驅(qū)動(dòng)器142和CD~ROM驅(qū)動(dòng)器141讀入,提供給用戶?;蛘咦鳛榱硪环N方法,還可以由用戶從網(wǎng)絡(luò)連接107讀入應(yīng)用程序121。也可以從包括磁帶或ROM或集成電路、光磁盤或無線或計(jì)算機(jī)模塊101與其他設(shè)備之間的紅外線通信、PCMCIA卡那樣的計(jì)算機(jī)可讀卡、以及電子郵件通信和具有WEB站點(diǎn)上的記錄信息的因特網(wǎng)或內(nèi)聯(lián)網(wǎng)的,其它的適當(dāng)大小的計(jì)算機(jī)可讀介質(zhì),將軟件加載到計(jì)算機(jī)模塊101內(nèi)。上述例子只是相關(guān)的計(jì)算機(jī)可讀介質(zhì)的一例。有可能還使用其它計(jì)算機(jī)可讀介質(zhì)。
另外,布局編輯應(yīng)用程序121,指示進(jìn)行可變數(shù)據(jù)打印(VDP),包括2個(gè)軟件組件。其中,第1組件是布局引擎105,它是用于通過以長(zhǎng)方形的容器給出的限制和尺寸,計(jì)算構(gòu)成容器的矩形和線的位置的軟件組件。布局引擎105,作為確定各局部區(qū)域(容器)的尺寸和位置的應(yīng)用程序來工作,通過將描繪信息輸出到省略圖示的打印驅(qū)動(dòng)程序,打印驅(qū)動(dòng)程序進(jìn)行可變數(shù)據(jù)文檔的圖像描繪處理,生成打印數(shù)據(jù)。作為第2組件的用戶界面103,使用戶生成文檔模板,在文檔模板內(nèi)提供與數(shù)據(jù)源建立關(guān)聯(lián)的機(jī)制。用戶界面103和布局引擎105,通過信道123通信。用于生成文檔的數(shù)據(jù)源,一般是位于由運(yùn)行數(shù)據(jù)庫(kù)應(yīng)用程序的其它計(jì)算機(jī)構(gòu)成的數(shù)據(jù)庫(kù)服務(wù)器117上的一般性的數(shù)據(jù)庫(kù)119。主計(jì)算機(jī)101,通過網(wǎng)絡(luò)連接107與數(shù)據(jù)庫(kù)服務(wù)器117通信。可變數(shù)據(jù)打印應(yīng)用程序121,生成保存在主計(jì)算機(jī)101或一般由其它計(jì)算機(jī)構(gòu)成的文件服務(wù)器115中的文檔模板。另外,可變數(shù)據(jù)打印應(yīng)用程序121,生成由與數(shù)據(jù)合并的文檔模板構(gòu)成的文檔。這些文檔被保存在主計(jì)算機(jī)101的本地文件系統(tǒng)中,或保存在文件服務(wù)器115上,或由打印機(jī)113直接打印。打印服務(wù)器109,是向未直接連接到網(wǎng)絡(luò)的打印機(jī)提供網(wǎng)絡(luò)功能的計(jì)算機(jī)。打印服務(wù)器109和打印機(jī)113通過一般的信道111連接。
圖2表示用于從圖1A的結(jié)構(gòu),使布局引擎255獨(dú)立并由引擎服務(wù)器227執(zhí)行布局引擎的結(jié)構(gòu)。引擎服務(wù)器227是一般的計(jì)算機(jī)。當(dāng)保存在文件服務(wù)器115中的文檔模板具有打印或其它目的時(shí),能夠與為了通過布局引擎255生成文檔而保存到數(shù)據(jù)庫(kù)119中的數(shù)據(jù)結(jié)合。這樣的操作通過用戶界面103請(qǐng)求,或請(qǐng)求只打印特定的記錄。
<應(yīng)用程序結(jié)構(gòu)>
(主窗口)如圖3所示,用戶界面103包括由在操作時(shí)在視頻顯示器144上顯示的應(yīng)用程序窗口301形成的用戶界面。窗口301由以下部分賦予特征能夠變成不顯示或能夠移動(dòng)到屏幕上的各地方的菜單欄302和工具欄303,以及能夠根據(jù)鼠標(biāo)133的位置或動(dòng)作能移動(dòng)地方的工作區(qū)306、選項(xiàng)的托板311、光標(biāo)/指示設(shè)備313。
菜單欄302,如公開的技術(shù)那樣,具有在菜單選項(xiàng)的階層下擴(kuò)展的多個(gè)菜單項(xiàng)304。
工具欄303,具有能夠通過應(yīng)用程序的特別模式變?yōu)椴伙@示或顯示的多個(gè)工具按鈕和小部件(widget)305。
選項(xiàng)的標(biāo)尺308,用于顯示工作區(qū)內(nèi)的指針、頁(yè)、行、頁(yè)邊距向?qū)А⒉季挚?容器)或?qū)ο蟮奈恢谩?br>
托板311用于訪問可變數(shù)據(jù)庫(kù)那樣的追加功能。托板311具有用于進(jìn)行移動(dòng)、調(diào)整尺寸、關(guān)閉的窗口控制312。托板311是選項(xiàng),能夠在工作區(qū)的前面顯示,或隱藏在對(duì)象的背面。有時(shí)將托板311限制為只在應(yīng)用程序窗口301的范圍內(nèi)顯示,或者,有時(shí)也允許在應(yīng)用程序窗口301的外側(cè)部分地顯示或顯示整體。
工具欄區(qū)303如圖4所示,至少具有以下的用戶可選擇的“按鈕”。
*選擇工具按鈕403用于對(duì)容器的邊進(jìn)行選擇、移動(dòng)、尺寸變更、尺寸調(diào)整、鎖住、解鎖。通過在多個(gè)容器的周圍拖動(dòng)選擇框,或在選擇多個(gè)容器期間,持續(xù)按住CTRL鍵,能夠選擇多個(gè)容器。
*圖像容器工具按鈕404用于生成具有靜態(tài)(固定)或可變圖像的容器。
*文本容器工具按鈕405用于生成具有靜態(tài)(固定)或可變文本的容器。
*鏈接工具按鈕406用于生成在容器之間建立關(guān)聯(lián)的鏈接,用于控制鏈接的距離。
這些按鈕,如公開的技術(shù)那樣,作為按照操作狀況變化的圖標(biāo)的工具提示來安裝。
布局編輯應(yīng)用程序121的圖3所示的應(yīng)用程序窗口301,能夠通過在頁(yè)面內(nèi)對(duì)各容器和鏈接進(jìn)行布局,確定基本布局。所謂基本布局,就在可變數(shù)據(jù)打印中成為基本的布局。當(dāng)基本布局內(nèi)的各容器為固定容器時(shí),所有記錄的打印結(jié)果的布局相同。另外,當(dāng)基本布局內(nèi)的各容器為后述的可變?nèi)萜鲿r(shí),根據(jù)讀入記錄單位的數(shù)據(jù)的量和尺寸,在后述的限定范圍內(nèi)變動(dòng)各容器的尺寸和位置。因此,由布局編輯應(yīng)用程序121生成的文檔模板,最終確定基本布局,當(dāng)包含可變?nèi)萜鲿r(shí),根據(jù)所讀入的數(shù)據(jù),調(diào)整最終的打印品的布局。
(文檔模板)工作區(qū)306用于顯示和編輯文檔模板的設(shè)計(jì)。它能夠使用戶在初步準(zhǔn)備后設(shè)計(jì)所打印的文檔的概貌,能夠理解所合并的文檔如何根據(jù)可變數(shù)據(jù)的量或尺寸變化。
如果外部數(shù)據(jù)源(例如,數(shù)據(jù)庫(kù)的字段等)與模板鏈接,則能夠在容器上顯示可變文本和圖像,使得能夠預(yù)覽當(dāng)前的文檔。
當(dāng)使光標(biāo)移動(dòng)到容器上時(shí),或選擇了容器時(shí),總能顯示文檔的構(gòu)造和成為描寫可變數(shù)據(jù)的容器的可視的線索的對(duì)象。
工作區(qū)306由滾動(dòng)條307、選項(xiàng)的標(biāo)尺308和文檔模板309賦予特征。文檔模板309可以顯示多個(gè)頁(yè)面。
所給出的文檔模板的頁(yè)面尺寸,根據(jù)公開的技術(shù)由用戶指定。例如,通過從菜單的“文件”選擇“頁(yè)面設(shè)定”,顯示設(shè)定頁(yè)面尺寸的對(duì)話框,在那里反映用戶所指定的頁(yè)面尺寸。各文檔中的實(shí)際頁(yè)面?zhèn)€數(shù),有可能根據(jù)可變數(shù)據(jù)變化。當(dāng)無法容納在1頁(yè)內(nèi),并在基本布局中沒有在預(yù)定的用紙尺寸的頁(yè)面中容納各容器那樣的限定時(shí),自動(dòng)生成追加的頁(yè)面。當(dāng)為了在預(yù)定的用紙尺寸的頁(yè)面中容納各容器而在基本布局中設(shè)定限定(能夠通過后述的錨點(diǎn)圖標(biāo)等設(shè)定)時(shí),在頁(yè)面內(nèi)各容器相互推擠地確定各容器尺寸和位置,根據(jù)需要縮小所插入的可變數(shù)據(jù),對(duì)各記錄動(dòng)態(tài)地確定布局。
各頁(yè)面內(nèi)的邊界線,是表示頁(yè)面上的可打印的對(duì)象的最大寬度的頁(yè)邊距310。使用者能夠定義頁(yè)邊距310。
另外,圖4是能夠在1頁(yè)的文檔模板309上顯示的對(duì)象的例子。它們具有多個(gè)容器407、408,能夠任意使用的錨點(diǎn)圖標(biāo)409、不固定的邊410、鏈接412以及滾動(dòng)條413。錨點(diǎn)圖標(biāo)409,能夠設(shè)定在容器的矩形的角、邊或容器的中央。當(dāng)設(shè)定錨點(diǎn)圖標(biāo)409時(shí),所設(shè)定的地方的位置固定。即,在圖4的例子中,錨點(diǎn)圖標(biāo)409,被設(shè)定在容器407的左上角,所以,表示容器407在插入可變數(shù)據(jù),可變數(shù)據(jù)的圖像尺寸或文本量多時(shí),能夠向右和向下放大。當(dāng)錨點(diǎn)圖標(biāo)409被設(shè)定在邊上時(shí),該邊固定,能夠向其余3個(gè)邊的各方向放大。另外,當(dāng)錨點(diǎn)圖標(biāo)409被設(shè)定在容器的中央時(shí),容器的中央位置固定,并能夠向4個(gè)方向放大,使得容器矩形的中央位置不改變。鏈接412將在后面詳細(xì)敘述,表示容器407和容器408建立關(guān)聯(lián),表示能夠一邊保持對(duì)該鏈接設(shè)定的長(zhǎng)度(可指定范圍),一邊使容器408向右移動(dòng)。滾動(dòng)條413,表示能夠在與所設(shè)定的邊平行的方向上移動(dòng)。
(容器)容器是以記錄單位,將固定或可變的文本、圖像,從可變數(shù)據(jù)文件,插入文檔模板內(nèi),并描繪的空間(將其稱作局部區(qū)域),與其它容器和對(duì)象一起進(jìn)行布局。操作鼠標(biāo)133,使用指針313,如圖3、圖4等的用戶界面畫面所示,對(duì)容器進(jìn)行移動(dòng)、調(diào)整尺寸以及再生成。
更正確地說,容器具有設(shè)定的集合、可視的表現(xiàn)以及交互作用(interaction)和編輯動(dòng)作。以下是容器的定義的全部。
*容器具有固定或可變的內(nèi)容。可變內(nèi)容意味著從數(shù)據(jù)源(例如,數(shù)據(jù)庫(kù)的記錄)取得,在不同的文檔中可以不同,并且是動(dòng)態(tài)的。作為可變內(nèi)容,由于不適合打印,所以,不包括動(dòng)畫的內(nèi)容、或以其它方法按照時(shí)間變化的內(nèi)容。固定內(nèi)容在用1個(gè)模板生成的所有文檔中相同地顯示。但是,當(dāng)設(shè)定可變內(nèi)容和鏈接時(shí),有可能因包括可變內(nèi)容的容器的位置和尺寸的變化,包括固定內(nèi)容的容器在各文檔中位置不同。
*容器具有用于內(nèi)容的背景色、邊界、字體風(fēng)格等文本設(shè)定那樣的裝飾功能。將這樣的設(shè)定稱作容器屬性。容器屬性能夠?qū)Ω魅萜髟O(shè)定,但也能夠進(jìn)行是與某容器相同的容器屬性的設(shè)定。
*容器在生成了文檔時(shí),與來自數(shù)據(jù)源的數(shù)據(jù)合并。裝飾功能一般是所打印的輸出品,是可視的,從而不管在怎樣的固定內(nèi)容中都是如此??勺儍?nèi)容作為來自數(shù)據(jù)源的特定的數(shù)據(jù)取得,顯示或打印。存儲(chǔ)在容器中的內(nèi)容,能夠通過例如打印,在屏幕144上顯示,或該兩種方式輸出。
*容器具有用戶界面。例如,具有用于容器的編輯和顯示設(shè)定的人機(jī)對(duì)話的GUI。界面的要素一般顯示在屏幕144上。用戶界面103顯示背景色或字體那樣的容器的幾個(gè)裝飾功能。還具有用于進(jìn)行容器的設(shè)定的編輯和顯示的功能。作為用戶界面功能的目的的例子,具有邊界;或者以對(duì)話方式變更、顯示容器的尺寸和位置的角圖標(biāo);或者在容器從數(shù)據(jù)源合并數(shù)據(jù)時(shí),用于表示容器的動(dòng)作的涂上的數(shù)、線、圖標(biāo)、文本。
(對(duì)容器的限定)容器具有用于控制如何在容器中存儲(chǔ)在各文檔上顯示或打印的內(nèi)容的限定。這些限定,是用戶通過1個(gè)文檔模板控制多個(gè)文檔的主要手段。作為限定的一例,有“該容器的內(nèi)容的高度的最大值為4英寸”。作為其它限定的例子,有“容器的內(nèi)容的左邊,在各文檔中必須在相同的水平位置顯示”。在此所述的內(nèi)容,是用于使用GUI,顯示、編輯這樣的限定的各種方法。
在數(shù)字打印技術(shù)中,已知有為了具有將圖像定義在頁(yè)面上的地方,而指定固定內(nèi)容的布置的內(nèi)容位置文件夾。在以下的說明中,容器具有位置和尺寸,它們能夠以在公開的技術(shù)中已知的方法編輯、顯示。
用戶能夠通過指定容器的位置、尺寸、限定等,指定文檔的內(nèi)容的位置和尺寸。因?yàn)槎鄠€(gè)文檔是從一個(gè)文檔模板生成的,所以,為了指定和顯示容器的多個(gè)可能的設(shè)定和限定,必須使用用戶界面。
一個(gè)容器的邊,定義在文檔內(nèi)顯示建立了關(guān)聯(lián)的內(nèi)容的虛擬的邊界線。即,容器的左邊,不管在使用同一模板的哪個(gè)文檔內(nèi),都與布置與該容器建立了關(guān)聯(lián)的內(nèi)容的左端對(duì)應(yīng)。同樣地,容器的高度,可以理解為在使用同一模板而生成的文檔內(nèi)與該容器建立了關(guān)聯(lián)的內(nèi)容的高度的限定。在本說明書中,當(dāng)參照用戶界面103談到容器的邊或大小時(shí),該區(qū)別變得明確。
在以下的討論中,定義用于限制內(nèi)容的顯示的幾個(gè)值的用語(yǔ)“固定”,在所有文檔中相同。
*如果容器的寬度固定,則分配給建立了關(guān)聯(lián)的內(nèi)容的寬度,在使用包括該容器的模板而生成的所有文檔中,關(guān)于包括該容器的頁(yè)面變?yōu)橄嗤?固定值)。
*如果容器的高度固定,則分配給建立了關(guān)聯(lián)的內(nèi)容的高度,在使用包括該容器的模板而生成的所有文檔中,關(guān)于包括該容器的頁(yè)面變?yōu)橄嗤?固定值)。
*如果距離的限定固定,則所指定的距離(固定值),是用于使用包括該容器的模板而生成的所有文檔的限定。
*如果容器的左右邊固定,則意味著在使用包括該容器的模板而生成的所有文檔中,關(guān)于容器的邊關(guān)于水平方向的位置,關(guān)于包含該容器的頁(yè)面相同。但是,容器的高度或垂直方向的位置有可能變化。例如,如果容器的左邊固定,則與容器建立了關(guān)聯(lián)的內(nèi)容,在使用一個(gè)模板而生成的一個(gè)文檔中,相近地顯示在頁(yè)面的上端,在其它文檔中,有時(shí)也相近地顯示在頁(yè)面的下端。但是,左邊的水平位置在所有的情況下都相同。
*如果容器的上下邊固定,則邊的垂直方向位置,在使用包括該容器的模板而生成的所有文檔中,關(guān)于包括該容器的頁(yè)面是相同的。但是,容器的寬度或水平位置有可能變化。
*容器的垂直軸與容器的右邊和左邊平行,是位于其中間的想象中的垂直線。如果容器的垂直軸固定,則容器的左右邊的水平位置的平均,在使用包括該容器的模板而生成的所有文檔中,關(guān)于包括該容器的頁(yè)面是相同的。例如,在相異的文檔中,相應(yīng)的容器的左右邊的水平方向的位置,有可能在離垂直軸遠(yuǎn)或近這一點(diǎn)上不同。但是,垂直軸在使用包括該容器的模板而生成的所有文檔中,關(guān)于包括該容器的頁(yè)面位于相同的水平位置。容器的高度和水平位置不受該限定的影響。
*容器的水平軸與容器的上邊和下邊平行,是位于其中間的想象中的水平線。與垂直軸相同,如果容器的水平軸固定,則限定容器的上邊和下邊的垂直方向的位置。但是,高度不受該限定的影響。
*如果水平軸、垂直軸都固定,則意味著容器的中心位置(垂直軸和水平軸的交點(diǎn))固定。但是,容器的寬度和高度不受該限定的影響。
*如果容器的角、容器的邊的中間位置或容器的中心位置固定,則與該容器建立了關(guān)聯(lián)的內(nèi)容,在使用包括該容器的模板而生成的所有文檔中,關(guān)于包括該容器的頁(yè)面顯示在相同的地方。例如,如果容器的左上角固定,則意味著所布置的容器的左上位置,在使用包括該容器的模板而生成的所有文檔中,關(guān)于包括該容器的頁(yè)面變?yōu)橄嗤?br>
*垂直邊或垂直軸,能夠與頁(yè)面的左邊或右邊、或左頁(yè)邊距或右頁(yè)邊距、或其它水平位置建立關(guān)聯(lián),變?yōu)楣潭?。同樣地,水平邊或水平軸,能夠與頁(yè)面的上邊或下邊、或上下頁(yè)邊距、或其它垂直位置建立關(guān)聯(lián),變?yōu)楣潭ā?br>
“固定”的相反詞是意味著邊、軸、角、中間位置或文檔限定在文檔之間(記錄間)有可能變化的“可變”。例如,在頁(yè)面內(nèi),期待根據(jù)可變數(shù)據(jù)的尺寸和量,動(dòng)態(tài)地變更布局,但對(duì)于特定的容器,有時(shí)想將大小和位置固定,有時(shí)想將頁(yè)面的角的容器的四角固定。因此,在本布局編輯應(yīng)用程序121中,能夠?qū)Ω魅萜?局部區(qū)域),適當(dāng)?shù)卦O(shè)定是將邊、軸、角、中間位置等固定,還是使之可變。由此,當(dāng)用戶確定文檔模板的基本布局時(shí),能夠像用戶所希望的那樣生成基本布局。
<布局模式(容器的顯示和編輯)>
進(jìn)行可變打印的文檔的生成步驟,能夠分為以下2個(gè)階段生成模板的模板生成處理(布局模式);和在所生成的模板中插入內(nèi)容,生成文檔的文檔生成處理(將預(yù)覽顯示文檔的情形稱作預(yù)覽模式)。
(新容器的生成方法)容器包括文本容器和圖像容器等2種。文本容器具有文本和嵌入的圖像。圖像容器只具有圖像。
如圖4所示,通過用鼠標(biāo)133點(diǎn)擊文本容器工具404或圖像容器工具405,在模板309上拖動(dòng)四邊形,從而在模板309上生成新文本容器和圖像容器。
或者,能夠在激活適當(dāng)?shù)墓ぞ?04、405之后,通過在文檔模板309上點(diǎn)擊,簡(jiǎn)單地生成容器。當(dāng)生成了新的容器時(shí),為了插入默認(rèn)尺寸的容器,或放入新容器的尺寸,顯示對(duì)話框或其它提示。另外,還可以通過預(yù)先定義或計(jì)算出的計(jì)劃器自動(dòng)地生成、布置容器。能夠由鼠標(biāo)等輸入單元選擇在這里生成的容器,通過進(jìn)行以右擊指示屬性等操作,顯示容器的屬性對(duì)話框,設(shè)定容器的限定。在容器的屬性對(duì)話框UI(相當(dāng)于局部區(qū)域設(shè)定單元)中,能夠設(shè)定上述各種限定。另外,在容器的屬性對(duì)話框中,能夠確定容器的尺寸(寬度、高度)和位置,當(dāng)為可變尺寸時(shí),設(shè)定容器的基本圖形(基本尺寸和基準(zhǔn)位置),還可以設(shè)定最大容器尺寸(寬度、高度)和最小容器尺寸(寬度、高度)。
(容器的顯示方法)在文檔模板內(nèi)生成的容器的邊的狀態(tài),如圖4所示,最好是在用戶界面上圖形顯示。能夠通過以公共的表現(xiàn)表示邊的狀態(tài),進(jìn)一步減少與狀態(tài)對(duì)應(yīng)的圖像對(duì)象的種類。
圖5A~圖5D是表示容器的顯示例的圖。應(yīng)用程序121,為了表現(xiàn)邊的狀態(tài),用實(shí)線503或虛線504描繪邊。容器將以下部分作為特征錨點(diǎn)(由在邊的附近描繪的對(duì)象506、507、509表示的線、形狀、圖標(biāo))、把手(為了移動(dòng)、修正,在邊、形的附近描繪的控制點(diǎn))502、滾動(dòng)條(在邊的兩側(cè)描繪的短平行線,圖4的413)、放大縮小圖標(biāo)(505)以及顏色。
圖5A~圖5D所示的容器顯示方法的規(guī)則如下所述。
1.如果各邊固定,則用實(shí)線描繪該邊。
2.如果寬度固定,則用實(shí)線503描繪左邊和右邊。
3.如果高度固定,則用實(shí)線503描繪上邊和下邊。
4.不描繪軸。
5.尚未描繪的邊,在該邊附近描繪放大縮小圖標(biāo)505,用虛線504描繪。
6.如果在垂直邊或軸和水平邊或軸的交點(diǎn)上,相交的邊或軸都固定,則描繪錨點(diǎn)。
7.如果固定邊的任何位置均未描繪錨點(diǎn),則在該邊的中央描繪滾動(dòng)條。
8.如果在垂直邊或軸和水平邊或軸的交點(diǎn)上,尚未描繪錨點(diǎn)和滾動(dòng)條,則描繪把手。
可變的邊用虛線描繪。在按照規(guī)則6、7、8描繪的固定點(diǎn)上顯示錨點(diǎn),在固定的邊上顯示滾動(dòng)條,在其它邊上顯示把手。
上述規(guī)則,優(yōu)先由用戶后來設(shè)定的限定。即,當(dāng)以后設(shè)定其它限定時(shí),如果上述規(guī)則影響要描繪的邊,則變更實(shí)線和虛線的描繪內(nèi)容。
描繪可變的邊的地方依存于容器的內(nèi)容。如后所述,進(jìn)行將內(nèi)容合并到文檔模板中,在用戶界面上顯示文檔的“動(dòng)態(tài)校正處理”。
這些內(nèi)容的表現(xiàn),提供表示容器的邊的狀態(tài)的圖形手段。該表現(xiàn)的解釋如下所述。
*如圖4的邊410所示,虛線意味著與容器的內(nèi)容對(duì)應(yīng)的文檔內(nèi)的邊的位置。
*實(shí)線意味著被限制的邊。這是因?yàn)橐詫?shí)線表示的邊固定(邊414),或者容器的寬度或高度固定(在容器408中,兩者均固定)。
*錨點(diǎn)意味著邊或軸交點(diǎn)固定。因此,錨點(diǎn)在使用了包括該錨點(diǎn)的文檔模板的所有文檔中,出現(xiàn)在同一水平、垂直位置。當(dāng)然,錨點(diǎn)被固定。圖4的圖標(biāo)409,是表示相交的邊414固定的錨點(diǎn)圖標(biāo)的例子。
*滾動(dòng)條意味著建立了關(guān)聯(lián)的邊在該邊的垂直方向上固定,但是,容器能夠沿邊移動(dòng)到滑動(dòng)了“滑動(dòng)長(zhǎng)度”的位置。例如,在圖4中,通過滾動(dòng)條413的操作,容器408的內(nèi)容有時(shí)也能在文檔內(nèi)向左或向右移動(dòng)并顯示。
這些錨點(diǎn)和邊的幾個(gè)或全部,根據(jù)對(duì)哪個(gè)工具、哪個(gè)容器進(jìn)行選擇、加亮或激活,描繪或不描繪。一般地,容器的邊和錨點(diǎn)用于表示設(shè)計(jì)文檔模板,在使用了所生成的文檔模板的打印品中不描繪。
容器的寬度和高度的基準(zhǔn)值、最小值、最大值的基本圖形的設(shè)定,顯示在附屬對(duì)話窗口中。
在圖5A中,容器501的寬度和高度均不固定。固定的邊503用實(shí)線503表現(xiàn)??勺兊倪?04用虛線表現(xiàn)。放大縮小圖標(biāo)505是表示相鄰的邊504可變的指示器。
在圖5B中,容器501的寬度和高度均可變。錨點(diǎn)圖標(biāo)506表示相交的兩個(gè)邊503固定。
在圖5C中,容器501以由錨點(diǎn)圖標(biāo)507表示的邊為中心,在能夠均等地放大或縮小的狀態(tài)下,寬度和高度均可變。
在圖5D中,容器501,除了上邊508固定,寬度和高度均可變。在上邊508的中心表示的錨點(diǎn)圖標(biāo)509,表示該邊508固定,容器的左邊和右邊,能夠在通過錨點(diǎn)圖標(biāo)509垂直地描繪的中心軸(垂直軸)周圍移動(dòng)。
<文檔模板的數(shù)據(jù)例>
圖33表示文檔模板的數(shù)據(jù)(稱為模板數(shù)據(jù))的一例。在圖33中,模板數(shù)據(jù)3301存儲(chǔ)在存儲(chǔ)器136或硬盤140中。在模板數(shù)據(jù)中包括以下要素。
(1)整體尺寸3302表示模板整體的頁(yè)面的尺寸。尺寸可以由例如縱和橫的長(zhǎng)度或定型用紙尺寸等表示。
(2)容器信息3303對(duì)布置在模板中的各容器,表示用于確定該容器的識(shí)別信息和容器的基準(zhǔn)位置(位置信息)、邊的長(zhǎng)度(尺寸信息)、構(gòu)成容器的邊和點(diǎn)的屬性(屬性信息)、與容器建立關(guān)聯(lián)的內(nèi)容的信息等。位置信息和尺寸信息是在生成容器模板時(shí)定義的,位置信息為在生成容器時(shí)由用戶設(shè)定的容器的基準(zhǔn)位置。如果是位置可變的容器,則按照要插入容器的內(nèi)容的尺寸(圖像尺寸、文本量)變更大小,根據(jù)各容器的大小,動(dòng)態(tài)地變更位置。如果是通過錨點(diǎn)等固定位置的容器,則表示固定的位置。這樣的位置信息,至少包括能夠確定容器的對(duì)角點(diǎn)的位置的信息。當(dāng)然,對(duì)于所有點(diǎn),可以具有模板上的位置,對(duì)于一個(gè)點(diǎn),可以具有模板上的位置信息,對(duì)于其它點(diǎn),可以具有相對(duì)的位置信息。即,還能夠由容器的一個(gè)點(diǎn)和容器的尺寸定義。另外,對(duì)于固定的點(diǎn),可以在模板上的位置定義,對(duì)于可變的點(diǎn),可以在相對(duì)的位置定義。
屬性信息,表示參照?qǐng)D4、圖5A~圖5D說明了的,容器的邊、邊、軸或它們的交點(diǎn)等的屬性。一個(gè)容器,例如通過位置和尺寸,確定上邊、下邊、左邊、右邊、水平軸、垂直軸、各角點(diǎn)、中心點(diǎn)、寬度和高度。對(duì)各要素,通過屬性信息定義是可變還是固定。當(dāng)通過圖4的用戶界面生成文檔模板時(shí),在選擇了容器的邊、點(diǎn)和軸的狀態(tài)下,通過從在托板311內(nèi)顯示的菜單“固定”、“可變”等,選擇操作者所希望的項(xiàng)目,從而與所選擇的點(diǎn)、邊對(duì)應(yīng),對(duì)容器信息3303寫入“固定”、“可變”中的任意的屬性。生成容器后的既定值,例如全部為“可變”。另外,在本例子中,對(duì)一個(gè)邊、軸“固定”,意味著不是邊和軸的長(zhǎng)度或長(zhǎng)度方向的位置,而是關(guān)于與長(zhǎng)度方向正交的方向的位置固定。另外,通過設(shè)定點(diǎn)、邊的屬性,當(dāng)自動(dòng)確定其它點(diǎn)、邊的屬性時(shí),也寫入該屬性。例如,當(dāng)指定角點(diǎn)為“固定”時(shí),夾著它的邊也為“固定”。反之也同樣。例如,當(dāng)指定中心點(diǎn)的位置為“固定”時(shí),對(duì)中心點(diǎn)的屬性寫入“固定”,并且,水平軸和垂直軸的屬性也寫入“固定”。這時(shí),如果寬度和高度保持可變,則寬度和高度的屬性維持“可變”。
在對(duì)于關(guān)聯(lián)的內(nèi)容的信息(內(nèi)容關(guān)聯(lián)信息)中,例如包含表示它是文本容器還是圖像容器的種類的信息、插入該容器中的數(shù)據(jù)源的標(biāo)識(shí)符例如數(shù)據(jù)庫(kù)名、記錄名、字段名等的一部分或全部、用于抽出內(nèi)容的條件式等關(guān)聯(lián)信息。此外,當(dāng)為文本容器時(shí),在內(nèi)容關(guān)聯(lián)信息中也包含對(duì)于字體的信息例如字體種類、尺寸、顏色、斜體、加粗、下劃線等文字修飾信息。
只保持在文檔模板中設(shè)置的容器的數(shù)的容器信息3303。
(3)鏈接信息3304鏈接是容器之間的關(guān)聯(lián),是使由容器結(jié)合的2個(gè)容器之間的距離為固定(固定鏈接)或可變范圍(可變鏈接)的信息。作為鏈接信息,例如對(duì)于水平方向和垂直方向,分別包含2個(gè)容器的標(biāo)識(shí)符、表示在這些容器的相對(duì)的邊之間設(shè)定鏈接的信息、對(duì)于沿著鏈接的方向的容器之間的距離。按每個(gè)所定義的各鏈接保持鏈接信息。作為鏈接信息的形式,對(duì)于水平方向和垂直方向,分別保持各容器的邊的位置,保持表示在該邊之間設(shè)定鏈接的信息。
(4)固定信息3305包含用于定義可變部分以外的固定部分的信息。例如在應(yīng)用該模板生成的全部文檔(全部記錄)中能定義共用的文字和圖像。對(duì)于文字和圖像,也可以不包含數(shù)據(jù),只定義位置信息。當(dāng)然,也包含用于定義在模板上布置的位置的信息。
圖34表示用于多記錄功能的模板數(shù)據(jù)的一例。在圖34中,在文檔模板中定義稱作流動(dòng)區(qū)域的把其它模板作為子模板插入的區(qū)域。把子模板插入的區(qū)域稱作流動(dòng)區(qū)域,在一個(gè)流動(dòng)區(qū)域中插入與多記錄對(duì)應(yīng)的數(shù)量的子模板。在圖34中,在模板數(shù)據(jù)中包含流動(dòng)區(qū)域信息3401。在模板數(shù)據(jù)中只包含在模板中包含的流動(dòng)區(qū)域數(shù)的流動(dòng)區(qū)域信息。在流動(dòng)區(qū)域信息3401中包含以下的元件。
(5)表示全體的位置、尺寸、流動(dòng)類型的流動(dòng)區(qū)域的屬性信息3402位置和尺寸如圖33中說明的那樣。流動(dòng)類型是定義子模板插入到流動(dòng)區(qū)域中的方式的符號(hào)。后面將描述細(xì)節(jié),但是插入流動(dòng)區(qū)域中的子模板的數(shù)由多記錄的主列(后面描述)確定,因?yàn)榭勺?,所以根?jù)插入流動(dòng)區(qū)域的子模板數(shù)來定義流動(dòng)區(qū)域內(nèi)的子模板的布局的信息是流動(dòng)類型。
(6)子模板信息3403在子模板信息3403中包含表示把子模板中布置的內(nèi)容與按照該子模板布局的內(nèi)容(在本說明書中,把它稱作布局完畢內(nèi)容)插入的流動(dòng)區(qū)域添加關(guān)聯(lián)的布置信息。子模板信息3403例如是用于識(shí)別插入流動(dòng)區(qū)域中的模板的信息,例如包含模板數(shù)據(jù)的文件(模板文件)的名稱等。此外,也可以包含用于布置布局完畢內(nèi)容的布置條件、指定以怎樣的順序插入布局完畢內(nèi)容的流動(dòng)類型。作為布置條件,保持成為子模板的布局對(duì)象的數(shù)據(jù)庫(kù)的檢索條件(檢索式)等。此外,作為流動(dòng)類型,從Z型、N型、V型等預(yù)先準(zhǔn)備的選擇分支內(nèi)保持表示指定、被指定的流動(dòng)類型的標(biāo)識(shí)符?;蛘?,也可以在數(shù)據(jù)庫(kù)的記錄中設(shè)置布置信息字段,在與該值一致的布置條件的值所對(duì)應(yīng)的流動(dòng)區(qū)域中,插入布局完畢內(nèi)容。
(7)多記錄信息3404包含與流動(dòng)區(qū)域關(guān)聯(lián)的數(shù)據(jù)庫(kù)名、各記錄中的字段名等標(biāo)識(shí)符。對(duì)于所指定的字段名,從指定的數(shù)據(jù)庫(kù)獲得(讀入)具有同一值的記錄,作為原則,布置在一個(gè)流動(dòng)區(qū)域中。作為原則,在限制與成為對(duì)象的記錄與流動(dòng)區(qū)域的尺寸相比是相當(dāng)多的情況下,就可以得到上述限制,因此,在這種情況下,有必要生成其它文檔等來進(jìn)行例外的處理。
<鏈接的設(shè)定方法>
圖6是表示鏈接的設(shè)定方法的流程圖。此外圖7A~圖7C表示UI的例子。使用它們說明設(shè)定容器鏈接的方法。
首先,為了設(shè)定鏈接,生成用于設(shè)定鏈接的容器(步驟0601)。接著,使圖4所示的鏈接工具按鈕406變?yōu)檫x擇的狀態(tài)(步驟0602)。圖7A~圖7C表示生成2個(gè)容器,從選擇鏈接工具的狀態(tài)進(jìn)行設(shè)定鏈接的動(dòng)作時(shí)的用戶界面例子。按順序說明圖7A~圖7C。
圖7A的邊0701、0702與所述圖4的邊407、408相同,是固定的邊。此外,錨點(diǎn)0703和0704與錨點(diǎn)409相同。首先,點(diǎn)擊選擇設(shè)定鏈接的一方容器(步驟0603)。接著如圖7B所示,把鼠標(biāo)指針移動(dòng)到另一方容器,點(diǎn)擊(步驟0604)。圖7B的線0706表示連接在圖7A中最初點(diǎn)擊的位置和移動(dòng)后的鼠標(biāo)指針的位置的線,是對(duì)用戶表示在哪個(gè)位置設(shè)定鏈接的UI。步驟0604結(jié)束后,容器變?yōu)閳D7C的狀態(tài),在設(shè)定的地方顯示鏈接0707(步驟0605)。此外,通過設(shè)定鏈接,也自動(dòng)變更表示容器的對(duì)象(步驟0606)。邊0708是由虛線表示的可變的邊。容器的邊的狀態(tài)如圖7所示那樣變化,是因?yàn)橥ㄟ^設(shè)定鏈接,需要使容器的邊可變,是為了防止發(fā)生盡管設(shè)定了鏈接,但是全部邊固定的矛盾而自動(dòng)進(jìn)行的處理。此外,放大縮小圖標(biāo)0709與圖5的圖標(biāo)505相同,是通過設(shè)定鏈接來對(duì)用戶可視地表示容器變化的方向的對(duì)象。在圖7C的例子中,左容器的右邊0708和右容器的左邊0710變?yōu)榭勺儯?,這是一個(gè)例子,右容器也可以變?yōu)榫哂袌D4所示的滾動(dòng)條413的設(shè)定。
從圖33的數(shù)據(jù)處理的觀點(diǎn)說明該處理,就變?yōu)橐韵履菢印@缭诓襟E0601中,通過生成容器,定義容器信息3303。然后,在步驟0606中,布局編輯應(yīng)用121把在步驟0603和步驟0604中選擇的2個(gè)容器之間設(shè)定了鏈接的信息作為鏈接信息存儲(chǔ)。然后,在步驟0606中,按照需要來變更設(shè)定鏈接的2個(gè)容器的相對(duì)的邊的屬性。例如,如果相對(duì)的邊的至少一方可變,就沒必要變更邊的屬性??墒?,如果雙方固定,就失去設(shè)定鏈接的意義,所以至少使一方可變。在圖7的例子中,把雙方變更為可變。當(dāng)然,當(dāng)變更邊的屬性時(shí),布局編輯應(yīng)用121對(duì)于變更的屬性,對(duì)于容器信息3303中包含的屬性變更的邊,改寫該屬性信息。
在上述記載中,使用“相對(duì)”的表現(xiàn),但是,除了在外觀上線之間相對(duì)的情況,在線自身不相對(duì)(即2條線的長(zhǎng)度方向的投影不重復(fù))時(shí),如果線的延長(zhǎng)線處于相對(duì)的關(guān)系,就能在延長(zhǎng)線之間設(shè)定鏈接。在本說明書中,還包含延長(zhǎng)線相對(duì)的情況,對(duì)于由鏈接添加關(guān)聯(lián)的容器,邊表現(xiàn)為“相對(duì)”。即,例如在沿著模板的對(duì)角而布置的小容器之間也能夠設(shè)定鏈接。
如上所述,如果由鏈接關(guān)聯(lián)的容器的相對(duì)的邊的一方可變,另一方固定,就有可能按照內(nèi)容尺寸來移動(dòng)可變的邊。而且,按照可變的邊的移動(dòng)量,固定邊一側(cè)的容器自身平行移動(dòng)(沒有錨點(diǎn)時(shí))。維持由鏈接定義的容器之間的距離(對(duì)于沿著鏈接的方向的距離)。如果雙方的邊可變,就按照內(nèi)容的尺寸和量,使容器的尺寸變?yōu)榭勺?,但是,這種情況下也維持容器之間的距離。
<預(yù)覽模式(布局計(jì)算>
圖8表示布局計(jì)算的流程。布局計(jì)算是對(duì)文檔模板的容器實(shí)際插入數(shù)據(jù)時(shí),按照內(nèi)容的數(shù)據(jù)尺寸再次計(jì)算容器尺寸和容器布置的處理。在圖8中,把指定預(yù)覽模式的情形作為例子,因此,對(duì)模板插入內(nèi)容而生成的文檔顯示在顯示器144上??墒?,當(dāng)指定預(yù)覽模式時(shí),就變?yōu)轭A(yù)覽顯示來打印輸出文檔。
在圖8中,首先選擇預(yù)覽模式(步驟0801)。在本實(shí)施例的自動(dòng)布局系統(tǒng)的工作模式中包含布局模式,生成容器,在容器之間進(jìn)行關(guān)聯(lián),生成定義布局的文檔模板;預(yù)覽模式,在生成的布局(模板)中插入記錄,預(yù)覽實(shí)際插入記錄后的布局結(jié)果。
在預(yù)覽模式中,插入實(shí)際的記錄來計(jì)算布局。預(yù)覽模式是在顯示上的布局計(jì)算。在實(shí)際打印時(shí),不插入數(shù)據(jù)來計(jì)算布局,但是,這時(shí)的計(jì)算方法與預(yù)覽模式相同。
如果變?yōu)轭A(yù)覽模式,就選擇預(yù)覽的紀(jì)錄(步驟0802)。記錄的選擇,可以選擇由操作者指定的記錄,也可以從指定的數(shù)據(jù)庫(kù)依次選擇記錄。如果進(jìn)行記錄的選擇,就為了按照模板布置該記錄而進(jìn)行計(jì)算(步驟0803)。在步驟0803中,按照計(jì)算結(jié)果把記錄布局并將其顯示(0804)。對(duì)于其它記錄,判斷是否進(jìn)行預(yù)覽(步驟0805)。該判斷可以根據(jù)操作者的指示,也可以判斷對(duì)于預(yù)先指定的范圍的預(yù)覽是否結(jié)束。在步驟0805中,當(dāng)判斷為對(duì)于其它記錄,不需要進(jìn)行預(yù)覽時(shí),就結(jié)束預(yù)覽模式(步驟0807)。
而如果對(duì)其它記錄進(jìn)行預(yù)覽,就選擇其它記錄,再次進(jìn)行布局的計(jì)算,布局記錄來進(jìn)行預(yù)覽(步驟0806)。在不是預(yù)覽模式的打印時(shí),對(duì)于打印的全部記錄,按順序進(jìn)行布局的計(jì)算。因此,步驟0801、0807不存在。此外,在步驟0805中,判斷對(duì)于打印對(duì)象的全部記錄,打印是否結(jié)束。
(布局計(jì)算步驟)圖9是說明圖8的步驟0803的布局計(jì)算的詳細(xì)的流程圖。此外,圖10A~圖10C是表示這時(shí)的UI顯示例的圖。不局限于圖9,在本實(shí)施例中說明的流程圖由圖1A、圖1B或圖2的計(jì)算機(jī)執(zhí)行。
首先,求出計(jì)算布局的容器集合(步驟0901)。把由鏈接添加關(guān)聯(lián)的容器作為一個(gè)集合來進(jìn)行布局計(jì)算。例如參照?qǐng)D11,則在頁(yè)面上布置4個(gè)容器,對(duì)各容器設(shè)定關(guān)聯(lián)。這時(shí),容器A和容器B,容器C和容器D由鏈接添加關(guān)聯(lián)。因此,容器A和容器B變?yōu)榧?,容器C和容器D變?yōu)榧?。即,參照?qǐng)D33所示的模板數(shù)據(jù)的鏈接信息3304,能判定由鏈接關(guān)聯(lián)的容器組為一個(gè)容器集合。在圖11中,如上所述,具有錨點(diǎn)1101、固定的邊1102、控制器1103、表示可變邊的變化方向的箭頭1104、可變的邊1105、鏈接1106、以及滾動(dòng)條1107。
接著,為了計(jì)算布局,從在步驟0901中求出的容器的集合中選擇一個(gè)集合(步驟0902)。例如,這可以按照模板數(shù)據(jù)的鏈接信息中的出現(xiàn)順序。然后,對(duì)選擇的容器的集合進(jìn)行布局的計(jì)算。在此,進(jìn)行布局的最優(yōu)化,以使布局的容器尺寸和實(shí)際的容器尺寸盡可能減小差距(步驟0903)。
進(jìn)行布局的最優(yōu)化,使得在關(guān)聯(lián)為可以動(dòng)態(tài)改變尺寸的容器中,插入各自容器中的內(nèi)容的尺寸和插入該內(nèi)容的容器尺寸盡可能變?yōu)橄嗤?。?dāng)容器尺寸固定時(shí),把內(nèi)容變化倍數(shù),收容在容器中,或者內(nèi)容的一部分收容在容器中。
當(dāng)關(guān)注的容器集合的一方的容器是固定尺寸,另一方為可變尺寸時(shí),對(duì)于固定尺寸的容器,以上述方法進(jìn)行布局。對(duì)于可變尺寸的容器,在固定尺寸的容器可移動(dòng)的范圍中,改變可變尺寸的容器的尺寸,插入內(nèi)容。如果把尺寸擴(kuò)大到最大也不能容納時(shí),把內(nèi)容變化倍數(shù),或者把其一部分插入到容器中。
當(dāng)關(guān)注的容器集合的雙方的容器為可變尺寸時(shí),確定布局,使得盡可能均等地在雙方的容器中收容內(nèi)容。例如,如圖7C所示,由鏈接關(guān)聯(lián)的2個(gè)容器,其外側(cè)的點(diǎn)固定,只有相對(duì)的邊可變。這時(shí),按照各內(nèi)容的尺寸,暫且確定容器尺寸。然后,確定各容器的相對(duì)的邊的位置,使得離沿著容器之間的鏈接的方向的距離的中間點(diǎn)成為相等的距離。當(dāng)然,邊的間隔是由鏈接信息所定義的距離。這樣來確定各容器的尺寸。如果容器中容納不下內(nèi)容時(shí),也可以使內(nèi)容變化倍數(shù),或者把其一部分剪切,插入到容器中。
當(dāng)在容器集合中至少包含3個(gè)容器時(shí),計(jì)算與各內(nèi)容的尺寸對(duì)應(yīng)的容器尺寸(即各可變邊的長(zhǎng)度),把離中點(diǎn)的、由鏈接信息定義的距離的位置確定為邊的位置。對(duì)于鏈接的邊為固定邊的容器,按照添加關(guān)聯(lián)的容器的邊的移動(dòng),來使其位置移動(dòng)。
如上所述,把由鏈接關(guān)聯(lián)的容器作為1組,對(duì)于尺寸可變的容器,確定其尺寸,對(duì)于位置可變的容器,確定其位置。
以上述要領(lǐng)進(jìn)行布局的最優(yōu)化計(jì)算,當(dāng)計(jì)算結(jié)果違反規(guī)則時(shí),在此進(jìn)行計(jì)算以便不違反規(guī)則(步驟0904)。這里,規(guī)則是生成布局時(shí)由用戶設(shè)定的限制,是容器的尺寸、位置、鏈接的長(zhǎng)度等。限制由模板數(shù)據(jù)內(nèi)的容器信息中包含的邊和點(diǎn)等屬性信息和鏈接信息定義。特別是在屬性信息中,具有“固定”的值的項(xiàng)目和鏈接信息成為布局上的限制。因此,當(dāng)步驟0903的布局計(jì)算結(jié)束后,對(duì)于具有“固定”的屬性的計(jì)算后的各容器的邊和點(diǎn)的位置、尺寸等項(xiàng)目,與模板數(shù)據(jù)中的容器信息比較,如果存在值不同的項(xiàng)目,就判定為違反限制。此外,對(duì)于鏈接,如果鏈接信息中包含的鏈接長(zhǎng)度(容器之間的距離)和步驟0903的布局計(jì)算結(jié)束后的設(shè)定鏈接的容器之間的距離不同,就判定為違反限制。
如果不違反規(guī)則地計(jì)算布局,則該容器集合的布局結(jié)束。然后,對(duì)于頁(yè)面上的全部容器的集合,實(shí)施步驟0902~步驟0904,計(jì)算頁(yè)面全體的布局(步驟0905)。
(布局的例子)圖10A~圖10C是布局計(jì)算時(shí)的UI顯示例子。當(dāng)然打印例子也是同樣的。圖10A表示在模板數(shù)據(jù)中初始定義的容器集合。在圖10中,在模板中包含錨點(diǎn)1001和1002、固定的邊1003和1004、可變的邊1005、表示可變的邊的變化方向的箭頭1006、鏈接1008。在該狀態(tài)下,選擇記錄,從記錄把不同尺寸的內(nèi)容插入各容器中。圖10B表示在圖10A的狀態(tài)下重疊顯示新的內(nèi)容的尺寸。雙點(diǎn)劃線的矩形1009表示插入各容器中的內(nèi)容的尺寸。然后進(jìn)行布局的計(jì)算。圖10C表示進(jìn)行布局計(jì)算的結(jié)果。進(jìn)行計(jì)算,使得計(jì)算后的各容器的尺寸與插入各容器的內(nèi)容的尺寸的差變?yōu)橄嗟?,確定可變的邊的位置。即確定布置填充內(nèi)容的框。而且,不違反上述規(guī)則地計(jì)算該布置。如圖10C所示,對(duì)于圖10B所示的各容器,插入的內(nèi)容尺寸1009和計(jì)算后的內(nèi)容尺寸1010(即計(jì)算后的容器尺寸)的差相等。
<多記錄(多數(shù)據(jù))功能>
對(duì)于多記錄,說明概略的內(nèi)容。在通常的文檔模板中,1記錄與1文檔對(duì)應(yīng),但是,與子模板對(duì)應(yīng)的多記錄是成為基準(zhǔn)的項(xiàng)目變化的中斷發(fā)生之前的記錄,所以在1文檔內(nèi)插入多個(gè)記錄。因此,希望作成與通常的文檔模板所對(duì)應(yīng)的可變數(shù)據(jù)的數(shù)據(jù)庫(kù)、與子模板對(duì)應(yīng)的可變數(shù)據(jù)的多記錄的數(shù)據(jù)庫(kù)不同的數(shù)據(jù)庫(kù)。
圖12是表示多記錄及其布局方法的概要的圖。數(shù)據(jù)庫(kù)1204包含文檔1201、頁(yè)面1202、子模板1203、數(shù)據(jù)庫(kù)1204。在圖12中,在數(shù)據(jù)庫(kù)1204中包含記錄1~7。在把1記錄布置在1文檔中的通常的可變打印中,因?yàn)榇嬖?個(gè)記錄,所以這時(shí)生成7個(gè)文檔。
但是,支持在1文檔中布置多記錄的多記錄功能的本發(fā)明的可變打印,進(jìn)行如下的處理。首先用戶指定用于指定多記錄的基準(zhǔn)項(xiàng)目的列(字段)。把該指定的列稱作主列。有時(shí)也把主列稱作多數(shù)據(jù)條件。在本例子中,把字段名Name指定為主列。這樣,其指定的字段值相同的記錄組變?yōu)椴贾迷?文檔中的記錄組。在該例子中,記錄1~4是主列即Name的值為相同的“Tom”,因此布置在一個(gè)文檔中。記錄5~7是Name字段的值為相同的“Nancy”,所以發(fā)生中斷,布局到另一個(gè)文檔中(參照?qǐng)D12)。當(dāng)然,指定了多記錄的字段值不同的記錄布置在不同的文檔中。圖12的文檔的頁(yè)面1202之所以作為各自不同的布局生成是因?yàn)樵诟魑臋n中多記錄的數(shù)不同。怎樣根據(jù)多記錄的數(shù)來布置子模板,如后上述,根據(jù)流動(dòng)區(qū)域的屬性信息3402的流動(dòng)類型的標(biāo)志,在4個(gè)子模板的情況下,按圖12的上圖所示那樣來進(jìn)行布局,在3個(gè)子模板的情況下,按圖12的下圖所示那樣進(jìn)行布局。
<多記錄的布局處理>
圖13和圖14表示本發(fā)明的多記錄處理的用戶界面和處理步驟。
與圖13的UI圖一起說明圖14的流程的各步驟。首先,通過按下圖13的圖標(biāo)1303,轉(zhuǎn)移至區(qū)域生成模式(步驟1401)。然后,在頁(yè)邊空白的區(qū)域1302內(nèi)通過鼠標(biāo)的拖拽來描畫矩形(步驟1402)。描畫的矩形在區(qū)域生成模式下是流動(dòng)區(qū)域,其尺寸和位置信息存儲(chǔ)為圖34所示的模板數(shù)據(jù)的流動(dòng)區(qū)域的屬性信息3402(步驟1403)。在圖13中,描畫流動(dòng)區(qū)域1306。在模板上除此之外還包含文本容器1304和圖像容器1305。在用戶界面上,通過使流動(dòng)區(qū)域1306的表現(xiàn)和容器的表現(xiàn)不同,能使用戶在視覺上容易識(shí)別。文本容器1304和圖像容器1305從數(shù)據(jù)源讀入可變數(shù)據(jù),作為不同于各記錄的文檔來生成。流動(dòng)區(qū)域1306如后上述,從多記錄的數(shù)據(jù)庫(kù)按照指定的主列來讀入數(shù)據(jù),直到發(fā)生中斷,根據(jù)流動(dòng)類型來確定布局。
接著對(duì)于生成的流動(dòng)區(qū)域1306,由用戶輸入存儲(chǔ)可變數(shù)據(jù)的多記錄的數(shù)據(jù)庫(kù)名、指定為主列的字段名稱等標(biāo)識(shí)符。把輸入的標(biāo)識(shí)符作為主列與該流動(dòng)區(qū)域相關(guān)聯(lián),例如存儲(chǔ)為圖34的多記錄信息3404(步驟1404)。
接著布局編輯應(yīng)用121按照操作者的操作,判斷對(duì)流動(dòng)區(qū)域1306是否進(jìn)行各種設(shè)定(步驟1405)。為了通過屬性的設(shè)定來進(jìn)行各種設(shè)定操作,如果進(jìn)行該操作,例如在流動(dòng)區(qū)域1306上點(diǎn)擊鼠標(biāo)指針等屬性設(shè)定操作,則用戶界面模塊103顯示屬性對(duì)話框(步驟1406)。然后,通過顯示的屬性對(duì)話框保存輸入的設(shè)定(步驟1407)。對(duì)于設(shè)定方法,以后參照?qǐng)D15、圖16詳細(xì)說明。
如果一個(gè)流動(dòng)區(qū)域的生成結(jié)束,布局編輯應(yīng)用121就根據(jù)操作者的輸入判斷是否還指定生成流動(dòng)區(qū)域(步驟1408),如果進(jìn)行生成的指定,就進(jìn)入步驟1401,生成新的流動(dòng)區(qū)域。此外,還設(shè)定屬性。
此外,在步驟1409中,如果判定為輸入預(yù)覽布局的指示,就轉(zhuǎn)移到預(yù)覽模式。然后,布局編輯應(yīng)用121進(jìn)行預(yù)覽計(jì)算(步驟1410)。用與圖9所示的流程相同的步驟執(zhí)行該布局的計(jì)算。即應(yīng)用于選擇適當(dāng)?shù)挠涗浂傻哪0澹@示其結(jié)果。
接著布局編輯應(yīng)用121確認(rèn)所設(shè)定的流動(dòng)區(qū)域是一個(gè)還是多個(gè)(步驟1411)。如果是1個(gè),則布局編輯應(yīng)用121進(jìn)行是一個(gè)流動(dòng)區(qū)域的情況的布局計(jì)算(步驟1412)。對(duì)于該處理,以后參照?qǐng)D19、圖18詳細(xì)說明。如果是多個(gè),就進(jìn)行多個(gè)時(shí)的布局計(jì)算(步驟1413)。對(duì)于該處理,以后參照?qǐng)D22A、圖22B、圖23、圖18詳細(xì)說明。最后顯示布局結(jié)果。(步驟1414)<屬性設(shè)定處理>
圖15表示在圖14的步驟1407中的進(jìn)行流動(dòng)區(qū)域的各種設(shè)定(屬性設(shè)定)的處理流程,圖16A和圖16B表示該設(shè)定對(duì)話框的例子。
參照?qǐng)D16A和圖16B說明圖15的屬性設(shè)定方法。此外,后面描述上述子模板。首先,在圖16A的文本框1602中,通過由用戶指定,顯示在流動(dòng)區(qū)域中使用的子模板(步驟1501)。指定方法可以在文本框中直接指定子模板名,或使用文件打開圖標(biāo)1603,指定子模板名。圖16A的1601表示屬性對(duì)話框,1616表示鼠標(biāo)指針。
接著布局編輯應(yīng)用121判斷是否設(shè)定有條件式(步驟1502),根據(jù)由用戶輸入的條件式,從連接的數(shù)據(jù)庫(kù)抽出布置到流動(dòng)區(qū)域中的數(shù)據(jù)(步驟1503)。區(qū)域1604表示輸入條件式1605的區(qū)域。在文本框1606中輸入連接的數(shù)據(jù)文件的字段名。在列表框1607中輸入計(jì)算條件判定的運(yùn)算符。在列表框1608中輸入條件。對(duì)列表框1609輸入連接條件式之間的運(yùn)算符。對(duì)于列表框1606~1609,不僅可以直接輸入,也可以從列表中選擇。在圖16A的例子中,對(duì)于稱作ProductInfo.stp的數(shù)據(jù)庫(kù),設(shè)定ProductName字段的值是“Camera”,并且Cost字段的值為小于50000的條件。如果設(shè)定條件,就從數(shù)據(jù)庫(kù)抽出數(shù)據(jù),如果抽出數(shù)據(jù),就在命中數(shù)顯示欄1610中顯示抽出的數(shù)。把該條件稱作抽出條件。
接著布局編輯應(yīng)用121判斷是否輸入使子模板插入到區(qū)域內(nèi)的流動(dòng)類型的指定(步驟1504),如果指定,就把指定的流動(dòng)類型作為圖34的屬性信息3402的一部分存儲(chǔ)。在例示欄1611中顯示布局的圖案(流動(dòng)類型),用戶從其中選擇所需的圖案,就能指定流動(dòng)類型。矩形1612表示現(xiàn)在指定的布局圖形。在圖16A中指定Z型。流動(dòng)類型也能設(shè)定為圖16A中表示的Z型、N型、V型、W型以外的類型。通過按下按鈕1613,顯示屬性設(shè)定對(duì)話框1617。然后,能選擇特殊類型的圓形1619、斜型1618等流動(dòng)類型。該流動(dòng)類型并不局限于這里說明的類型,也可以是其他類型。此外,對(duì)于流動(dòng)類型,在默認(rèn)時(shí),成為選擇任意一個(gè)的狀態(tài),所以如果不需要設(shè)定,就可以不進(jìn)行設(shè)定。此外,對(duì)于流動(dòng)類型,根據(jù)布置在流動(dòng)區(qū)域中的子模板的數(shù)量(根據(jù)布局條件,相當(dāng)于符合的數(shù)據(jù)數(shù)),希望選擇不同的流動(dòng)類型。因此,圖16A的選擇布局流動(dòng)類型的例示欄1611也可以按照子模板數(shù)來進(jìn)行選擇。
接著判斷對(duì)設(shè)定的內(nèi)容是否有修改(1506)。當(dāng)由操作者按下“確定”按鈕1615以外的按鈕時(shí),判斷為有修改。當(dāng)有修改時(shí),在步驟1501~1505中執(zhí)行與操作者的操作對(duì)應(yīng)的步驟。當(dāng)沒有修改時(shí)即按下“確定”按鈕1615時(shí),布局編輯應(yīng)用121可靠地保存所指定的各種設(shè)定值(1507)。因此,通過步驟1501以前的操作所指定的值,保存到虛擬的保存區(qū),在步驟1501中,可以采用把這些值復(fù)制到屬性信息3402所對(duì)應(yīng)的項(xiàng)目中的方法等。如果按下取消按鈕1614,則此前指定的各種設(shè)定全部取消,屬性信息3402保持圖15的步驟開始之前的狀態(tài)而不進(jìn)行變化。如果進(jìn)行步驟1507,就關(guān)閉對(duì)話框(步驟1508)。
(子模板)對(duì)于上述子模板,說明概要和布局流程。圖17A、圖17B、圖18表示按照子模板的記錄的布局例子和布局流程。
子模板是在其中布置圖像容器和文本容器、以設(shè)定了在這些容器中分配哪個(gè)數(shù)據(jù)的狀態(tài)來保存的模板。數(shù)據(jù)自身與通常的模板沒有特別的不同,由圖33所示的模板數(shù)據(jù)定義。子模板在一個(gè)文檔中使用多個(gè)相同布局時(shí)或在其它文檔中沿用時(shí)是較方便的。能在布置在子模板內(nèi)的圖像容器和文本容器之間設(shè)定鏈接。因此,根據(jù)布局的數(shù)據(jù),能最佳地改變布局尺寸(位置)。圖17A和圖17B表示使用子模板的記錄的布局例子。1701和1704表示子模板的外框,1702和1705表示圖像容器,1703和1706表示文本容器,1707表示鏈接。圖17A和圖17B是使用彼此相同的子模板的布局例子,但是圖像、文本的尺寸彼此不同,所以布局結(jié)果不同。使用子模板的記錄的布局處理的流程如圖18所示。圖18表示預(yù)覽處理的例子。在打印時(shí),把圖18中的“顯示”變?yōu)椤按蛴 薄?br>
首先,布局編輯應(yīng)用121獲得布局的數(shù)據(jù)(步驟1801)。在預(yù)覽時(shí),操作者可以指定適當(dāng)?shù)挠涗?。在打印時(shí),從對(duì)象的數(shù)據(jù)庫(kù)抽出適合于條件的記錄,獲得作為布局對(duì)象的數(shù)據(jù)。接著布局編輯應(yīng)用121獲得對(duì)各容器進(jìn)行布局的數(shù)據(jù)的尺寸(步驟1802)。然后,布局編輯應(yīng)用121根據(jù)獲得的數(shù)據(jù)尺寸,對(duì)各容器計(jì)算布局(步驟1803)。步驟1803是在圖9中說明的處理,包含最優(yōu)化處理。如果確定最優(yōu)化的布局,布局編輯應(yīng)用121就把布局的數(shù)據(jù)插入到對(duì)該數(shù)據(jù)進(jìn)行最優(yōu)化的容器中,完成文檔(步驟1804)。然后,把完成的文檔作為預(yù)覽圖像來進(jìn)行顯示(步驟1805)。
(流動(dòng)區(qū)域的布局方法(在文檔中存在一個(gè)流動(dòng)區(qū)域的情況))圖19表示流動(dòng)區(qū)域內(nèi)的布局計(jì)算的流程。圖19是設(shè)定一個(gè)流動(dòng)區(qū)域時(shí)的步驟。首先,布局編輯應(yīng)用121打開與流動(dòng)區(qū)域關(guān)聯(lián)的數(shù)據(jù)庫(kù)(步驟1901)。然后,把嘗試在流動(dòng)區(qū)域中布局的記錄數(shù)代入到設(shè)置在存儲(chǔ)器的變量n中(步驟1902)。該變量n是用于指定想粘貼流動(dòng)區(qū)域的數(shù)的值,也能從圖16A和圖16B的用戶界面畫面輸入。當(dāng)n為0即嘗試布局的記錄數(shù)為0時(shí),不需要進(jìn)行布局的處理,所以不進(jìn)行處理就結(jié)束(步驟1903)。
接著在用于表示已經(jīng)嘗試布局(也包含正在嘗試)的記錄數(shù)的變量k中代入1(步驟1904)。此外,在用于計(jì)算對(duì)流動(dòng)區(qū)域進(jìn)行布局的子模板數(shù)的變量Num中代入0(1905)。
然后,從數(shù)據(jù)庫(kù)獲得第k個(gè)記錄的數(shù)據(jù)(步驟1906)。這時(shí),如果從數(shù)據(jù)庫(kù)收到表示沒有相應(yīng)的數(shù)據(jù)的響應(yīng),就進(jìn)入到步驟1913。
接著布局編輯應(yīng)用121在布局的流動(dòng)區(qū)域中,通過上述屬性設(shè)定,確認(rèn)是否設(shè)定條件式(步驟1907)。對(duì)于多記錄,如上所述,把滿足一定條件的記錄插入一個(gè)流動(dòng)區(qū)域中。該滿足一定條件(條件式)的記錄相當(dāng)于與該流動(dòng)區(qū)域關(guān)聯(lián)的數(shù)據(jù)。因此,當(dāng)設(shè)定條件式時(shí),判定步驟1906中獲得的數(shù)據(jù)是否滿足設(shè)定的條件式(步驟1908)。然后,當(dāng)對(duì)流動(dòng)區(qū)域未設(shè)定條件式時(shí),或在步驟1908中判斷為滿足條件式時(shí),布局編輯應(yīng)用121對(duì)于獲得的第k個(gè)記錄,按照與流動(dòng)區(qū)域關(guān)聯(lián)的子模板進(jìn)行布局(步驟1909)。如果能用與流動(dòng)區(qū)域關(guān)聯(lián)的條件式檢索數(shù)據(jù)庫(kù),則在步驟1906中,用該條件式抽出記錄。這時(shí),由該條件式抽出的記錄一定滿足與流動(dòng)區(qū)域關(guān)聯(lián)的條件。此外,如果可設(shè)定用于篩選適合于該條件式的條件,就在步驟1906中用該條件抽出記錄。這時(shí),步驟1908的判斷是不可缺少的。在無法用條件檢索數(shù)據(jù)庫(kù)的結(jié)構(gòu)的情況下,在步驟1906中依次獲得記錄。
對(duì)于按照子模板的布局步驟,如圖18所述。如果按照子模板布局記錄,就增加變量Num(步驟1910)。然后,為了對(duì)下一數(shù)據(jù)進(jìn)行處理,把變量k加1(步驟1911)。此外,當(dāng)在步驟1908中判斷為不符合條件式的數(shù)據(jù)時(shí),對(duì)該數(shù)據(jù)不進(jìn)行布局處理,就進(jìn)入步驟1911,獲得下一記錄。
接著比較記錄數(shù)n和變量k(步驟1912)。如果變量k小于記錄數(shù)n,就進(jìn)入步驟1906,對(duì)于第k個(gè)數(shù)據(jù),反復(fù)進(jìn)行處理。如果變量k大于等于n,就結(jié)束使用子模板的記錄的布局,進(jìn)入把按照子模板布局的記錄(它相當(dāng)于上述布局結(jié)束的內(nèi)容)布置到流動(dòng)區(qū)域中的處理。
首先,布局編輯應(yīng)用121從圖34的屬性信息3402獲得流動(dòng)區(qū)域的尺寸(步驟1913)。然后,布局編輯應(yīng)用121從圖33的尺寸信息3302獲得布局的子模板的尺寸(步驟1914)。然后計(jì)算布置在流動(dòng)區(qū)域內(nèi)的布局完畢內(nèi)容的尺寸(步驟1915)。在本實(shí)施例中,在步驟S1909的布局處理中,子模板的外框尺寸不根據(jù)子模板內(nèi)的容器尺寸變更。因此,布局完畢內(nèi)容的外框尺寸保持子模板的外框尺寸。在步驟S1915中,按照布置在流動(dòng)區(qū)域中的布局完畢內(nèi)容的數(shù)目來放大縮小布局完畢內(nèi)容外框的尺寸。由變量Num指定布置在流動(dòng)區(qū)域中的布局完畢內(nèi)容的數(shù)。對(duì)于各內(nèi)容,以相同的比例執(zhí)行放大縮小。然后,在步驟1916中,把在步驟S1915中放大縮小(改變倍數(shù))的內(nèi)容布置到流動(dòng)區(qū)域中,生成輸出的圖像。在進(jìn)行打印的情況下也是同樣的。
圖20A和圖20B表示把通過子模板而布局完畢的內(nèi)容布置到流動(dòng)區(qū)域內(nèi)的例子。在圖中表示頁(yè)邊空白2001、固定的容器2002和2003、流動(dòng)區(qū)域2004、子模板2005和2006。在圖20A中,在流動(dòng)區(qū)域2004內(nèi)布置4個(gè)布局完畢內(nèi)容,計(jì)算各布局完畢內(nèi)容的尺寸,使得恰當(dāng)?shù)夭贾玫搅鲃?dòng)區(qū)域中。進(jìn)行計(jì)算,使得布局完畢內(nèi)容的各個(gè)尺寸全部變?yōu)橄嗤?。圖20B表示在流動(dòng)區(qū)域中布置5個(gè)布局完畢內(nèi)容的例子。
最后,布局編輯應(yīng)用121顯示布局結(jié)果來結(jié)束處理(步驟1916)。這樣,無論布置幾個(gè)布局完畢內(nèi)容,流動(dòng)區(qū)域的尺寸都是固定的。通過這樣在流動(dòng)區(qū)域中布置內(nèi)容,能避免根據(jù)布置的內(nèi)容數(shù)來使文檔數(shù)(頁(yè)面數(shù))變化的問題。這在文檔數(shù)固定的“明信片”和“直接郵件”等中特別有效。
在本實(shí)施例中,確定嘗試布局的記錄數(shù)(變量n),把它作為布局處理的結(jié)束條件,但是也能把變量Num達(dá)到指定數(shù)作為結(jié)束條件。這樣,還產(chǎn)生未完全布局的記錄,但是,能限制插入到流動(dòng)區(qū)域中的子模板數(shù)。
此外,也可以不預(yù)先確定嘗試布局的記錄數(shù),將從數(shù)據(jù)庫(kù)取完符合該條件的記錄作為結(jié)束。
(流動(dòng)區(qū)域的布局方法(在文檔中存在多個(gè)流動(dòng)區(qū)域時(shí)))下面說明在文檔中設(shè)定多個(gè)流動(dòng)區(qū)域時(shí)的布局處理的流程。圖21A、圖21B是表示在布局時(shí),從數(shù)據(jù)庫(kù)抽出數(shù)據(jù),布置到多個(gè)區(qū)域中的例子,圖22A、圖22B表示對(duì)于多個(gè)流動(dòng)區(qū)域的布局處理的流程,圖23表示各流動(dòng)區(qū)域中的內(nèi)容的尺寸調(diào)整處理的流程。
在圖21A、圖21B中,數(shù)據(jù)列表2101表示數(shù)據(jù)庫(kù)的數(shù)據(jù)列表的一部分。在圖21A、圖21B的例子中,把Name字段設(shè)定為主列,所以把Name字段的值相同的記錄布置到1文檔中。因此,No1~6的記錄2102是Name字段值為“Tom”,所以布置到1文檔中。再生成具有用于插入數(shù)據(jù)字段的ProductName字段和Description字段和Image1字段的容器的子模板,使該子模板關(guān)聯(lián)流動(dòng)區(qū)域2106、2107。
此外,對(duì)于流動(dòng)區(qū)域2106,設(shè)定Category=Camera的條件,對(duì)于流動(dòng)區(qū)域2107,設(shè)定Category=Printer的條件。因此,如2108、2109所示,把由子模板布置的布局完畢內(nèi)容布置到與條件式對(duì)應(yīng)的流動(dòng)區(qū)域中。Category字段為“Camera”的記錄(No1、2、5)布置到流動(dòng)區(qū)域2106中,Category字段為“Printer”的記錄(No3、4、6)布置到流動(dòng)區(qū)域2107中。這是使用設(shè)定多個(gè)流動(dòng)區(qū)域的模板時(shí)的布局處理的概要。在圖22A、圖22B、圖23中表示處理的流程。
說明圖22A、圖22B的各個(gè)步驟。首先,布局編輯應(yīng)用121獲得嘗試布局的數(shù)據(jù)(記錄)的數(shù)(步驟2201)。當(dāng)數(shù)據(jù)庫(kù)是順序文件等無法進(jìn)行條件檢索的數(shù)據(jù)庫(kù)時(shí),從數(shù)據(jù)庫(kù)獲得記錄數(shù)。此外,在直接郵件等中,也可以將以一定條件限制的全部記錄作為對(duì)象,把該數(shù)作為數(shù)據(jù)的數(shù)目來獲得。這對(duì)于圖19的步驟1902也是同樣的。在圖21A、圖21B中,記錄是No1~7,所以獲得7。把獲得的數(shù)代入變量n中(步驟2202)。
接著檢查n的值,如果為0,則應(yīng)該布局的數(shù)據(jù)不存在,所以該處理結(jié)束(步驟2203)。如果n的值不是0,就把1代入到變量k(步驟2204)。變量k是表示現(xiàn)在處理第幾個(gè)數(shù)據(jù)的變量。然后獲得設(shè)定的流動(dòng)區(qū)域數(shù)(步驟2205)。計(jì)算在使用的模板的圖34的模板數(shù)據(jù)中包含流動(dòng)區(qū)域信息3401的數(shù),獲得該數(shù)。把獲得的流動(dòng)區(qū)域數(shù)代入到變量AreaNum中(步驟2206)。
接著把1到代入變量a(步驟2207)。該變量a是表示現(xiàn)在正在進(jìn)行第幾個(gè)流動(dòng)區(qū)域的處理的變量。把變量a所表示的流動(dòng)區(qū)域稱作流動(dòng)區(qū)域a。接著獲得流動(dòng)區(qū)域的尺寸和設(shè)定的條件,分別保存到構(gòu)造體(記錄型數(shù)據(jù))的數(shù)組AreaInfo[1··AreaNum]中。數(shù)組AreaInfo[1··N]的各數(shù)組成分即構(gòu)造體具有Size和Condition這2個(gè)字段。這些字段分別表示為AreaInfo[].Size和AreaInfo[].Condition。然后把流動(dòng)區(qū)域a的尺寸和設(shè)定的條件分別代入到AreaInfo[].Size和AreaInfo[].Condition中(步驟2208)。希望按照AreaNum的數(shù),在存儲(chǔ)器上動(dòng)態(tài)地確保數(shù)組AreaInfo[1··AreaNum]。
把0代入到Num[a]中(步驟2209)。在Num[a]中帶入布置到流動(dòng)區(qū)域a中的內(nèi)容的數(shù)。接著把變量加1(步驟2210)。然后,確認(rèn)變量AreaNum的值是否小于等于0,即確認(rèn)對(duì)于設(shè)定的全部區(qū)域是否進(jìn)行了處理(步驟2211)。如果處理未結(jié)束,就反復(fù)進(jìn)行步驟2208~2210。如果對(duì)于全部區(qū)域,處理結(jié)束,就檢查第k個(gè)紀(jì)錄(步驟2212)。
然后,把1代入到變量a’中(步驟2213)。a’是為了對(duì)多個(gè)區(qū)域進(jìn)行條件式的比較、布局的處理而使用的變量。接著,判定第k個(gè)記錄是否滿足代入到AreaInfo[].Condition中的條件(步驟2214、2215)。然后,如果滿足條件,就按照與流動(dòng)區(qū)域a’關(guān)聯(lián)的子模板,對(duì)第k個(gè)記錄進(jìn)行布局(步驟2216)。然后,把布置到該流動(dòng)區(qū)域a’中的內(nèi)容的數(shù)Num[a’]加1(步驟2217)。
當(dāng)在步驟2215中判定為不滿足條件式時(shí),對(duì)于下一流動(dòng)區(qū)域,為了進(jìn)行處理,把a(bǔ)’的值增加1(步驟2218)。然后,把變量a’的值與流動(dòng)區(qū)域數(shù)AreaNum比較,如果a’小,就對(duì)該流動(dòng)區(qū)域a’反復(fù)進(jìn)行處理(步驟2219)。如果a’大,就將其作為不滿足條件,對(duì)模板中設(shè)定的全部流動(dòng)區(qū)域進(jìn)行步驟2220的處理。把第k個(gè)記錄布置到模板中設(shè)置的任意流動(dòng)區(qū)域中,或者在對(duì)全部區(qū)域進(jìn)行了嘗試,可是不適合于任何流動(dòng)區(qū)域的條件的情況下,把變量k增加1(步驟2220),與嘗試布局的記錄數(shù)比較(2221)。如果對(duì)于成為對(duì)象的記錄全體,嘗試未結(jié)束,就對(duì)于下一記錄,反復(fù)進(jìn)行從步驟2212開始的處理。如果對(duì)于全部記錄已經(jīng)結(jié)束,就進(jìn)行各流動(dòng)區(qū)域內(nèi)的內(nèi)容的尺寸調(diào)整(流動(dòng)區(qū)域的最優(yōu)化)處理(步驟2222)來結(jié)束處理。在圖23中說明步驟2222的處理。
(流動(dòng)區(qū)域的最優(yōu)化)圖23是對(duì)于多個(gè)流動(dòng)區(qū)域的布局處理的流程。對(duì)各步驟加以說明。首先,把區(qū)域的數(shù)代入到AreaNum中(步驟2301)。然后,把1代入到a中(2302)。該變量a是表示現(xiàn)在正在對(duì)哪個(gè)流動(dòng)區(qū)域進(jìn)行處理的變量。接著從存儲(chǔ)器上的構(gòu)造體數(shù)組AreaInfo[1··AreaNum]獲得AreaInfo[].Size(流動(dòng)區(qū)域a的尺寸)和Num[a](布置到流動(dòng)區(qū)域a中的內(nèi)容數(shù))(步驟2303)。然后,獲得對(duì)流動(dòng)區(qū)域a指定的(布置)子模板的默認(rèn)尺寸(步驟2304)。然后,布局編輯應(yīng)用121從獲得的流動(dòng)區(qū)域a的尺寸AreaInfo[].Size、布置在那里的內(nèi)容數(shù)Num[a]、與流動(dòng)區(qū)域a關(guān)聯(lián)的模板的默認(rèn)尺寸,計(jì)算布置到流動(dòng)區(qū)域a中的內(nèi)容的尺寸(步驟2305)。該計(jì)算方法與圖20A、圖20B中說明的方法相同。如果計(jì)算結(jié)束,就把變量a增加1(步驟2306)。比較變量a和變量AreaNum,確認(rèn)對(duì)于全部區(qū)域,計(jì)算是否結(jié)束(步驟2307),如果未結(jié)束,就反復(fù)進(jìn)行從步驟2303開始的處理。如果對(duì)于全部區(qū)域,子模板的布局結(jié)束,就把在步驟2305中放大縮小(改變倍數(shù))的內(nèi)容布置到對(duì)應(yīng)的流動(dòng)區(qū)域中,生成輸出的圖像。然后顯示布局結(jié)果,結(jié)束處理(2308)。
(布局規(guī)則的設(shè)定)圖24、圖25表示流動(dòng)區(qū)域中的布局規(guī)則的設(shè)定UI和流程。說明流程的各步驟。圖24、圖25的處理步驟通過對(duì)生成的模板的流動(dòng)區(qū)域進(jìn)行,可以進(jìn)行已經(jīng)存在的流動(dòng)區(qū)域的設(shè)定變更。
首先,在圖24的文本框2402中指定布局完畢內(nèi)容的顯示方法(步驟2501)。指定的顯示方法有均等比例、右對(duì)齊、左對(duì)齊等。在該例子中,指定均等比例。此外,操作者通過使單選按鈕2403為接通,判斷是否指定了布置到流動(dòng)區(qū)域中的布局完畢內(nèi)容的數(shù)(步驟2502)。當(dāng)指定了時(shí),UI變更為包含文本框和旋轉(zhuǎn)按鈕,使得能設(shè)定內(nèi)容的數(shù)(也稱作布局?jǐn)?shù))。操作者如果在文本框2404中指定布局?jǐn)?shù)的最大值和最小值,就把該值作為布局?jǐn)?shù)保存(步驟2503)。此外,也可以不向文本框直接輸入,而是用旋轉(zhuǎn)按鈕2405設(shè)定。當(dāng)單選按鈕2403為關(guān)閉時(shí),文本框2404和旋轉(zhuǎn)按鈕2405變?yōu)榛疑荒鼙贿x擇。
接著判斷是否指定了布局圖形(步驟2504)。通過單選按鈕2406變?yōu)榻油ǎ袛酁橹付瞬季謭D形的變更,用戶界面變更為能指定變更后的狀態(tài)。區(qū)域2407是用于指定布局圖形的部分,當(dāng)單選按鈕2406關(guān)閉時(shí),就變?yōu)榛疑?。如果單選按鈕2406為接通,則能顯示這里指定布局圖形。然后,把指定的布局圖形作為變更的流動(dòng)區(qū)域的布局圖形保存到圖34的屬性信息3402(步驟2505)中。
這里,通過布置在流動(dòng)區(qū)域中的內(nèi)容的數(shù)、布局的級(jí)數(shù)、每1級(jí)的數(shù),用戶能任意指定所設(shè)定的布局圖形。在框2408中輸入布置到關(guān)注的流動(dòng)區(qū)域中的內(nèi)容的數(shù)。然后,在框2409中輸入在哪級(jí)中布置內(nèi)容。在框2410中輸入級(jí)編號(hào),在框2411中指定在由框2410所示的編號(hào)的級(jí)中布置幾個(gè)內(nèi)容。在該例子中,能指定“級(jí)”,但是對(duì)于“列”,也能同樣指定。此外,也能選擇級(jí)和列的任意一個(gè)來進(jìn)行制定。也能對(duì)雙方進(jìn)行指定。
首先,在指定布置的內(nèi)容的數(shù)時(shí),能以框2408指定的數(shù)限于該范圍內(nèi)的數(shù)。例如,如果把布局的內(nèi)容的數(shù)設(shè)定為2~4,則能指定的個(gè)數(shù)為2、3、4。如果指定此外的值,就變?yōu)槌鲥e(cuò)。然后,對(duì)于級(jí)數(shù)2410,操作者可以指定任意的數(shù)。根據(jù)指定的數(shù),確定顯示在框2411的數(shù)。在框2411中,指定在框2408中所指定的內(nèi)容的個(gè)數(shù)中的幾個(gè)而布置在該級(jí)中,因此,如果布局的數(shù)比框2408中指定的數(shù)大,就變?yōu)槌鲥e(cuò)。例如,當(dāng)在框2408中指定6個(gè),作為級(jí)數(shù),指定為2級(jí)時(shí),在第1級(jí)中布置2個(gè),在第2級(jí)中布置5個(gè)這樣的指定就變?yōu)槌鲥e(cuò)。
在要設(shè)定布局的數(shù)為6個(gè)、5個(gè)、4個(gè)等多個(gè)布局圖形時(shí),操作者按下追加按鈕2413。如果進(jìn)行該操作,則追加新的布局圖形(步驟2506)。滾動(dòng)條2412在指定的圖案增加,在顯示區(qū)域內(nèi)容納不下時(shí)進(jìn)行顯示。最后通過按下確定按鈕2415,確定到此為止所指定的顯示方法和布局圖形,保存到流動(dòng)區(qū)域信息3401的屬性信息3402中(步驟2507)。此外如果按下取消按鈕2414,就取消開始布局規(guī)則的設(shè)定后所指定的顯示方法和布局圖形。
圖26A和圖26B表示設(shè)定布局規(guī)則時(shí)的布局例子,圖26A表示除了左對(duì)齊以外,未設(shè)定布局規(guī)則的流動(dòng)區(qū)域2601的布局例子,在流動(dòng)區(qū)域2601中布置3個(gè)內(nèi)容。這樣,用圖16A、圖16B中指定的布局類型(這里為Z型)對(duì)布局完畢內(nèi)容進(jìn)行布局,變?yōu)閳D26A那樣的布局結(jié)果。
圖26B表示設(shè)定不同于圖26A的布局規(guī)則的流動(dòng)區(qū)域2603的布局例子。這里設(shè)定的布局規(guī)則是均等比例,當(dāng)布局個(gè)數(shù)為3時(shí),為2級(jí),在第1級(jí)布置1個(gè),在第2級(jí)布置2個(gè)內(nèi)容。如果在與圖26A相同的區(qū)域中布置3個(gè)內(nèi)容,則如圖26B所示,在第1級(jí)布置1個(gè),在第2級(jí)布置2個(gè),以均等比例布置。通過這樣設(shè)定布局規(guī)則,用戶可以完成在自動(dòng)插入中無法實(shí)現(xiàn)的自由度較高的布局。
在上述說明中,記載為打印的步驟和預(yù)覽的步驟是相同的,但是在打印時(shí),使用已經(jīng)完成的模板和子模板來布局?jǐn)?shù)據(jù),所以模板和子模板的生成處理在打印時(shí)沒必要進(jìn)行。在打印時(shí),替代模板和子模板的生成,進(jìn)行模板和子模板的指定,按照指定的模板和子模板生成文件并打印。這對(duì)于實(shí)施例2、3也是同樣的。
如上所述,根據(jù)本實(shí)施例的文件處理裝置,能在文檔模板中定義多個(gè)流動(dòng)區(qū)域,能定義插入到各流動(dòng)區(qū)域中的數(shù)據(jù)的條件,因此能根據(jù)該條件控制數(shù)據(jù)的布置。
此外,能對(duì)各流動(dòng)區(qū)域定義各流動(dòng)區(qū)域內(nèi)的零件數(shù)據(jù)(相當(dāng)于在子模板中布置的數(shù)據(jù)庫(kù)的記錄等可變數(shù)據(jù))的布置,因此能對(duì)各流動(dòng)區(qū)域以不同的布局來布置零件數(shù)據(jù)。
此外,能限制可插入到各流動(dòng)區(qū)域中的零件數(shù)據(jù)的數(shù)目,因此,能防止以下的問題,即所插入的數(shù)據(jù)越難以辨認(rèn),就越小地進(jìn)行顯示或打印。
此外,能限制插入到各流動(dòng)區(qū)域中的零件數(shù)據(jù)數(shù),并且用流動(dòng)區(qū)域的尺寸和零件數(shù)據(jù)的數(shù)確定插入到各流動(dòng)區(qū)域中的零件數(shù)據(jù)的尺寸。因此,能按各流動(dòng)區(qū)域進(jìn)行控制,使得使用一個(gè)模板生成的零件數(shù)據(jù)的顯示(打印)尺寸在某流動(dòng)區(qū)域中大,在其它流動(dòng)區(qū)域中小。
通過指定布置數(shù)據(jù)的流動(dòng)區(qū)域,控制布置的流動(dòng)區(qū)域中的零件數(shù)據(jù)的數(shù)和布置方法,能按操作者所希望的那樣對(duì)使用一個(gè)子模板布置的彼此對(duì)等的零件數(shù)據(jù)進(jìn)行布局,可以生成文件。而且能顯示和打印它們。因此,通過直接郵件等,不僅能實(shí)現(xiàn)符合個(gè)人等對(duì)方的信息的提供,而且能用反映適合對(duì)方的信息的重要度的布局、例如把重要的信息布置在容易吸引注意的開始部分的布局等來生成文件。
本發(fā)明的實(shí)施例2,是包含在流動(dòng)區(qū)域內(nèi)把布局完畢內(nèi)容布置,當(dāng)溢出到流動(dòng)區(qū)域外時(shí),向其它流動(dòng)區(qū)域布置布局完畢內(nèi)容的方法的計(jì)算機(jī)程序、文書處理裝置、自動(dòng)布局系統(tǒng)。本實(shí)施例是在圖34的模板數(shù)據(jù)3401中又包含定義流動(dòng)區(qū)域之間的鏈接(區(qū)域鏈接)的區(qū)域鏈接信息;將被鏈接的流動(dòng)區(qū)域的處理步驟,附加到對(duì)具有多個(gè)流動(dòng)區(qū)域的模板布置數(shù)據(jù)的處理中。流動(dòng)區(qū)域之間的區(qū)域鏈接不象容器之間的鏈接那樣是用于把距離保持固定的信息,是用于指定插入溢出的內(nèi)容的目標(biāo)的信息。
<流動(dòng)區(qū)域的鏈接>
圖27、圖28表示對(duì)于流動(dòng)區(qū)域的鏈接的UI圖和設(shè)定處理的流程。流動(dòng)區(qū)域的鏈接意味著在生成多個(gè)上述流動(dòng)區(qū)域的狀態(tài)下,可以在2個(gè)區(qū)域之間設(shè)定關(guān)聯(lián)。這里的關(guān)聯(lián)意味著把溢出關(guān)聯(lián)的第1個(gè)區(qū)域的子模板布置到另一個(gè)區(qū)域中。下面,對(duì)區(qū)域鏈接的設(shè)定流程的各步驟進(jìn)行說明。
首先,轉(zhuǎn)移到區(qū)域鏈接模式(步驟2801)。操作者通過用鼠標(biāo)指針2709按下圖27的工具按鈕2708來進(jìn)行指示,按照該指示來進(jìn)行布局。接著如果用鼠標(biāo)指針選擇在關(guān)注的模板中包含的第1流動(dòng)區(qū)域,就把該第1流動(dòng)區(qū)域設(shè)定為設(shè)定區(qū)域鏈接的母流動(dòng)區(qū)域,暫時(shí)保存表示該意思的信息(步驟2802)。
接著,如果用鼠標(biāo)指針選擇在關(guān)注的模板中包含的第2流動(dòng)區(qū)域,就把該第2流動(dòng)區(qū)域設(shè)定為設(shè)定區(qū)域鏈接的子流動(dòng)區(qū)域,并暫時(shí)保存(步驟2803)。在步驟2802和步驟2803中指定的第1和第2流動(dòng)區(qū)域必須是同一流動(dòng)區(qū)域。然后,判斷在指定的2個(gè)流動(dòng)區(qū)域之間是否設(shè)定鏈接(步驟2804)。該判斷根據(jù)操作者的輸入進(jìn)行。如果判斷為設(shè)定區(qū)域鏈接,接著就判斷母流動(dòng)區(qū)域的設(shè)定是否由子流動(dòng)區(qū)域繼承(步驟2805)。這也根據(jù)操作者的輸入來進(jìn)行判斷。鏈接的2個(gè)流動(dòng)區(qū)域作為被分割為2個(gè)但實(shí)質(zhì)為一個(gè)的流動(dòng)區(qū)域而發(fā)揮功能,因此各種設(shè)定(在圖15和圖25的步驟中進(jìn)行設(shè)定的設(shè)定等)必須是共用的。因此,子流動(dòng)區(qū)域承繼母流動(dòng)區(qū)域的設(shè)定。如果不承繼設(shè)定,就返回到步驟2802,再次進(jìn)行設(shè)定,或結(jié)束鏈接的設(shè)定(步驟2806)。
如果由操作者輸入確認(rèn)由子流動(dòng)區(qū)域承繼母流動(dòng)區(qū)域的設(shè)定的信息,就在母流動(dòng)區(qū)域和子流動(dòng)區(qū)域之間設(shè)定區(qū)域鏈接(步驟2807)。在數(shù)據(jù)上,例如在模板數(shù)據(jù)3401中附加表示第1流動(dòng)區(qū)域?yàn)槟噶鲃?dòng)區(qū)域,第2流動(dòng)區(qū)域?yàn)樽恿鲃?dòng)區(qū)域的流動(dòng)區(qū)域信息。
同時(shí),為了對(duì)用戶顯示流動(dòng)區(qū)域的鏈接狀態(tài)和母子關(guān)系,顯示圖27的箭頭2707。這里,流動(dòng)區(qū)域2705表示母流動(dòng)區(qū)域,流動(dòng)區(qū)域2706表示子流動(dòng)區(qū)域。
<鏈接的流動(dòng)區(qū)域的布局>
說明以圖28的步驟設(shè)定鏈接的流動(dòng)區(qū)域中的內(nèi)容的布局。圖29、圖30表示布局例子和流程。說明圖30流程的各步驟。該流程與實(shí)施例1中說明的圖19的布局流程的步驟1913以后的步驟對(duì)應(yīng),當(dāng)對(duì)流動(dòng)區(qū)域設(shè)定區(qū)域鏈接時(shí),代替圖19的步驟1913以下的步驟,進(jìn)行圖30的處理。即在本實(shí)施例中,在圖19的步驟1912和步驟1913之間判定對(duì)使用的模板所包含的流動(dòng)區(qū)域是否設(shè)定區(qū)域鏈接,如果設(shè)定區(qū)域鏈接,就進(jìn)入到圖30的步驟3001。此外,在圖14的步驟411的判定中,把設(shè)定區(qū)域鏈接的流動(dòng)區(qū)域視為一個(gè)流動(dòng)區(qū)域。在圖23步驟2303之前判定對(duì)流動(dòng)區(qū)域a是否設(shè)定有區(qū)域鏈接,如果設(shè)定,就代替步驟2303~2305,執(zhí)行圖30的步驟3001~3005。然后在此后圖23的處理中,該母流動(dòng)區(qū)域和子流動(dòng)區(qū)域都作為處理完畢對(duì)待。
在圖30中,首先,獲得母流動(dòng)區(qū)域的尺寸(步驟3001)。然后獲得布局的內(nèi)容(即與流動(dòng)區(qū)域關(guān)聯(lián)的子模板的尺寸)(步驟3002)。然后,當(dāng)把該子模板尺寸的內(nèi)容只按照變量Num的值(布置在流動(dòng)區(qū)域內(nèi)的內(nèi)容的數(shù))布置在母流動(dòng)區(qū)域內(nèi)時(shí),判斷是否發(fā)生溢出(步驟3003)。即判斷在流動(dòng)區(qū)域內(nèi)無間隙地排列內(nèi)容,是否能容納Num的內(nèi)容。例如能從子模板的縱橫尺寸和流動(dòng)區(qū)域的縱橫尺寸,對(duì)于縱橫各方向求出能布置子模板的最大數(shù),通過乘以該數(shù),能求出可以布置的子模板的最大數(shù)。在該值和變量Num的比較中,步驟3003可以判斷。
如果發(fā)生溢出,就獲得子流動(dòng)區(qū)域的尺寸(步驟3004)。然后,包含主流動(dòng)區(qū)域和子流動(dòng)區(qū)域的尺寸,計(jì)算子模板的布局尺寸(步驟3005)??墒?,母流動(dòng)區(qū)域和子流動(dòng)區(qū)域是不同的區(qū),所以無法簡(jiǎn)單地把面積相加。首先,判定在母流動(dòng)區(qū)域中容納不下的數(shù)的內(nèi)容若不縮小是否可容納在子流動(dòng)區(qū)域中。如果容納,則縮小率為1。從而,布局的內(nèi)容的尺寸是子模板的尺寸。
另一方面,如果不容納,就用相同的縮小比率縮小全部?jī)?nèi)容。這時(shí)的計(jì)算方法與圖19的流程中說明的方法在原則上相同,但是確定縮小比率,使得收容在母子流動(dòng)區(qū)域中的內(nèi)容數(shù)大于等于Num的最低的數(shù)。因此,考慮到嘗試確定縮小比率的方法,即求出收容在流動(dòng)區(qū)域中的內(nèi)容數(shù)增加的最大的縮小比率,用該縮小比率把內(nèi)容縮小,仍無法容納Num個(gè)內(nèi)容時(shí),求出收容在流動(dòng)區(qū)域中的內(nèi)容數(shù)增加的下一個(gè)較大的縮小比率。
計(jì)算后,用確定的縮小比率把各內(nèi)容改變倍數(shù),首先,布局到母流動(dòng)區(qū)域中但無法完全布局的內(nèi)容,以確定的縮小比率改變倍數(shù),布置到子流動(dòng)區(qū)域中。最后顯示布局結(jié)果來結(jié)束(步驟3006)。
圖29表示在鏈接的流動(dòng)區(qū)域內(nèi)布置內(nèi)容的例子。流動(dòng)區(qū)域2901、2902由區(qū)域鏈接2902鏈接。在母流動(dòng)區(qū)域中布置內(nèi)容2904,在子流動(dòng)區(qū)域中布置內(nèi)容2905。如圖29所示,在流動(dòng)區(qū)域2901中布置4個(gè)內(nèi)容,但是在第4個(gè)內(nèi)容中發(fā)生溢出。當(dāng)沒有區(qū)域鏈接的設(shè)定時(shí),在區(qū)域內(nèi)布置4個(gè)子模板,所以必須縮小一個(gè)個(gè)內(nèi)容??墒?,通過進(jìn)行鏈接的設(shè)定,在流動(dòng)區(qū)域2902中也能布置子模板,所以能把溢出的內(nèi)容布置到此處。
這樣不用縮小到由子模板定義的小于等于尺寸的尺寸,就能布置內(nèi)容。此外,即使在縮小的情況下,與沒有區(qū)域鏈接的情況相比,也能減小縮小比例。
此外,通過用區(qū)域鏈接結(jié)合矩形的流動(dòng)區(qū)域,來提高流動(dòng)區(qū)域的形狀的自由度。
在本實(shí)施例中,說明由區(qū)域鏈接關(guān)聯(lián)的區(qū)域是2個(gè)流動(dòng)區(qū)域,但是通過設(shè)定區(qū)域鏈接的連鎖,對(duì)于大于等于3個(gè)的多個(gè)流動(dòng)區(qū)域,也能視為與一個(gè)流動(dòng)區(qū)域相同。
本發(fā)明的實(shí)施例3說明把實(shí)施例1中布置在流動(dòng)區(qū)域中的記錄按照存儲(chǔ)在數(shù)據(jù)庫(kù)中的順序取出來進(jìn)行布局的例子。在本實(shí)施例中,說明可以由用戶進(jìn)行數(shù)據(jù)庫(kù)的排序的自動(dòng)布局系統(tǒng)。
在進(jìn)行數(shù)據(jù)的排序的處理以外,進(jìn)行與實(shí)施例1相同的處理,因此,對(duì)其省略說明。
圖31和圖32表示數(shù)據(jù)的排序的流程和對(duì)話框的例子。說明流程的各步驟。首先,顯示數(shù)據(jù)排序?qū)υ捒?步驟3101)。然后,在圖32所示的對(duì)話框中進(jìn)行數(shù)據(jù)的排序。
在圖32中,3201表示對(duì)話框,3202表示連接的數(shù)據(jù)文件名,3203表示數(shù)據(jù)文件的數(shù)據(jù)數(shù),3204表示指定以哪個(gè)順序排序的單選按鈕,3205表示輸入把數(shù)據(jù)排序的條件的列表框,3206表示顯示排序結(jié)果的顯示區(qū),3207表示滾動(dòng)條,3208表示取消按鈕,3209表示確定按鈕。在該對(duì)話框中設(shè)定的是排序的順序和排序的條件。
接著設(shè)定輸入的排序條件(3102),把數(shù)據(jù)庫(kù)排序(步驟3103)。然后顯示排序的結(jié)果(3104)。在該圖的例子中,對(duì)于指定的排序鍵價(jià)格,按升序排列,顯示結(jié)果。用戶確認(rèn)結(jié)果后,如果指示再檢索,就回到步驟3102,反復(fù)進(jìn)行處理。如果檢索結(jié)束,用戶就按下確定按鈕。這時(shí),把排序的數(shù)據(jù)庫(kù)保存來結(jié)束。如果用戶按下取消按鈕,就不反映結(jié)果來結(jié)束(步驟3105)。通過把數(shù)據(jù)排序,在符合布局的條件的數(shù)據(jù)中,用戶就能選擇想優(yōu)先插入?yún)^(qū)域內(nèi)的商品。
圖31的處理由用戶界面的顯示和操作圖1A的計(jì)算機(jī)101執(zhí)行,排序處理自身由數(shù)據(jù)庫(kù)服務(wù)器117執(zhí)行。
這樣,可以按照將指定的字段作為關(guān)鍵字來排序的順序,把記錄布置到文檔上。
圖35表示總括本發(fā)明的文件處理裝置的主要結(jié)構(gòu)元件的功能框圖。該框圖是在上述實(shí)施例中所述的、由計(jì)算機(jī)執(zhí)行的步驟功能框圖。
圖35所示的按照要布局的數(shù)據(jù)動(dòng)態(tài)地變更布局的文件處理裝置包括按照具有用于布置數(shù)據(jù)的區(qū)域、布置在該區(qū)域中的數(shù)據(jù)的布置條件的模板3501a,生成把應(yīng)該布局的數(shù)據(jù)中的滿足上述布置條件的數(shù)據(jù)布置到指定該布置條件的區(qū)域中的文書3501c的布置部件3502。
或者,按照應(yīng)該布局的數(shù)據(jù)動(dòng)態(tài)地變更布局的文書處理裝置包括生成具有用于布置數(shù)據(jù)的區(qū)域、布置在該區(qū)域中的數(shù)據(jù)的抽出條件的模板3501a的模板生成裝置3501;按照模板3501a,生成要布局的數(shù)據(jù)中的、將滿足上述抽出條件的數(shù)據(jù)布置到指定該抽出條件的區(qū)域中的文件的布置裝置3501。
此外,布置部件3502按照另外定義的子模板3501b把從數(shù)據(jù)源獲得的數(shù)據(jù)布局,生成上述要布局的數(shù)據(jù),按照上述模板布置生成的數(shù)據(jù)。
子模板3501a具有布置在單一文件上的數(shù)據(jù)的條件、即多數(shù)據(jù)條件,上述布置裝置3502把滿足上述多數(shù)據(jù)條件的數(shù)據(jù)布置在單一文件中。
布置裝置3502當(dāng)布置在上述區(qū)域中的數(shù)據(jù)不能容納在該區(qū)域中時(shí),用同樣的縮小比例縮小數(shù)據(jù),布置到上述區(qū)域中。
模板3501a包含多個(gè)上述區(qū)域,對(duì)各區(qū)域能具有不同的抽出條件。
模板3501a包含多個(gè)上述區(qū)域,具有把上述多個(gè)區(qū)域關(guān)聯(lián)的鏈接信息,布置裝置3502當(dāng)布置在上述區(qū)域中的數(shù)據(jù)不能容納在上述多個(gè)區(qū)域中的一個(gè)區(qū)域中時(shí),布置到由上述鏈接信息關(guān)聯(lián)的其它區(qū)域中。
還具有把數(shù)據(jù)源的數(shù)據(jù)以給定關(guān)鍵字排序的排序裝置3505。
模板3501a按每個(gè)上述局域具有要布局的數(shù)據(jù)的布局規(guī)則,布置裝置3502按照布局規(guī)則在上述區(qū)域內(nèi)布置要布局的數(shù)據(jù)。
<其它實(shí)施例>
本發(fā)明可以應(yīng)用于包含單個(gè)裝置的設(shè)備或應(yīng)用于由多個(gè)裝置組成的系統(tǒng)。
而且,可以這樣來實(shí)現(xiàn)本發(fā)明直接或間接地向系統(tǒng)或設(shè)備供給能實(shí)現(xiàn)上述實(shí)施方式的功能的軟件程序,用系統(tǒng)或設(shè)備的計(jì)算機(jī)讀出供給的程序代碼,然后執(zhí)行該程序代碼。在這種情況下,只要該系統(tǒng)或設(shè)備具有該程序的功能,實(shí)現(xiàn)的模式就不必依賴于程序。
因此,由于本發(fā)明的功能由計(jì)算機(jī)實(shí)現(xiàn),安裝在計(jì)算機(jī)中的程序代碼本身也實(shí)現(xiàn)本發(fā)明。換句話說,本發(fā)明的權(quán)利要求也覆蓋以實(shí)現(xiàn)本發(fā)明的功能為目的的計(jì)算機(jī)程序。
在這種情況下,只要該系統(tǒng)或設(shè)備具有該程序的功能,該程序就可以以任何形式執(zhí)行。例如,作為目標(biāo)代碼,是由解釋器執(zhí)行的程序,或是供給到操作系統(tǒng)的腳本(scrip)數(shù)據(jù)。
作為供給程序的存儲(chǔ)介質(zhì),例如,可以是軟盤、硬盤、光盤、光磁盤、CD-ROM、CD-R、CD-RW、磁帶、非易失性存儲(chǔ)卡、ROM、以及DVD(DVD-ROM和DVD-R)。
關(guān)于供給程序的方法,一個(gè)客戶計(jì)算機(jī)可以使用該客戶計(jì)算機(jī)的瀏覽器連接到互聯(lián)網(wǎng)的網(wǎng)站,并且本發(fā)明的計(jì)算機(jī)程序或該程序的可自動(dòng)安裝的壓縮文件可以下載到例如硬盤的記錄介質(zhì)。而且,本發(fā)明的程序可以通過將構(gòu)成該程序的程序代碼劃分為多個(gè)文件并從不同的網(wǎng)站下載該文件來進(jìn)行供給。換句話說,本發(fā)明的權(quán)利要求還覆蓋一個(gè)下載到多個(gè)用戶的WWW(萬維網(wǎng))服務(wù)器,由計(jì)算機(jī)實(shí)現(xiàn)本發(fā)明的功能的程序文件。
而且,也能對(duì)本發(fā)明的程序加密并存儲(chǔ)在存儲(chǔ)介質(zhì)例如CD-ROM上,向用戶分配存儲(chǔ)介質(zhì),允許符合某些要求的用戶經(jīng)互聯(lián)網(wǎng)從網(wǎng)站下載加密的密碼信息,并且允許這些用戶通過使用密碼信息對(duì)程序進(jìn)行解密和重新加密,由此,該程序安裝到用戶的計(jì)算機(jī)中。
此外,除了由計(jì)算機(jī)通過讀入程序來實(shí)現(xiàn)根據(jù)該實(shí)施方式的上述功能的情況之外,還可以運(yùn)行在計(jì)算機(jī)上的操作系統(tǒng)等進(jìn)行全部或部分的實(shí)際處理以便可由該處理實(shí)現(xiàn)上述實(shí)施方式的功能。
此外,在從存儲(chǔ)介質(zhì)中讀出的程序?qū)懭氲讲迦胗?jì)算機(jī)內(nèi)的功能擴(kuò)展板或?qū)懭氲教峁┰谶B接于計(jì)算機(jī)的功能擴(kuò)展單元中的存儲(chǔ)器之后,安裝到功能擴(kuò)展板上的CPU等或功能擴(kuò)展單元,進(jìn)行全部或部分的實(shí)際處理以便可由該處理實(shí)現(xiàn)上述實(shí)施方式的功能。
那些熟知本技術(shù)的人將容易獲得附加的利益和修改。因此,本發(fā)明在其更廣闊的意義上并不局限于這里表示和描述的特殊細(xì)節(jié)和代表性的實(shí)施例。因此,在不脫離附加的權(quán)利要求書和他們的相等物中定義的概括發(fā)明概念的精神或范圍的前提下,能進(jìn)行各種修改。
在不脫離本發(fā)明的精神和范圍的前提下,可進(jìn)行各種變更和變形,因此,可以理解為,本發(fā)明不限于上述具體實(shí)施方式
,而是用下面的權(quán)利要求中來限定。
權(quán)利要求
1.一種能夠按照要進(jìn)行布局的數(shù)據(jù)動(dòng)態(tài)地變更布局的文件處理裝置,包括模板保持單元,保持用于從數(shù)據(jù)庫(kù)抽出要進(jìn)行布局的數(shù)據(jù)并布置的、具有設(shè)定了抽出條件的區(qū)域的模板;取得單元,從上述數(shù)據(jù)庫(kù),取得上述要進(jìn)行布局的數(shù)據(jù),該數(shù)據(jù)滿足對(duì)由上述模板保持單元保持的模板所具有的上述區(qū)域設(shè)定的抽出條件;以及布置單元,將由上述取得單元取得的至少一個(gè)的上述要進(jìn)行布局的數(shù)據(jù)并列布置在上述區(qū)域中。
2.根據(jù)權(quán)利要求1所述的文件處理裝置,其特征在于對(duì)上述區(qū)域,進(jìn)一步設(shè)定用于確定布置上述數(shù)據(jù)的位置的多個(gè)布置條件;還包括選擇指示單元,從上述多個(gè)布置條件選擇用于布置上述要進(jìn)行布局的數(shù)據(jù)的條件;上述布置單元,按照由上述選擇指示單元選擇出的布置條件,將上述數(shù)據(jù)布置在上述區(qū)域中。
3.根據(jù)權(quán)利要求2所述的文件處理裝置,其特征在于,還包括顯示單元,顯示所選擇的布置條件的候補(bǔ);由上述顯示單元顯示的上述布置條件,按照由上述取得單元所取得的數(shù)據(jù)個(gè)數(shù)變更。
4.根據(jù)權(quán)利要求1所述的文件處理裝置,其特征在于,還包括模板生成單元,生成包括上述區(qū)域的模板。
5.根據(jù)權(quán)利要求3所述的文件處理裝置,其特征在于上述區(qū)域具有具備用于插入上述數(shù)據(jù)的局部區(qū)域的子模板,還包括布局調(diào)整單元,在上述子模板中對(duì)插入上述局部區(qū)域中的上述數(shù)據(jù)進(jìn)行布局調(diào)整。
6.根據(jù)權(quán)利要求5所述的文件處理裝置,其特征在于上述布置單元,按照由上述取得單元所取得的數(shù)據(jù)個(gè)數(shù),確定上述子模板的尺寸。
7.根據(jù)權(quán)利要求6所述的文件處理裝置,其特征在于對(duì)上述區(qū)域,進(jìn)一步設(shè)定作為要進(jìn)行布置的數(shù)據(jù)的條件的多數(shù)據(jù)條件;上述布置單元,將滿足上述多數(shù)據(jù)條件的數(shù)據(jù)布置在上述區(qū)域中。
8.根據(jù)權(quán)利要求7所述的文件處理裝置,其特征在于上述布置單元,當(dāng)布置在上述區(qū)域中的數(shù)據(jù)在該區(qū)域中容納不下時(shí),以統(tǒng)一的縮小比例縮小上述數(shù)據(jù),布置在上述區(qū)域中。
9.根據(jù)權(quán)利要求4所述的文件處理裝置,其特征在于上述模板包括多個(gè)上述區(qū)域,可以對(duì)各區(qū)域設(shè)定相異的抽出條件。
10.根據(jù)權(quán)利要求8所述的文件處理裝置,其特征在于上述模板包括多個(gè)上述區(qū)域,進(jìn)一步設(shè)定對(duì)上述多個(gè)區(qū)域建立關(guān)聯(lián)的鏈接信息;上述布置單元,當(dāng)布置在上述區(qū)域中的數(shù)據(jù)在上述多個(gè)區(qū)域中的一個(gè)中容納不下時(shí),布置到由上述鏈接信息建立了關(guān)聯(lián)的其它區(qū)域中。
11.根據(jù)權(quán)利要求7所述的文件處理裝置,其特征在于,還包括排序器,對(duì)上述數(shù)據(jù)庫(kù)的數(shù)據(jù)以給定的鍵進(jìn)行排序。
12.根據(jù)權(quán)利要求5所述的文件處理裝置,其特征在于上述子模板,具有要進(jìn)行布局的數(shù)據(jù)的布局規(guī)則信息;上述布局調(diào)整單元,按照上述布局規(guī)則信息,在上述子模板上對(duì)要進(jìn)行布局的數(shù)據(jù)進(jìn)行布局。
13.根據(jù)權(quán)利要求9所述的文件處理裝置,其特征在于進(jìn)一步對(duì)上述區(qū)域設(shè)定要進(jìn)行布置的數(shù)據(jù)個(gè)數(shù)的上限;當(dāng)上述取得單元取得了上述所設(shè)定的數(shù)據(jù)個(gè)數(shù)的上限以上的數(shù)據(jù)時(shí),上述布置單元,布置上述所設(shè)定的數(shù)據(jù)個(gè)數(shù)的數(shù)據(jù)。
14.一種可以按照要進(jìn)行布局的數(shù)據(jù)動(dòng)態(tài)地變更布局的文件處理方法,包括取得步驟,從數(shù)據(jù)庫(kù)取得數(shù)據(jù),所述數(shù)據(jù)滿足對(duì)由模板保持單元所保持的模板中包含的區(qū)域設(shè)定的、用于布置要進(jìn)行布局的數(shù)據(jù)的抽出條件;以及布置步驟,將由上述取得步驟所取得的至少一個(gè)的上述要進(jìn)行布局的數(shù)據(jù),并列布置在上述區(qū)域中。
15.根據(jù)權(quán)利要求14所述的文件處理方法,其特征在于對(duì)上述區(qū)域,進(jìn)一步設(shè)定用于確定布置上述數(shù)據(jù)的位置的多個(gè)布置條件;還包括選擇指示步驟,從上述多個(gè)布置條件中,選擇用于布置上述要進(jìn)行布局的數(shù)據(jù)的條件;在上述布置步驟中,按照由上述選擇指示步驟所選擇的布置條件,將上述數(shù)據(jù)布置在上述區(qū)域中。
16.根據(jù)權(quán)利要求15所述的文件處理方法,其特征在于,還包括顯示步驟,在顯示部顯示所選擇的布置條件的候補(bǔ);由上述顯示步驟顯示的上述布置條件,按照由上述取得步驟所取得的數(shù)據(jù)個(gè)數(shù)變更。
17.根據(jù)權(quán)利要求14所述的文件處理方法,其特征在于,還包括模板生成步驟,生成包含上述區(qū)域的模板。
18.根據(jù)權(quán)利要求16所述的文件處理方法,其特征在于上述區(qū)域具有具備用于插入上述數(shù)據(jù)的局部區(qū)域的子模板,還包括布局調(diào)整步驟,在上述子模板中對(duì)插入上述局部區(qū)域中的上述數(shù)據(jù)進(jìn)行布局調(diào)整。
19.根據(jù)權(quán)利要求18所述的文件處理方法,其特征在于在上述布置步驟中,按照由上述取得步驟所取得的數(shù)據(jù)個(gè)數(shù),確定上述子模板的尺寸。
20.根據(jù)權(quán)利要求19所述的文件處理方法,其特征在于對(duì)上述區(qū)域,進(jìn)一步設(shè)定作為要進(jìn)行布置的數(shù)據(jù)的條件的多數(shù)據(jù)條件;在上述布置步驟中,將滿足上述多數(shù)據(jù)條件的數(shù)據(jù)布置在上述區(qū)域中。
21.根據(jù)權(quán)利要求20所述的文件處理方法,其特征在于上述布置步驟,當(dāng)布置在上述區(qū)域中的數(shù)據(jù)在該區(qū)域中容納不下時(shí),以統(tǒng)一的縮小比例縮小上述數(shù)據(jù),布置在上述區(qū)域中。
22.根據(jù)權(quán)利要求17所述的文件處理方法,其特征在于上述模板包括多個(gè)上述區(qū)域,可以對(duì)各區(qū)域設(shè)定相異的抽出條件。
23.根據(jù)權(quán)利要求21所述的文件處理方法,其特征在于所述模板包括多個(gè)所述區(qū)域,進(jìn)一步設(shè)定對(duì)上述多個(gè)區(qū)域建立關(guān)聯(lián)的鏈接信息;在上述布置步驟中,當(dāng)布置在上述區(qū)域中的數(shù)據(jù)在上述多個(gè)區(qū)域中的一個(gè)中容納不下時(shí),布置到由上述鏈接信息建立了關(guān)聯(lián)的其它區(qū)域中。
24.根據(jù)權(quán)利要求20所述的文件處理方法,其特征在于,還包括排序步驟,對(duì)上述數(shù)據(jù)庫(kù)的數(shù)據(jù),以給定的鍵進(jìn)行排序。
25.根據(jù)權(quán)利要求18所述的文件處理方法,其特征在于上述子模板,具有要進(jìn)行布局的數(shù)據(jù)的布局規(guī)則信息;上述布局調(diào)整步驟,按照上述布局規(guī)則信息,在上述子模板上對(duì)要進(jìn)行布局的數(shù)據(jù)進(jìn)行布局。
26.根據(jù)權(quán)利要求22所述的文件處理方法,其特征在于對(duì)上述區(qū)域進(jìn)一步設(shè)定要進(jìn)行布置的數(shù)據(jù)個(gè)數(shù)的上限;當(dāng)由上述取得步驟取得上述所設(shè)定的數(shù)據(jù)個(gè)數(shù)的上限以上的數(shù)據(jù)時(shí),在上述布置步驟中,布置上述所設(shè)定的數(shù)據(jù)個(gè)數(shù)的數(shù)據(jù)。
全文摘要
當(dāng)進(jìn)行將多個(gè)記錄布置在一個(gè)文件中的多記錄型可變打印時(shí),指定布置記錄的條件。在模板上定義流動(dòng)區(qū)域(2106、2107),再對(duì)各流動(dòng)區(qū)域定義例如那里的記錄的限制條件。另外,另外對(duì)流動(dòng)區(qū)域?qū)⒍x插入那里的數(shù)據(jù)布局的子模板(2108)關(guān)聯(lián)。在打印和顯示時(shí),從數(shù)據(jù)庫(kù)(2101)依次取得記錄,用子模板將具有同一主列的記錄布局,按照條件式布置向流動(dòng)區(qū)域(2106)或(2107)中的任意一個(gè)匹配的一方布置。
文檔編號(hào)G06F17/21GK1648846SQ200510005060
公開日2005年8月3日 申請(qǐng)日期2005年1月31日 優(yōu)先權(quán)日2004年1月30日
發(fā)明者小橋和文, 原健太, 牧野順 申請(qǐng)人:佳能株式會(huì)社