專利名稱:布局處理方法、信息處理裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及用于生成、編輯并打印由文本、圖像構(gòu)成的文檔的技術(shù),更詳細(xì)地說,涉及適用于可變數(shù)據(jù)文檔的生成、編輯及打印的技術(shù)。
背景技術(shù):
近年來,由于商品的多樣化,商品壽命變短,隨著互聯(lián)網(wǎng)的普及,對(duì)消費(fèi)者的客戶服務(wù)增強(qiáng)等原因,CRM(Customer RelationshipManagement客戶關(guān)系管理)、一對(duì)一營(yíng)銷的必要性備受關(guān)注。這些方法,對(duì)于提高客戶滿意程度,開發(fā)、穩(wěn)定客戶,非常有效。
一對(duì)一營(yíng)銷是數(shù)據(jù)庫營(yíng)銷的一種,把客戶的年齡、性別、興趣、愛好、購買經(jīng)歷等個(gè)人屬性信息做成數(shù)據(jù)庫,分析其內(nèi)容,提出符合客戶需求的方案,作為典型的具體做法,例如有可變打印。特別是,最近,隨著DTP(desktop publishing桌面出版系統(tǒng))技術(shù)的進(jìn)展和數(shù)字打印裝置的普及,開發(fā)出對(duì)每個(gè)客戶定制文件并輸出的可變打印系統(tǒng)。在這樣的可變打印系統(tǒng)中,要求為每個(gè)客戶生成對(duì)不同的量的內(nèi)容進(jìn)行最佳布局的定制文件。
一般,在可變打印系統(tǒng)中,生成這樣的定制文件時(shí),在文檔上對(duì)容器進(jìn)行布局。容器是用于描畫內(nèi)容的局部區(qū)域,也稱作字段區(qū)。即,在文檔上對(duì)這樣的容器進(jìn)行布局,將數(shù)據(jù)庫與布局建立關(guān)聯(lián)(將數(shù)據(jù)庫的各內(nèi)容與各容器建立關(guān)聯(lián)),通過這樣的作業(yè),生成定制文件(文檔)。在本說明書中,將這樣的文檔稱作可變數(shù)據(jù)文檔。
在這樣的可變打印系統(tǒng)中,能夠?qū)⒁蝾櫩投惖膬?nèi)容插入所布局的各容器中。因此,當(dāng)插入到內(nèi)容中的數(shù)據(jù)的尺寸可變,而與之相對(duì)應(yīng)容器的尺寸固定時(shí),就產(chǎn)生以下的問題。例如,當(dāng)插入比容器的尺寸大的尺寸的文本數(shù)據(jù)時(shí),無法將所有文本顯示在該容器內(nèi)?;蛘?,當(dāng)插入比容器的尺寸大的尺寸的圖像數(shù)據(jù)時(shí),該圖像的一部分就會(huì)缺失。將這樣的問題稱作溢出。
另外,當(dāng)內(nèi)容是圖像數(shù)據(jù)時(shí),還要考慮將該圖像縮小,描畫在容器內(nèi),但有可能產(chǎn)生圖像極小的弊端。此外,還公開了以下技術(shù)在插入無法完全進(jìn)入固定尺寸的容器內(nèi)的文本數(shù)據(jù)時(shí),能夠縮小文本的字體尺寸,在該容器內(nèi)顯示所有文本。但會(huì)產(chǎn)生以下問題,在這樣調(diào)節(jié)字體尺寸時(shí),字體尺寸變得過小,從而造成文檔整體的平衡被破壞,或變得難以閱讀。
作為用于解決這樣的問題的自動(dòng)布局的技術(shù),在日本特開平7-129658號(hào)公報(bào)的“布局設(shè)計(jì)裝置”中公開了以下技術(shù)當(dāng)某容器的尺寸增大時(shí),為了保持與相鄰的容器的間隔,而減小該相鄰的容器的尺寸。
但是,在背景技術(shù)所述的自動(dòng)布局系統(tǒng)中,當(dāng)根據(jù)數(shù)據(jù)庫的數(shù)據(jù)的尺寸自動(dòng)進(jìn)行布局計(jì)算時(shí),用戶無法設(shè)定如何使尺寸變化。例如,設(shè)有兩個(gè)尺寸可變的容器A和容器B,將數(shù)據(jù)從數(shù)據(jù)庫插入到這兩個(gè)容器中。在插入到容器A和容器B中的數(shù)據(jù)都變大而無法容納在容器內(nèi)時(shí),進(jìn)行計(jì)算,使得插入到容器A和容器B中的數(shù)據(jù)的尺寸均等地縮小并容納在容器內(nèi)。
在上述一對(duì)一營(yíng)銷中,為了符合用戶需要生成目錄和小冊(cè)子(pamphlet),有這樣的要求,即將插入用戶想要的商品的內(nèi)容數(shù)據(jù)的容器,優(yōu)先于其他容器,做成較大的容器。但是,在上述自動(dòng)布局系統(tǒng)中,無法生成這樣的反映用戶意圖的布局。
發(fā)明內(nèi)容
本發(fā)明正是鑒于上述問題而完成的,其目的在于,使得能夠根據(jù)基于對(duì)各數(shù)據(jù)區(qū)域所設(shè)定的優(yōu)先度的權(quán)重,確定用于插入數(shù)據(jù)的數(shù)據(jù)區(qū)域的尺寸,實(shí)現(xiàn)能夠較好地滿足用戶需求的布局處理。
為了解決上述問題,本發(fā)明提供一種布局處理方法,根據(jù)插入多個(gè)數(shù)據(jù)區(qū)域的各區(qū)域中的內(nèi)容數(shù)據(jù),動(dòng)態(tài)地變更具有該多個(gè)數(shù)據(jù)區(qū)域的模板的布局,所述布局處理方法包括抽取步驟,抽取通過鏈接建立了關(guān)聯(lián)的數(shù)據(jù)區(qū)域的集合;確定步驟,對(duì)于在上述抽取步驟中所抽取的數(shù)據(jù)區(qū)域的集合中所包含的多個(gè)數(shù)據(jù)區(qū)域,根據(jù)插入各數(shù)據(jù)區(qū)域的內(nèi)容數(shù)據(jù)所要求的內(nèi)容尺寸,以及基于對(duì)各數(shù)據(jù)區(qū)域所設(shè)定的優(yōu)先度的權(quán)重,確定各數(shù)據(jù)區(qū)域的區(qū)域尺寸;以及輸出步驟,根據(jù)在上述確定步驟所確定的上述多個(gè)數(shù)據(jù)區(qū)域的區(qū)域尺寸,對(duì)上述內(nèi)容數(shù)據(jù)進(jìn)行布局并輸出。
另外,本發(fā)明提供一種執(zhí)行上述布局處理方法的信息處理裝置。
本發(fā)明的其他特征和優(yōu)點(diǎn),可以通過下面的參照附圖進(jìn)行的說明而得到明確。在所有附圖中,相同的標(biāo)號(hào)表示相同或類似的部分。
附圖包括在說明書中并構(gòu)成說明書的一部分,用于說明本發(fā)明的實(shí)施例,并與說明書一起用于解釋本發(fā)明的原理。
圖1A是表示實(shí)施例的可變打印系統(tǒng)的結(jié)構(gòu)的圖。
圖1B是表示圖1A中的主計(jì)算機(jī)的結(jié)構(gòu)的概要的圖。
圖1C是說明可變數(shù)據(jù)打印的概要的圖。
圖2是表示實(shí)施例的可變打印系統(tǒng)的其他結(jié)構(gòu)的圖。
圖3是表示包括菜單欄、工具欄、工作區(qū)、選項(xiàng)托板的實(shí)施例的用戶界面的例子的圖。
圖4是表示用戶界面上的容器的顯示例的圖。
圖5A~圖5D是說明實(shí)施例的容器規(guī)則的圖。
圖6是說明實(shí)施例的鏈接的生成處理的流程圖。
圖7A~圖7C是表示生成鏈接時(shí)的用戶界面的變動(dòng)例的圖。
圖8是表示實(shí)施例的布局引擎進(jìn)行的布局計(jì)算處理的流程圖。
圖9是表示實(shí)施例的布局引擎進(jìn)行的布局計(jì)算處理的流程圖。
圖10A~圖10C是用于說明實(shí)施例的布局計(jì)算處理的圖。
圖11是說明實(shí)施例的布局計(jì)算時(shí)的容器的集合的圖。
圖12是表示通過可變鏈接配置了容器時(shí)的用戶界面的顯示例的圖。
圖13是說明用于通過實(shí)施例的用戶界面設(shè)定可變鏈接的處理的流程圖。
圖14是表示實(shí)施例的鏈接的設(shè)定對(duì)話框的圖。
圖15是表示利用固定鏈接的布局結(jié)果例的圖。
圖16是表示利用可變鏈接的布局結(jié)果例的圖。
圖17是表示本實(shí)施例中的、可在容器內(nèi)設(shè)定關(guān)于尺寸的優(yōu)先度的自動(dòng)布局處理的流程圖。
圖18是表示實(shí)施例的優(yōu)先度的設(shè)定處理的流程圖。
圖19A~圖19C是表示實(shí)施例的、設(shè)定優(yōu)先度時(shí)的用戶界面例的圖。
圖20是表示實(shí)施例的優(yōu)先度顯示處理的流程圖。
圖21A~圖21C是表示實(shí)施例的、進(jìn)行優(yōu)先度顯示處理時(shí)的用戶界面例的圖。
圖22是表示實(shí)施例的、進(jìn)行優(yōu)先度顯示處理時(shí)的用戶界面例的圖。
圖23是表示實(shí)施例的其他優(yōu)先度顯示處理的流程圖。
圖24是表示進(jìn)行圖23所示的優(yōu)先度顯示處理時(shí)的用戶界面例的圖。
圖25是表示實(shí)施例的、考慮了優(yōu)先度的布局計(jì)算的整體處理的流程圖。
圖26是表示關(guān)于水平或垂直方向的布局計(jì)算處理的流程圖。
圖27是表示圖26的步驟S2612的處理的細(xì)節(jié)的流程圖。
圖28是表示未考慮優(yōu)先度時(shí)的布局計(jì)算例的圖。
圖29是表示考慮了優(yōu)先度時(shí)的布局計(jì)算例的圖。
圖30是說明考慮了縱橫比例的布局計(jì)算處理的流程圖。
圖31A~圖31C是表示考慮了縱橫比例的布局計(jì)算的一例的圖。
圖32是表示考慮了縱橫比例和優(yōu)先度的布局計(jì)算處理的流程圖。
圖33是表示考慮了縱橫比例和優(yōu)先度的布局計(jì)算處理中的、布局調(diào)整處理(S3210)的流程圖。
圖34是表示考慮了縱橫比例和優(yōu)先度的布局計(jì)算的處理例的圖。
圖35是表示考慮了縱橫比例的布局計(jì)算的處理例的圖。
圖36是表示在圖35的布局計(jì)算中加進(jìn)優(yōu)先度時(shí)的布局計(jì)算的處理例的圖。
圖37是表示由布局編輯應(yīng)用程序進(jìn)行的布局處理的功能結(jié)構(gòu)例的框圖。
具體實(shí)施例方式
下面,參照
本發(fā)明的優(yōu)選實(shí)施例。
<系統(tǒng)結(jié)構(gòu)>
首先,參照?qǐng)D1A和圖1B說明本實(shí)施例的可變打印系統(tǒng)的結(jié)構(gòu)。圖1A是表示用于打印可變數(shù)據(jù)文檔的可變打印系統(tǒng)100的結(jié)構(gòu)例的框圖。此外,圖1B是更詳細(xì)地表示圖1A所示的主計(jì)算機(jī)101的結(jié)構(gòu)的框圖。在本實(shí)施例中說明的可變打印處理,由作為布局調(diào)整裝置的主計(jì)算機(jī)101(由通用計(jì)算機(jī)模塊構(gòu)成)執(zhí)行??梢栽谙到y(tǒng)100上實(shí)施的布局編輯應(yīng)用程序121(本發(fā)明的布局調(diào)整程序),在主計(jì)算機(jī)101中,執(zhí)行其整體或一部分。特別是用于布局編輯的處理、用于打印可變數(shù)據(jù)文檔的處理,通過由主計(jì)算機(jī)101執(zhí)行的軟件來實(shí)現(xiàn)。
布局編輯應(yīng)用程序121,存儲(chǔ)在計(jì)算機(jī)的可讀介質(zhì)中,從該計(jì)算機(jī)的可讀介質(zhì)加載到主計(jì)算機(jī)101的存儲(chǔ)器136中并執(zhí)行。存儲(chǔ)了這樣的軟件或計(jì)算機(jī)程序的計(jì)算機(jī)的可讀介質(zhì)是計(jì)算機(jī)程序產(chǎn)品。通過在計(jì)算機(jī)中使用該計(jì)算機(jī)程序產(chǎn)品,提供適于文檔的布局編輯和可變打印的裝置。
如圖1B所示,在主計(jì)算機(jī)101上通過輸入輸出接口143,將鍵盤132、鼠標(biāo)133那樣的指示設(shè)備等作為輸入裝置連接。此外,通過視頻接口137連接作為輸出裝置的顯示裝置144。還能通過輸入輸出接口138連接本地打印機(jī)145等。此外,輸入輸出接口138還具有將主計(jì)算機(jī)101連接到網(wǎng)絡(luò)107上的功能。據(jù)此,能夠通過網(wǎng)絡(luò)將主計(jì)算機(jī)101連接在系統(tǒng)100內(nèi)的其他計(jì)算機(jī)裝置上。作為網(wǎng)絡(luò)107的典型的例子,能夠列舉局域網(wǎng)(LAN)或廣域網(wǎng)(WAN)。
此外,如圖1B所示,主計(jì)算機(jī)101至少包含一個(gè)處理單元135、由例如半導(dǎo)體隨機(jī)存儲(chǔ)器(RAM)和只讀存儲(chǔ)器(ROM)構(gòu)成的存儲(chǔ)單元136。存儲(chǔ)設(shè)備139包括可以與存儲(chǔ)程序等的計(jì)算機(jī)可讀介質(zhì)之間交換數(shù)據(jù)的硬盤驅(qū)動(dòng)器140和floppy(注冊(cè)商標(biāo))盤驅(qū)動(dòng)器141。另外,雖然未在圖1B顯示,但還可以將磁帶驅(qū)動(dòng)器等作為存儲(chǔ)設(shè)備139使用。CD-ROM驅(qū)動(dòng)器142,作為非易失性的數(shù)據(jù)源來提供(當(dāng)然,還可以通過CD-ROM提供計(jì)算機(jī)程序)。
主計(jì)算機(jī)101,按照GNU/LINUX或微軟公司的windows(注冊(cè)商標(biāo))那樣的操作系統(tǒng)或典型的操作系統(tǒng),或者根據(jù)基于在相關(guān)技術(shù)中已知技術(shù)所形成的計(jì)算機(jī)系統(tǒng)的常規(guī)操作模式的方法,通過相互連接的總線134,利用進(jìn)行通信的、計(jì)算機(jī)模塊101的構(gòu)成要素135~143。即,由上述135~143表示的各結(jié)構(gòu),通過總線134可通信地連接起來,并由安裝在主計(jì)算機(jī)101中的操作系統(tǒng)利用。
另外,作為圖1B所示的主計(jì)算機(jī)101的例子,可以考慮IBM兼容PC,SUN的Sparcstation,或包括這些的計(jì)算機(jī)系統(tǒng)。
<布局編輯應(yīng)用程序的概要>
在本實(shí)施例中,布局編輯應(yīng)用程序121常駐在硬盤驅(qū)動(dòng)器140中,由處理器135控制執(zhí)行、讀入。從布局編輯應(yīng)用程序121的程序的媒介存儲(chǔ)裝置和從網(wǎng)絡(luò)107取得的數(shù)據(jù),對(duì)應(yīng)于硬盤驅(qū)動(dòng)器140而使用半導(dǎo)體存儲(chǔ)器136。
在一個(gè)例子中,布局編輯應(yīng)用程序121的已編碼的程序,存儲(chǔ)在CD-ROM或floppy(注冊(cè)商標(biāo))盤上,通過相應(yīng)的驅(qū)動(dòng)器142、141讀入,并安裝到硬盤驅(qū)動(dòng)器140上?;蛘撸鳛槠渌?,布局編輯應(yīng)用程序121,也可以從網(wǎng)絡(luò)107讀入主計(jì)算機(jī)101內(nèi),并安裝到硬盤驅(qū)動(dòng)器140上。軟件還可以從下述介質(zhì)加載到主計(jì)算機(jī)101內(nèi),即磁帶,ROM,集成電路,光磁盤,在主計(jì)算機(jī)101與其他設(shè)備之間的紅外線等無線通信,PCMCIA卡那樣的計(jì)算機(jī)可讀卡,以及包含電子郵件通信、帶有WEB站點(diǎn)上的記錄信息的互聯(lián)網(wǎng)或企業(yè)內(nèi)部互聯(lián)網(wǎng)的其他適當(dāng)?shù)挠?jì)算機(jī)。這些是計(jì)算機(jī)可讀介質(zhì)的例子,當(dāng)然,還可以使用其他計(jì)算機(jī)可讀介質(zhì)。
在圖1A中,本發(fā)明的布局編輯應(yīng)用程序121,使計(jì)算機(jī)進(jìn)行可變打印(也叫做可變數(shù)據(jù)打印(VDP)),包含2個(gè)軟件組件,即,布局引擎105和用戶界面103。布局引擎105是這樣的軟件組件,即按照給與作為局部區(qū)域的容器(矩形的范圍)的尺寸和位置的限定,從存儲(chǔ)在數(shù)據(jù)庫119中的可變數(shù)據(jù)中,逐個(gè)地讀入記錄,根據(jù)所讀入的數(shù)據(jù)和容器的限定,計(jì)算插入所讀入的數(shù)據(jù)的容器的大小和位置等。此外,在本實(shí)施例中,布局引擎105還進(jìn)行,描畫分配給容器的數(shù)據(jù),生成可變數(shù)據(jù)文檔的圖像的處理。但本發(fā)明不限于此,布局引擎105還可以作為確定各局部區(qū)域(容器)的尺寸和位置的應(yīng)用程序而工作,通過向省略圖示的打印機(jī)驅(qū)動(dòng)器(printer driver)輸出描畫信息,打印機(jī)驅(qū)動(dòng)器進(jìn)行可變數(shù)據(jù)文檔的圖像描畫處理,生成打印數(shù)據(jù)。用戶界面103,可以由用戶進(jìn)行容器的布局和屬性設(shè)定,使用戶生成文檔模板。此外,用戶界面103提供使文檔模板內(nèi)的各容器和數(shù)據(jù)源建立關(guān)聯(lián)的機(jī)制(mechanism)。用戶界面103和布局引擎105通過信道123通信。
圖1C是說明本實(shí)施例的可變數(shù)據(jù)打印的概要的圖。通過布局編輯應(yīng)用程序121的用戶界面模塊103(以下,記為用戶界面103),按照來自用戶的操作指示,在頁面上配置多個(gè)容器181~183,通過對(duì)各容器添加關(guān)于位置和尺寸的限定條件,生成文檔模板180。此外,用戶界面103,進(jìn)行文檔模板180與數(shù)據(jù)源190的關(guān)聯(lián),各容器與數(shù)據(jù)源190內(nèi)的各數(shù)據(jù)字段的關(guān)聯(lián)。表示各容器與數(shù)據(jù)源190內(nèi)的各數(shù)據(jù)字段的關(guān)聯(lián)的關(guān)聯(lián)信息,被記述在文檔模板內(nèi),該文檔模板被存儲(chǔ)在HDD140中。此外,數(shù)據(jù)源190是以記錄單位記載項(xiàng)目數(shù)據(jù)的文件,被存儲(chǔ)在HDD140中。布局引擎105,按照來自用戶的打印指示或預(yù)覽指示,從數(shù)據(jù)源190將以關(guān)聯(lián)信息建立關(guān)聯(lián)的數(shù)據(jù),讀入文檔模板的各容器181~183中,以記錄單位插入(例如,將數(shù)據(jù)記錄1的數(shù)據(jù)字段A~C插入容器181~183),根據(jù)所插入的數(shù)據(jù),調(diào)整各容器的尺寸等(布局調(diào)整)。當(dāng)是預(yù)覽指示時(shí),生成布局調(diào)整后的文檔圖像,為了作為預(yù)覽顯示,而輸出到視頻顯示器144的畫面上。此外,當(dāng)是打印指示時(shí),將用布局引擎105或打印機(jī)驅(qū)動(dòng)器生成的文檔圖像,作為打印數(shù)據(jù)向打印服務(wù)器109輸出。通過依次處理數(shù)據(jù)記錄1、2、3...,實(shí)現(xiàn)可變數(shù)據(jù)打印。
用于文檔生成的數(shù)據(jù)源(190),例如,還可以是由運(yùn)行數(shù)據(jù)庫應(yīng)用程序的其他計(jì)算機(jī)構(gòu)成的數(shù)據(jù)庫服務(wù)器117上的一般的數(shù)據(jù)庫119。這時(shí),主計(jì)算機(jī)101,能夠通過網(wǎng)絡(luò)107與數(shù)據(jù)庫服務(wù)器117通信,取得數(shù)據(jù)源。此外,由布局編輯應(yīng)用程序121生成的、用于可變數(shù)據(jù)打印的文檔模板(180),保存在主計(jì)算機(jī)101或由其他計(jì)算機(jī)構(gòu)成的文件服務(wù)器115上。在圖1C中,如上所述,布局編輯應(yīng)用程序121的布局引擎105,生成由合并了數(shù)據(jù)的文檔模板構(gòu)成的可變數(shù)據(jù)文檔。這些文檔,保存在主計(jì)算機(jī)101的本地文件系統(tǒng)中,或保存在文件服務(wù)器115上,或被發(fā)送給打印機(jī)113打印。打印服務(wù)器109是用于向沒有直接連接到網(wǎng)絡(luò)的打印機(jī)提供網(wǎng)絡(luò)功能的計(jì)算機(jī)。打印服務(wù)器109和打印機(jī)113通過一般的信道111連接。
<其他的系統(tǒng)結(jié)構(gòu)例>
圖2是與圖1A類似的框圖,但追加了引擎服務(wù)器227。存儲(chǔ)在引擎服務(wù)器227中的布局引擎225,是布局引擎105的分離版本(version)。一般的計(jì)算機(jī)用于引擎服務(wù)器227。為了根據(jù)打印或其他目的生成可變數(shù)據(jù)文檔,布局引擎225,將保存在文件服務(wù)器115中的文檔模板和保存在數(shù)據(jù)庫119中的數(shù)據(jù)結(jié)合。這樣的操作通過用戶界面103來請(qǐng)求。
<布局編輯應(yīng)用程序的說明>
下面,說明布局編輯應(yīng)用程序121。
用戶界面103,在操作時(shí)在視頻顯示器144上顯示,由圖3所示的應(yīng)用程序窗口301形成的用戶界面畫面。該窗口301具有菜單欄302、工具欄303、工作區(qū)306和選項(xiàng)托板311。菜單欄302、工具欄303可以不顯示,或移動(dòng)到屏幕上的各種地方。此外,工作區(qū)306可以通過鼠標(biāo)133的操作使其移動(dòng)地方。此外,托板311是選項(xiàng)托板,光標(biāo)/指示設(shè)備313表示鼠標(biāo)133所指示的位置。
菜單欄302,如公開的技術(shù)那樣,具有在菜單選項(xiàng)的層級(jí)下擴(kuò)展的多個(gè)菜單項(xiàng)304。
工具欄303具有,可以通過應(yīng)用程序的特殊模式變成不顯示狀態(tài)或變成顯示狀態(tài)的,多個(gè)工具按鈕和控件305。
選項(xiàng)的標(biāo)尺308,用于顯示工作區(qū)內(nèi)的指針、頁面、行、邊緣引導(dǎo)(margin guide)、容器或?qū)ο蟮奈恢谩?br>
托板311用于調(diào)用可變數(shù)據(jù)庫那樣的追加功能。托板311具有用于進(jìn)行移動(dòng)、尺寸調(diào)整、關(guān)閉的窗口控件312。托板311是可選的,能夠顯示在工作區(qū)的前面,或隱藏在對(duì)象的背面。托板311被限定只能在應(yīng)用程序窗口301的范圍內(nèi)顯示,或允許在應(yīng)用程序窗口301的外側(cè)顯示其一部分或整體。
在工具欄303上配置有圖4所示的、可由用戶選擇的“按鈕”。
(1)選擇工具按鈕403用于進(jìn)行容器的邊的選擇、移動(dòng)、尺寸變更、尺寸調(diào)整以及鎖住/解鎖。容器的選擇,通過在容器的周圍拖動(dòng)選擇框來進(jìn)行。此外,可以一邊按住CTRL鍵,一邊對(duì)多個(gè)容器進(jìn)行選擇,通過這樣的操作來選擇多個(gè)容器。
(2)文本容器工具按鈕404用于生成具有靜態(tài)或可變文本的容器。
(3)圖像容器工具按鈕405用于生成具有靜態(tài)或可變圖像的容器。
(4)鏈接工具按鈕406用于生成在容器之間進(jìn)行關(guān)聯(lián)的鏈接,還用于控制鏈接的距離。
布局編輯應(yīng)用程序121的如圖3所示的應(yīng)用程序窗口301,通過在頁面內(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ù)進(jìn)行布局調(diào)整。
在圖3中,工作區(qū)306用于顯示和編輯文檔模板(180基本布局)的設(shè)計(jì)。另外,有時(shí)也將文檔模板簡(jiǎn)稱為模板。它可以在用戶設(shè)計(jì)文檔模板的過程中,向用戶提示要打印的文檔的概貌。由此,用戶能夠容易地理解與數(shù)據(jù)源(190)合并了的文檔,如何基于可變數(shù)據(jù)的量和尺寸而變化。
此外,當(dāng)數(shù)據(jù)源與文檔模板建立了關(guān)聯(lián)時(shí),在布局后的各容器上顯示相應(yīng)的可變文本和圖像,以便能夠進(jìn)行當(dāng)前文檔的預(yù)覽。
進(jìn)行文檔模板中的文檔構(gòu)造和可變數(shù)據(jù)容器的描寫的可視的線索(容器的框線、錨點(diǎn)、滑塊、鏈接等),總是在生成文檔模板時(shí)顯示;當(dāng)進(jìn)行插入可變數(shù)據(jù)的預(yù)覽時(shí),在使光標(biāo)移動(dòng)到容器上,或選擇了容器時(shí),顯示視覺上的線索。
工作區(qū)306包括滾動(dòng)條307、可選的標(biāo)尺308和文檔模板309。文檔模板309可以表示有多個(gè)頁面。此外,文檔模板309表示圖1C的文檔模板180。
所給出的文檔模板的頁面尺寸,用公開的技術(shù),由用戶指定。例如,通過從菜單的“文件”選擇“頁面設(shè)定”,顯示設(shè)定頁面尺寸的對(duì)話框,在那里反映用戶指定的頁面尺寸。各文檔中的實(shí)際的頁數(shù),有可能根據(jù)建立了關(guān)聯(lián)的數(shù)據(jù)源內(nèi)的可變數(shù)據(jù)變化。這是因?yàn)?,?dāng)在文檔模板內(nèi)像可變表那樣設(shè)定根據(jù)可變數(shù)據(jù)的量而變更大小的字段的情況下,當(dāng)讀入的可變數(shù)據(jù)無法容納在1頁內(nèi)時(shí),自動(dòng)生成追加的頁面。
在各頁面內(nèi)顯示的邊界線310,是表示頁面上的可打印的對(duì)象的最大寬度的、任意的頁邊距。
圖4是表示能在1個(gè)頁面的文檔模板309上顯示的對(duì)象的例子的圖。作為這樣的對(duì)象,具有容器407、408,任意使用的錨點(diǎn)圖標(biāo)409,固定的邊411、414,未固定的邊410,鏈接412以及滑塊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的左上角,所以,當(dāng)容器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)度(可指定范圍)的同時(shí),容器408能向右移動(dòng)。滑塊413表示能夠在與所設(shè)定的邊水平的方向上移動(dòng)。
這里,對(duì)容器進(jìn)行說明。容器是將固定或可變的文本/圖像,從可變數(shù)據(jù)文件插入文檔模板內(nèi),并描畫的空間(將其稱作局部區(qū)域或數(shù)據(jù)區(qū)域),如圖4所示,與其他容器和對(duì)象一起布局。通過用戶界面畫面,按照來自用戶的操作指示,通過鼠標(biāo)133的操作,對(duì)容器進(jìn)行移動(dòng)、尺寸調(diào)整和再生成。另外,將插入容器中的數(shù)據(jù)作為內(nèi)容或內(nèi)容數(shù)據(jù)。
更正確地說,容器具有設(shè)定的集合、可視的表現(xiàn)以及交互作用(interaction)和編輯動(dòng)作。以下是對(duì)本實(shí)施例的容器的定義。
(1)容器具有固定或可變的內(nèi)容??勺儍?nèi)容是指,從數(shù)據(jù)源取得的數(shù)據(jù)有可能在各文檔即各記錄上不同,可以說是動(dòng)態(tài)(活動(dòng))的。但是,作為本實(shí)施例的可變內(nèi)容,動(dòng)畫的內(nèi)容或以其他方法按時(shí)間變化的內(nèi)容,因?yàn)椴贿m合打印,所以,不打算在此討論。同樣,固定內(nèi)容在使用1個(gè)容器生成的所有文檔中,相同地表示。但是,當(dāng)設(shè)定了可變內(nèi)容和鏈接時(shí),受可變內(nèi)容的影響,固定內(nèi)容有可能在各文檔中位置不同。
(2)容器具有用于內(nèi)容的背景色、邊界、字體風(fēng)格那樣的與文本設(shè)定相同的裝飾功能。將這樣的設(shè)定稱作容器屬性。容器屬性能對(duì)每個(gè)容器設(shè)定,但也能夠進(jìn)行是與某容器相同的容器屬性的設(shè)定。
(3)容器在生成文檔時(shí),與來自數(shù)據(jù)源的數(shù)據(jù)合并。裝飾功能在所打印的輸出品中是可視的,這在任何固定內(nèi)容中也是如此??勺儍?nèi)容提供來自數(shù)據(jù)源的特定數(shù)據(jù)的顯示。容器的該表達(dá)方式,能夠被打印,或在視頻顯示器144的屏幕上顯示。
(4)如圖4所示,容器具有作為可視的線索的用戶界面。例如,具有用于容器的編輯和顯示設(shè)定的交互式圖形用戶界面(GUI)。GUI的各要素顯示在視頻顯示器144的屏幕上,但不作為文檔打印。布局編輯應(yīng)用程序121的用戶界面103,顯示背景色和字體那樣的容器的若干裝飾功能,還具有能夠?qū)θ萜鞯脑O(shè)定進(jìn)行編輯和顯示功能。
容器具有關(guān)于控制如何結(jié)合顯示在各文檔中的內(nèi)容的限定。這些限定(包括將固定/可變內(nèi)容與容器結(jié)合),是用戶通過一個(gè)文檔模板控制多個(gè)文檔的主要方法。作為限定的一個(gè)例子,有“該容器的內(nèi)容高度最大值為4英寸”。此外,其他的限定的例子,有“容器的內(nèi)容的左邊,在各文檔中必須在相同的水平位置顯示”。在此所述的內(nèi)容,是用于使用GUI,顯示、編輯這樣的限定的各種方法。
在數(shù)字打印技術(shù)中,已知有為了具有將圖像定義在頁面上的地方,而指定固定內(nèi)容的布置的內(nèi)容占位符。容器具有位置和尺寸,以在公開的技術(shù)中已知的方法編輯、顯示它們。因此,在以下的說明中,聚焦于可變數(shù)據(jù)打印方面特殊的方法中的顯示和編輯。
通過使用容器,用戶能夠指定文檔的內(nèi)容的尺寸(描畫尺寸)和位置。因?yàn)橥ㄟ^一個(gè)文檔模板生成多種文檔,所以,對(duì)容器設(shè)定多個(gè)可能性和限定,而為了這些設(shè)定(指定)和顯示,使用預(yù)定的用戶界面。
一個(gè)容器的邊,定義在文檔內(nèi)顯示建立了關(guān)聯(lián)的內(nèi)容的虛擬的邊界線。因此,提到容器的左邊,與提到能在各文檔中顯示關(guān)聯(lián)的內(nèi)容的區(qū)域內(nèi)的最左的邊是相同的。同樣,提到容器的高度,可以理解為在所生成的文檔中關(guān)聯(lián)的內(nèi)容的高度的限定。在本說明書中,當(dāng)參照用戶界面103提到容器的邊或大小時(shí),該區(qū)別變得清楚。
在以下的記載中,定義用于限定內(nèi)容的顯示的某個(gè)值的用語“固定”,在所有文檔中都是相同的。
(1)當(dāng)容器的寬度固定時(shí),分配給關(guān)聯(lián)的內(nèi)容的寬度,在所有文檔中都相同。
(2)當(dāng)容器的高度固定時(shí),分配給關(guān)聯(lián)的內(nèi)容的高度,在所有文檔中都相同。
(3)當(dāng)距離(鏈接的長(zhǎng)度)固定時(shí),所指定的距離,為所有文檔的限定。
(4)當(dāng)容器的左右邊固定時(shí),意味著關(guān)于頁面的邊的水平位置,在所有文檔中都相同。但是,容器的高度或垂直方向的位置有可能變化。例如,當(dāng)容器的左邊固定時(shí),關(guān)聯(lián)的內(nèi)容的顯示位置,在所有文檔中其左邊的位置為相同的水平位置,但有可能在某文檔中顯示在頁面的上方,而在其他文檔中則顯示在頁面的下方。
(5)當(dāng)容器的上下邊固定時(shí),意味著頁面的邊的垂直位置在所有文檔中都相同。但是,容器的寬度或水平位置有可能根據(jù)文檔變化。
(6)容器的垂直軸是與容器的右邊和左邊平行,位于其中間的虛擬的垂直線。如果容器的垂直軸固定,則該容器的左右邊的水平位置的平均(即,左右的中央位置)在所有文檔中都相同。在該限定下,容器的寬度有可能變化。但是,從左右邊離垂直軸最遠(yuǎn)的容器到最近的容器,垂直軸在所有文檔中都處于相同的水平位置。另外,容器的高度和垂直位置不受該限定的影響。
(7)同樣地,如果水平軸固定,則容器的上邊和下邊的平均位置被限定在垂直方向上的同一位置。但是,容器的寬度和水平位置不受該限定的影響。
(8)當(dāng)水平軸和垂直軸均固定時(shí),意味著容器的中心位置被固定。但是,容器的寬度和高度不,受該限定的影響。
(9)當(dāng)容器的角位置、容器的邊的中間位置、或容器的中心位置固定時(shí),各位置在所有文檔中都處于相同的地方。例如,如果容器的左上角固定,則意味著所配置的容器的左上位置在所有文檔中都相同。
(10)垂直邊或垂直軸,可以與頁面的左邊或右邊,或左頁邊距或右頁邊距,或其他水平位置建立關(guān)聯(lián)而固定。同樣地,水平邊或水平軸,可以與頁面的上邊或下邊,或上下頁邊距,或其他垂直位置建立關(guān)聯(lián)而固定。
“固定”的反意詞是“可變”,“可變”意味著容器的邊、軸、角、中間位置或文檔限定可能在文檔間(記錄間)變化。例如,在頁面內(nèi),希望根據(jù)可變數(shù)據(jù)的尺寸和量,動(dòng)態(tài)地變更布局,但對(duì)于特定的容器,有時(shí)希望固定大小和位置,有時(shí)希望使頁面的角上的容器的四角固定。因此,在本布局編輯應(yīng)用程序121中,能夠?qū)Ω魅萜?局部區(qū)域),適當(dāng)?shù)卦O(shè)定是固定邊、軸、角和中間位置,還是使其可變。由此,當(dāng)用戶確定文檔模板180的基本布局時(shí),能夠如用戶所希望地那樣生成基本布局。
新的容器的生成方法容器包括文本容器和圖像容器2種。文本容器具有文本和嵌入的圖像。圖像容器只具有圖像。
如圖4所示,通過用鼠標(biāo)133點(diǎn)擊文本容器工具404或圖像容器工具405,在文檔模板309上拖動(dòng)四邊形,從而在該文檔模板309上生成新文本容器或圖像容器。
或者,還可以在激活適當(dāng)?shù)墓ぞ?04、405后,通過在文檔模板309上點(diǎn)擊,來簡(jiǎn)單地生成容器。這時(shí),按照鼠標(biāo)133的點(diǎn)擊操作,在模板上插入默認(rèn)尺寸的容器,并且,提供用于設(shè)定該新容器的尺寸等的對(duì)話框或其他提示。另外,容器的尺寸可以自動(dòng)地提前定義,或者考慮由計(jì)算出的分離器(skimmer)生成、配置,等各種方法。能夠用鼠標(biāo)等輸入裝置選擇在此生成的容器,通過右擊進(jìn)行屬性的指示等操作,從而顯示容器的屬性對(duì)話框,設(shè)定容器的限定。在容器的屬性對(duì)話UI(相當(dāng)于局部區(qū)域設(shè)定裝置)中,能夠設(shè)定上述各種限定。此外,在容器的屬性對(duì)話框中,能夠確定容器的尺寸(寬度、高度)和位置,當(dāng)為可變尺寸時(shí),可以設(shè)定容器的基本圖形(基本尺寸和基準(zhǔn)位置),還可以設(shè)定最大容器尺寸(寬度、高度)和最小容器尺寸(寬度、高度)。
圖5A~圖5D舉例說明關(guān)于容器的邊的顯示規(guī)則。
布局編輯應(yīng)用程序121,為了表現(xiàn)容器的邊的狀態(tài),用實(shí)線(項(xiàng)目503)或虛線(504)表示邊,并且,使用以下部分錨點(diǎn)(由在邊的附近描畫的506、507、509所示的線、形狀、圖標(biāo))、句柄(為了進(jìn)行移動(dòng)、修改,在區(qū)域的邊上或附近描畫的控制點(diǎn)502)、滑塊(在邊的兩側(cè)描畫的短平行線,圖4的413)、放大縮小圖標(biāo)(505)以及顏色。
圖5A~圖5D所示的容器顯示方法的規(guī)則如下所述。
(1)為了固定各邊,用實(shí)線描畫。
(2)寬度固定時(shí),用實(shí)線描畫左邊和右邊。
(3)高度固定時(shí),用實(shí)線描畫上邊和下邊。
(4)不描畫軸。
(5)在尚未由(1)~(3)描畫的各邊的附近描畫放大縮小圖標(biāo),以虛線描畫這些邊。
(6)在垂直邊和水平邊,或垂直軸和水平軸的各線對(duì)中,如果兩者固定,則在其相交點(diǎn)描畫錨點(diǎn)。
(7)在各固定邊上,如果在邊的任意位置都未描畫錨點(diǎn),則在邊的中央描畫滑塊。
(8)在垂直邊和水平邊,或垂直軸和水平軸的各線對(duì)中,如果尚未描畫錨點(diǎn)和滑塊,則在其相交點(diǎn)描畫句柄。
由規(guī)則(1)、(2)、(3)定義的線,如上所述,被固定或被限定,因此用實(shí)線描畫。像規(guī)則(5)那樣,可變的邊以虛線描畫。由規(guī)則(6)、(7)、(8)定義的,固定的點(diǎn)表示錨點(diǎn),幾條固定的邊表示滑塊,其他表示句柄。
由用戶后來所設(shè)定的限定,優(yōu)先于上述規(guī)則。即,當(dāng)以后設(shè)定其他限定時(shí),如果上述規(guī)則影響要描畫的邊,則變更實(shí)線和虛線的描畫內(nèi)容。
描畫可變的邊的地方,依賴于容器的內(nèi)容。如后面將要說明的那樣,使用“動(dòng)態(tài)校正處理”,“動(dòng)態(tài)校正處理”的意思是,在將內(nèi)容合并到文檔模板中,且在用戶界面上成為可見的。能夠使用其他方法進(jìn)行可供選擇的執(zhí)行,用于在所有文檔中被平均化的容器的內(nèi)容區(qū)或用戶界面上,確定可變的邊的布局位置。
這些內(nèi)容的表現(xiàn),提供表示容器的各邊的狀態(tài)的圖解(graphical)手段。該表現(xiàn)的解釋如下所述。
(1)如圖4的邊410那樣,虛線意味著,根據(jù)容器的內(nèi)容,文檔內(nèi)的邊的位置發(fā)生變化。
(2)實(shí)線意味著被限定的邊,這是因?yàn)橐詫?shí)線表示的邊固定(邊414),或容器的寬度和高度固定(在容器408中,4條邊是實(shí)線,兩者均固定)。
(3)錨點(diǎn)意味著邊或軸交叉的地方固定。因此,錨點(diǎn)在使用了包括該錨點(diǎn)的文檔模板的所有文檔中,出現(xiàn)在同一水平、垂直位置。當(dāng)然,錨點(diǎn)被固定。圖4的圖標(biāo)409是錨點(diǎn)圖標(biāo)的例子,意味著邊414的交叉位置固定。
(4)滑塊意味著相關(guān)的邊的長(zhǎng)度固定,但有可能并行移動(dòng)。例如,在圖4中,滑塊413表示容器408的內(nèi)容,顯示在文檔內(nèi)以特定的圖表表示的位置的左或右。例如,當(dāng)插入與容器408建立了關(guān)聯(lián)(設(shè)定了鏈接)的容器407的數(shù)據(jù)的圖像尺寸或文本量少時(shí),由于容器407的尺寸變小,所以,容器408向左滑動(dòng)(并行移動(dòng))地布置并顯示。此外,當(dāng)容器407的尺寸變大時(shí),相反地,容器408向右滑動(dòng)地布置。
這些圖標(biāo)和邊的幾個(gè)或全部,根據(jù)對(duì)哪個(gè)工具、哪個(gè)容器進(jìn)行選擇、加亮或激活,描畫或不描畫。一般地,容器的邊和圖標(biāo)是設(shè)計(jì)文檔模板的工具,所以,在打印品中不描畫。
另外,如上所述,容器的寬度和高度的基本值、最小值、最大值的基本圖形的設(shè)定,顯示在附屬對(duì)話框中。
在圖5A中,容器501的寬度和高度二者均不固定(可變)。固定的邊503用實(shí)線表示,可變的邊504用虛線表示。放大縮小圖標(biāo)505表示相鄰的邊504可變。也可以代替或追加地使用其他形式的指示器(indicator)。
在圖5B中,容器501的寬度和高度二者均可變。為了明確地表示交叉的兩條邊503的角的位置被固定,而添加錨點(diǎn)圖標(biāo)506。
在圖5C中,容器501表示這樣的狀態(tài),即容器的寬度和高度二者均可變,以任意的錨點(diǎn)圖標(biāo)507表示的點(diǎn)為中心,均等地?cái)U(kuò)展周圍。即,容器501能夠以錨點(diǎn)圖標(biāo)507為中心放大或縮小。這里的放大/縮小是指,錨點(diǎn)圖標(biāo)507的位置總處于容器501的中心點(diǎn)那樣地,進(jìn)行布局調(diào)整。
在圖5D中,容器501的上邊508固定,但寬度和高度二者均可變。位于上邊508的中心地顯示的錨點(diǎn)圖標(biāo)509固定。而且,容器501的左邊和右邊,放大、縮小在通過錨點(diǎn)圖標(biāo)509垂直地描繪的中心軸(垂直軸)的周圍。
鏈接表示容器與容器之間的關(guān)聯(lián)。所謂關(guān)聯(lián),表示容器間的距離,通過鏈接建立了關(guān)聯(lián)的容器之間,受到相互的布局變更的影響地計(jì)算布局。圖4的412所示的部分就是鏈接,在圖4中,將容器407與容器408建立了關(guān)聯(lián)。關(guān)于鏈接的設(shè)定方法,以及通過鏈接建立了關(guān)聯(lián)的容器的布局計(jì)算方法,將在后面說明。
下面,說明用于在容器之間建立關(guān)聯(lián)的鏈接的設(shè)定。圖6是表示鏈接的設(shè)定方法的流程圖。此外,圖7A~圖7C表示設(shè)定鏈接時(shí)的用戶界面(UI)的變化例。用圖6、圖7A~圖7C說明對(duì)容器設(shè)定鏈接的方法。
首先,在步驟S601中,布局編輯應(yīng)用程序121,在用戶界面畫面的工作區(qū)306上,顯示為編輯而選擇出的文檔模板。為了設(shè)定鏈接,需要在文檔模板上,生成用于設(shè)定鏈接的容器(最少2個(gè))。用圖7A~圖7C,表示在步驟S601生成2個(gè)容器,再設(shè)定鏈接時(shí)的用戶界面的變化例。
接著,在步驟S602中,布局編輯應(yīng)用程序121,判斷上述鏈接工具是否變?yōu)檫x擇狀態(tài)(通過點(diǎn)擊圖4的按鈕406,變?yōu)檫x擇狀態(tài))。如果鏈接工具不是選擇狀態(tài),則根據(jù)需要執(zhí)行其他的各種處理(步驟S609),回到步驟S602。
在圖7A中,設(shè)容器701和702全部由固定的邊構(gòu)成。此外,703和704與圖4的409相同,意味著錨點(diǎn)。705意味著鼠標(biāo)指針。那么,在鏈接工具為選擇狀態(tài)期間,用戶點(diǎn)擊設(shè)定鏈接的2個(gè)容器中的一個(gè)(稱為容器701)來選擇。按照該操作,布局編輯應(yīng)用程序121的用戶界面103,識(shí)別指定了第1容器(步驟S603),保持特別指定所選擇的容器的信息。此外,在畫面上顯示與以后的鼠標(biāo)指針的移動(dòng)對(duì)應(yīng)的軌跡(步驟S604)。例如,圖7B的線段706,表示將圖7A的狀態(tài)下的點(diǎn)擊位置與當(dāng)前的鼠標(biāo)指針的位置連接的線,可以通過該UI向用戶明確表示在哪個(gè)位置設(shè)定鏈接。
接著,如圖7B所示,用戶將鼠標(biāo)指針移動(dòng)到另一個(gè)容器(容器702)并點(diǎn)擊。按照該操作,用戶界面103識(shí)別指定了第2容器(步驟S605),布局編輯應(yīng)用程序121,在由步驟S604保持的第1容器,和由步驟S605識(shí)別出指定的第2容器之間設(shè)定鏈接(步驟S606)。
這樣,在由用戶選擇出的兩個(gè)容器701、702之間設(shè)定鏈接時(shí),顯示鏈接UI707(步驟S607)。進(jìn)而,接受該鏈接設(shè)定,容器的顯示狀態(tài)成為圖7C的狀態(tài)(步驟S608)。即,通過設(shè)定鏈接,自動(dòng)地變更容器的UI。這里,由鏈接建立了關(guān)聯(lián)的邊為可變,以虛線表示。在圖7C中,708是以虛線表示的邊,表示上述那樣可變的邊。
另外,像圖7C那樣的容器的邊的狀態(tài)的變化,是由于設(shè)定了鏈接而需要使容器的邊可變,從而自動(dòng)地執(zhí)行,其目的在于,防止發(fā)生盡管設(shè)定了鏈接但所有的邊卻是固定的這樣的矛盾。此外,709與圖5A~圖5D中的505相同,是通過設(shè)定鏈接,在視覺上對(duì)用戶表示容器能夠發(fā)生變化的方向的標(biāo)記。此外,在圖7C的例子中,左側(cè)的容器的右邊和右側(cè)的容器的左邊變?yōu)榭勺兊臓顟B(tài),但這是一個(gè)例子,例如,右側(cè)的容器也可以變化為具有圖4的413所示的滑塊的設(shè)定。
<布局引擎進(jìn)行的布局計(jì)算處理> 本實(shí)施例的布局編輯應(yīng)用程序,分為布局模式和預(yù)覽模式,布局模式使用用戶界面103生成容器,在該容器之間進(jìn)行關(guān)聯(lián)(鏈接設(shè)定),并生成布局;預(yù)覽模式通過布局引擎105,將數(shù)據(jù)源的各記錄插入所生成的布局,并預(yù)覽實(shí)際插入了記錄之后的布局結(jié)果。在該預(yù)覽模式中,插入實(shí)際的記錄,按照上述優(yōu)先級(jí)計(jì)算布局。但是,預(yù)覽模式是在顯示上的布局計(jì)算。在實(shí)際打印時(shí),布局引擎105也向各容器插入數(shù)據(jù)并計(jì)算布局,而此時(shí)的計(jì)算方法與預(yù)覽模式相同。
圖8表示布局計(jì)算的流程。首先,選擇預(yù)覽模式(步驟S801)。如果是預(yù)覽模式,則布局編輯應(yīng)用程序121,使用戶從數(shù)據(jù)源選擇要預(yù)覽的記錄,確定將所選擇的記錄的各字段數(shù)據(jù)插入各容器(步驟S802)。當(dāng)確定向各容器插入字段數(shù)據(jù)后,布局編輯應(yīng)用程序121,進(jìn)行用于對(duì)該記錄進(jìn)行布局的計(jì)算,并根據(jù)需要進(jìn)行布局調(diào)整(步驟S803)。步驟S803中的布局計(jì)算的細(xì)節(jié),將在后面說明。進(jìn)而,布局編輯應(yīng)用程序121,顯示在步驟S803計(jì)算出的布局(步驟S804)。布局編輯應(yīng)用程序121,根據(jù)用戶的指示判斷是否還對(duì)其他記錄進(jìn)行預(yù)覽(步驟S805)。如果在步驟S805中判斷為不必對(duì)其他記錄進(jìn)行預(yù)覽,則結(jié)束預(yù)覽模式(步驟S807)。如果判斷為對(duì)其他記錄進(jìn)行預(yù)覽,則布局編輯應(yīng)用程序121,選擇其他記錄再次進(jìn)行布局計(jì)算,進(jìn)行預(yù)覽(步驟S806)。
另外,在非預(yù)覽模式下進(jìn)行打印時(shí),依次對(duì)要打印的全部記錄進(jìn)行布局的計(jì)算。因此,步驟S804不存在,步驟S805進(jìn)行是否已將要打印的記錄全部處理的判斷。將在步驟S803中進(jìn)行了布局計(jì)算的結(jié)果,進(jìn)行描畫輸出,用打印機(jī)驅(qū)動(dòng)器生成為打印數(shù)據(jù),并在打印機(jī)中輸出打印數(shù)據(jù)。此時(shí),在對(duì)于所有記錄(為了打印而被指定的所有記錄),打印數(shù)據(jù)的輸出結(jié)束的時(shí)刻,結(jié)束本處理。
下面,說明上述步驟S803進(jìn)行的布局計(jì)算的細(xì)節(jié)。圖9是表示本實(shí)施例的未設(shè)定布局的優(yōu)先級(jí)時(shí)的布局計(jì)算的方法的流程圖。此外,圖10A~圖10C是表示此時(shí)的UI顯示例的圖。另外,由于圖9只是用于說明布局計(jì)算的處理方法的流程圖,所以,相當(dāng)于對(duì)可變數(shù)據(jù)打印的1個(gè)記錄進(jìn)行打印/預(yù)覽時(shí)的布局計(jì)算方法。當(dāng)為多個(gè)記錄時(shí),重復(fù)以下的處理。
首先,布局編輯應(yīng)用程序121,求出計(jì)算布局的容器的集合(步驟S901)。布局計(jì)算,將建立了關(guān)聯(lián)的容器作為一個(gè)集合進(jìn)行計(jì)算。例如,參照?qǐng)D11,在頁面上布置好4個(gè)容器,并對(duì)各容器設(shè)定了關(guān)聯(lián)。此時(shí),容器A與容器B、容器C與容器D通過鏈接建立了關(guān)聯(lián)。因此,容器A、B成為集合1,容器C、D成為集合2。即,將由鏈接所連接的容器組指定為一個(gè)集合。如上所述,1101表示錨點(diǎn),1102表示固定的邊,1103表示控制器,1104表示指示著可變的邊的變化方向的箭頭,1105表示可變的邊,1106表示鏈接,1107表示滑塊。
接著,布局編輯應(yīng)用程序121,從在步驟S901求出的容器的集合中,選擇一個(gè)用于計(jì)算布局(步驟S902)。然后,對(duì)所選擇出的容器的集合,進(jìn)行布局的計(jì)算。首先,對(duì)所選擇出的容器的集合中包含的可變要素即2個(gè)容器(A、B),根據(jù)所插入的數(shù)據(jù)的圖像尺寸或文本量,計(jì)算各容器不受任何限定時(shí)的大小。具體而言,布局編輯應(yīng)用程序121,判斷容器A是圖像數(shù)據(jù)用容器,還是文本用容器。該判斷如上所述,可以根據(jù)對(duì)容器設(shè)定的屬性來進(jìn)行判斷。接著,布局編輯應(yīng)用程序121,讀入插入容器A的數(shù)據(jù),當(dāng)容器A為圖像數(shù)據(jù)用容器時(shí),該圖像數(shù)據(jù)的尺寸(寬度、高度的像素?cái)?shù)以及析像度)為不受容器A的限定時(shí)的尺寸。此外,當(dāng)容器A為文本用容器時(shí),該文本數(shù)據(jù)也可以基于字符數(shù),由容器A的容器屬性指定的字體類型、字體尺寸、字符間距、行間距等字符屬性,計(jì)算要插入容器A的數(shù)據(jù)量。這里,當(dāng)是文本用容器時(shí),如果不考慮限定就無法確定容器A的縱橫比例,因此,適用限定。在圖11的例子中,容器A在左上角和左下角設(shè)定了錨點(diǎn),因此,高度(縱向)固定。由此,布局編輯應(yīng)用程序121,判斷是否能夠?qū)⒂?jì)算出的數(shù)據(jù)量(文本量)的字符,插入作為容器A的基本圖形設(shè)定的寬度(橫向)可變的容器A中。當(dāng)判斷為能夠全部插入時(shí),容器A對(duì)以基本圖形設(shè)定的尺寸(寬度、高度)不變更。此外,當(dāng)判斷為不能全部插入時(shí),容器A通過設(shè)定錨點(diǎn)而高度固定,因此,向橫向延伸。這里,布局編輯應(yīng)用程序121,計(jì)算容器A的寬度變?yōu)槎嗌倌懿迦胨?jì)算的數(shù)據(jù)量的字符,并算出容器A的尺寸。
接著,布局編輯應(yīng)用程序121進(jìn)行布局的最優(yōu)化,使得盡可能地減小被布局的容器尺寸與實(shí)際的內(nèi)容尺寸的差(步驟S903)。布局的最優(yōu)化這樣進(jìn)行,即在可動(dòng)態(tài)地改變尺寸地建立了關(guān)聯(lián)的容器中,分別插入的內(nèi)容的尺寸與被布局的容器的尺寸的差,盡可能相同。布局編輯應(yīng)用程序121,求出在步驟S902選擇出的容器的集合的尺寸,即,容器A、容器B及鏈接1106(這里為固定鏈接)的合計(jì)尺寸,并求出該合計(jì)尺寸與基本布局中的該容器的集合的尺寸(在圖11的例子中,相當(dāng)于容器A與容器B的各自的錨點(diǎn)圖標(biāo)的距離)的差。當(dāng)在上述步驟計(jì)算出容器A或容器B的寬度增大時(shí),產(chǎn)生差值。布局編輯應(yīng)用程序121,通過將該差值平均分配給容器的集合中的各要素,來進(jìn)行布局調(diào)整。
布局編輯應(yīng)用程序121,進(jìn)行布局的最優(yōu)化,當(dāng)違反了規(guī)則時(shí),再次計(jì)算使得不違反規(guī)則(步驟S904)。這里所說的規(guī)則,是由用戶在布局生成時(shí)設(shè)定的限定,是容器的尺寸的可變范圍、位置的限定,在可變鏈接時(shí)鏈接長(zhǎng)度的變化的限定等。如果沒有違反規(guī)則地計(jì)算了布局,則該集合的布局完成。并且,布局編輯應(yīng)用程序121,對(duì)頁面上的所有集合實(shí)施步驟S902~S904的處理,計(jì)算頁面整體的布局(步驟S905)。
圖10A~圖10C是未設(shè)定優(yōu)先級(jí)的布局時(shí)的UI例。
圖10A表示某記錄被插入、布局已被確定的狀態(tài)。1001和1002表示錨點(diǎn),1003和1004表示固定的邊,1005表示可變的邊,1006表示指示著可變的邊的變化方向的箭頭,1008表示鏈接。在該狀態(tài)下,變更記錄,插入不同尺寸的內(nèi)容。圖10B表示將新的內(nèi)容的尺寸重疊于圖10A的狀態(tài)上。1009表示在各自的容器中插入的內(nèi)容的尺寸。然后,進(jìn)行布局的計(jì)算。圖10C表示布局計(jì)算后的結(jié)果。進(jìn)行計(jì)算,使得計(jì)算后的各容器的尺寸,與實(shí)際插入的內(nèi)容的尺寸的差相等,且不違反上述規(guī)則。如圖10C所示,圖10B所示的所插入的內(nèi)容尺寸(1009)與計(jì)算后的內(nèi)容尺寸(1010),兩者具有同等的差異。
圖12表示用于設(shè)定可變鏈接的用戶界面。與圖4相同,具有應(yīng)用程序窗 301和工具欄303。在圖12的狀態(tài)下,在文檔模板309上存在容器1203和容器1204。容器1203包括錨點(diǎn)圖標(biāo)1201和固定的邊1205;容器1204包括錨點(diǎn)圖標(biāo)1202和固定的邊1206。在容器1203與1204之間具有可變尺寸的鏈接1209,連接著容器1203與容器1204。因?yàn)樵谌萜?203與容器1204之間設(shè)定有鏈接,所以,容器1203的右邊1207和容器1204左邊1208用虛線表示。因此,指示器1210、指示器1211,顯示在各容器上,分別表示邊1207和邊1208可變。
此外,圖14是鏈接設(shè)定裝置中的用戶界面畫面,是用于設(shè)定鏈接1209的信息的對(duì)話框1401的例子。該對(duì)話框由標(biāo)題欄1402、工具按鈕1403、進(jìn)行對(duì)話框的開關(guān)的按鈕1404、設(shè)定各種信息的區(qū)域1409構(gòu)成。在該對(duì)話框中,可以進(jìn)行鏈接類型是可變長(zhǎng)度(1407)的鏈接,還是固定長(zhǎng)度(1406)的鏈接的擇一性選擇。當(dāng)鏈接類型可變時(shí),可以設(shè)定鏈接長(zhǎng)度的最小值(最小距離1410)、最大值(最大距離1412)以及基準(zhǔn)值(基準(zhǔn)距離1411)。圖11的對(duì)話框1401,在下述情況下顯示,例如,通過用圖6、圖7A~圖7C說明的鏈接的設(shè)定操作,在2個(gè)容器之間設(shè)定了鏈接之后,在通過點(diǎn)擊等操作選擇設(shè)定的鏈接時(shí)顯示?;蛘?,也可以在剛設(shè)定了鏈接之后,自動(dòng)顯示關(guān)于該鏈接的對(duì)話框1401。這里,各容器之間的距離的基準(zhǔn)值1411,是在插入了數(shù)據(jù)時(shí)各容器的尺寸沒有變更的情況下,所使用的鏈接的長(zhǎng)度。
圖13是說明利用本實(shí)施例的用戶界面103進(jìn)行的可變鏈接的設(shè)定順序的流程圖。例如,在圖11的容器A與容器B之間,以用圖6、圖7A~圖7C說明的順序設(shè)置鏈接時(shí),首先設(shè)置固定尺寸的鏈接。然后,選擇該鏈接執(zhí)行圖13所示的處理,從而能夠使該鏈接,從固定尺寸的鏈接1106(圖11)的狀態(tài),向可變尺寸的鏈接1209(圖12)變化。
首先,用鼠標(biāo)將所需要的鏈接(例如,鏈接1106)設(shè)置成選擇狀態(tài),當(dāng)進(jìn)行用于顯示鏈接屬性的預(yù)定的操作時(shí),將布局編輯應(yīng)用程序121的用戶界面103,作為鏈接屬性的顯示指示的輸入來識(shí)別(步驟S1301)。當(dāng)識(shí)別鏈接屬性的顯示指示后,顯示與選擇狀態(tài)的鏈接(以下,稱作對(duì)象鏈接)對(duì)應(yīng)的屬性對(duì)話框1401(圖14),接著,用戶界面103顯示鏈接屬性(步驟S1302)。另外,作為鏈接的選擇操作,與設(shè)定容器的基本圖形時(shí)相同,也可以是鼠標(biāo)的右擊或鍵盤的特定鍵的操作等的任意一個(gè)。
在步驟S1302顯示的對(duì)話框1401上顯示所選擇的鏈接的當(dāng)前狀態(tài)。在本例中,因?yàn)檫x擇了鏈接1106,所以,在該階段鏈接尺寸固定,在鏈接類型1405中,表示固定長(zhǎng)度的固定長(zhǎng)度1406已被選擇。
為了在該對(duì)話框1401中,將鏈接從固定尺寸變更為可變尺寸,在鏈接類型1405中,選擇用于將鏈接尺寸設(shè)定為可變的可變長(zhǎng)度1407。由此,被在鏈接距離1408內(nèi)配置著的最大距離1412、最小距離1410、基準(zhǔn)距離1411變?yōu)橛行?,并可以進(jìn)行數(shù)值的設(shè)定。用戶為了設(shè)定鏈接的可變尺寸,在最大距離1412中設(shè)定該鏈接長(zhǎng)度的最大值,在最小距離1410中設(shè)定最小值,在基準(zhǔn)距離1411中設(shè)定當(dāng)前值。
當(dāng)結(jié)束設(shè)定時(shí),用戶通過一般的對(duì)話框開關(guān)按鈕1404指示該設(shè)定的應(yīng)用。當(dāng)檢測(cè)出該指示后,處理從步驟S1303向步驟S1304以后進(jìn)展,用戶界面103,使該對(duì)象鏈接反映上述設(shè)定狀態(tài)。
即,首先,在步驟S1304中,布局編輯應(yīng)用程序121判定對(duì)象鏈接是固定尺寸還是可變尺寸。如果指定了固定尺寸,則進(jìn)入步驟S1308,將對(duì)象鏈接設(shè)定為“固定尺寸”,在步驟S1307中,設(shè)對(duì)象鏈接的顯示狀態(tài)為表示“固定鏈接”的“實(shí)線”。
另一方面,在步驟S1304,如果指定了可變尺寸,則進(jìn)入步驟S1305,布局編輯應(yīng)用程序121,將對(duì)象鏈接設(shè)定為“可變尺寸”。然后,在步驟S1306中,注冊(cè)由上述對(duì)話框1401設(shè)定的對(duì)象鏈接的當(dāng)前值(基準(zhǔn)值)、最大值、最小值。然后,在步驟S1307中,設(shè)對(duì)象鏈接的顯示狀態(tài)為表示“可變鏈接”的“虛線”。結(jié)果,鏈接的UI顯示,變化為如圖12的鏈接1209所示的狀態(tài)(步驟S1306)。以上的對(duì)話框1401的設(shè)定信息被存儲(chǔ)在存儲(chǔ)器中。
另外,還可以在設(shè)定于基準(zhǔn)距離1411的當(dāng)前值中,將作為當(dāng)前布局而配置的容器之間的距離作為缺省值自動(dòng)地輸入。
圖15表示使用了固定尺寸的鏈接時(shí)的布局結(jié)果。布局計(jì)算方法如上所述地進(jìn)行。例如,在圖12中,可以考慮在容器1203和容器1204上,分別插入了不同尺寸的圖像數(shù)據(jù)的情況。此時(shí),這樣設(shè)定,即視各容器的數(shù)據(jù)大小為最佳;在要接近與所插入的圖像尺寸相同的框1504(最佳容器尺寸)時(shí),容器1203向右變更尺寸;同樣地,在要接近與所插入的圖像尺寸相同的框1505(最佳容器尺寸)時(shí),容器1204向左變更尺寸。但是,容器1203由于錨點(diǎn)1201不能移動(dòng)左邊1212,容器1204由于錨點(diǎn)1202不能移動(dòng)右邊1213,如果要像上述那樣變更尺寸,則只有縮小兩者的間隔。但是,在容器間設(shè)定了固定尺寸的鏈接1503,而在計(jì)算布局時(shí)維持其長(zhǎng)度,因此,容器1203和容器1204的尺寸被變更。
結(jié)果,容器1203和容器1204,無法確保符合數(shù)據(jù)的縱橫比例的最佳的尺寸,最終如圖15所示,變得比最佳尺寸(框1504、框1505)小。即,由于鏈接1503的尺寸固定,因此,容器1501和容器1502無法達(dá)到最佳尺寸(在圖15中,以各容器內(nèi)的點(diǎn)劃線表示的范圍是數(shù)據(jù)所具有的縱橫比例)。
另一方面,圖16表示在與圖15同樣的狀態(tài)下將鏈接設(shè)為可變尺寸的情況。這時(shí),在上述的例子中,在容器1203與容器1204之間,如圖所示地設(shè)置有可變尺寸的鏈接。因此,在變更容器1203和容器1204的尺寸時(shí),通過縮小鏈接尺寸,能夠使容器1203和容器1204的尺寸大于圖15的例子。結(jié)果,能夠達(dá)到符合所插入的數(shù)據(jù)尺寸的最佳尺寸,或者能夠設(shè)定更加接近插入數(shù)據(jù)尺寸(最佳尺寸)的容器的框。圖16表示該結(jié)果,可變鏈接1209為布局計(jì)算的結(jié)果,即成為可變鏈接1603所示的尺寸狀態(tài)。這時(shí),容器1203和容器1204分別成為最佳尺寸(符合數(shù)據(jù)尺寸的大小)。
圖17是表示本實(shí)施例中的、可對(duì)容器設(shè)定關(guān)于尺寸的優(yōu)先度的自動(dòng)布局處理的流程圖。
首先,在步驟S1701中,對(duì)各容器設(shè)定尺寸確定時(shí)的優(yōu)先度。對(duì)于步驟S1701的優(yōu)先度設(shè)定處理,將參照?qǐng)D18、圖19A~圖19C在后面說明。接下來,在步驟S1702中,為了確認(rèn)在步驟S1701所設(shè)定的優(yōu)先度,而詢問用戶是否在用戶界面上進(jìn)行顯示。如果有旨在使其顯示的指示,則進(jìn)入步驟S1703,使之在視頻顯示器144上顯示在步驟S1701中設(shè)定的優(yōu)先度。對(duì)于步驟S1703的優(yōu)先度顯示處理,將參照?qǐng)D20~圖24在后面說明。
當(dāng)在步驟S1702指示為不必進(jìn)行優(yōu)先度的顯示的情況下,或結(jié)束步驟S1703的顯示作業(yè)后,進(jìn)入步驟S1704,詢問用戶是進(jìn)行預(yù)覽還是進(jìn)行打印。在指示為進(jìn)行預(yù)覽或打印的情況下,進(jìn)入步驟S1705,在布局模板中合并容器,進(jìn)行自動(dòng)計(jì)算布局的處理。在進(jìn)行該布局計(jì)算時(shí),使用在步驟S1701中設(shè)定的“優(yōu)先度(比例)”進(jìn)行計(jì)算。具體而言,將所設(shè)定的優(yōu)先度(比例)作為權(quán)重賦給各容器的,計(jì)算容器尺寸(區(qū)域尺寸)。對(duì)于步驟S1705的布局計(jì)算,將參照?qǐng)D25之后的附圖在后面說明。在該整體流程的步驟中的、顯示步驟和預(yù)覽或打印的步驟,并非只進(jìn)行1次,也可以由用戶指定,反復(fù)進(jìn)行任意的次數(shù)。
圖18是表示實(shí)施例的優(yōu)先度的設(shè)定處理(圖17的S1701)的流程圖。
首先,在步驟S1801中,識(shí)別用戶所選擇的要設(shè)定優(yōu)先度的容器。這里,識(shí)別是指在用鼠標(biāo)點(diǎn)擊等選擇出已進(jìn)行了布局的容器時(shí),使之顯示圖5A~圖5D的502所示的句柄等,并轉(zhuǎn)移到選擇狀態(tài)。接下來,在步驟S1802中,使之顯示與已識(shí)別出的容器對(duì)應(yīng)的優(yōu)先度設(shè)定對(duì)話框。作為使之顯示這種對(duì)話框的方法,可以通過彈出菜單或主菜單使之顯示等來實(shí)現(xiàn)。圖19A~圖19C表示該對(duì)話框的顯示例。
圖19A表示對(duì)話框的整體圖。標(biāo)號(hào)1900表示優(yōu)先度設(shè)定對(duì)話框的概貌。標(biāo)號(hào)1901表示用于進(jìn)行關(guān)閉對(duì)話框的指示的按鈕。標(biāo)號(hào)1902是用于設(shè)定是否使優(yōu)先度的設(shè)定有效的復(fù)選框。另外,復(fù)選框1902的缺省值為空,優(yōu)先度的設(shè)定為無效。單選按鈕1903,在從由系統(tǒng)一側(cè)預(yù)先準(zhǔn)備的值中選擇要設(shè)定的優(yōu)先度時(shí),選擇的單選按鈕。列表框1904在單選按鈕1903被選定時(shí)變?yōu)橛行?,箭頭按鈕1905,在用鼠標(biāo)按下后,列表顯示可選擇的優(yōu)先度。標(biāo)號(hào)1906是用戶將要設(shè)定的優(yōu)先度的值設(shè)為任意值時(shí)選擇的復(fù)選框。當(dāng)復(fù)選框1906被選定時(shí),文本框1907變?yōu)橛行?,可以輸入值。能夠在該文本?907中,輸入任意的值來設(shè)定優(yōu)先度。
通過按下測(cè)試按鈕1908,假定使用在本對(duì)話框所設(shè)定的優(yōu)先度,執(zhí)行確認(rèn)布局變化的測(cè)試處理。這時(shí)所設(shè)定的優(yōu)先度,是在相應(yīng)的容器的屬性中暫時(shí)設(shè)定的,當(dāng)測(cè)試處理結(jié)束時(shí),恢復(fù)為執(zhí)行前的屬性值。該按鈕是為了提高可用性而準(zhǔn)備的,在實(shí)施本發(fā)明時(shí)不是必須的,而是任意準(zhǔn)備的。通過按下確定按鈕1909,從而將在本對(duì)話框中設(shè)定了的優(yōu)先度應(yīng)用于相應(yīng)的內(nèi)容的缺省值,并關(guān)閉對(duì)話框。通過按下取消按鈕1910,從而不將在本對(duì)話框中設(shè)定了的優(yōu)先度應(yīng)用于相應(yīng)的內(nèi)容,并關(guān)閉對(duì)話框。
圖19B表示在優(yōu)先度設(shè)定對(duì)話框1900中,使用預(yù)先在系統(tǒng)中準(zhǔn)備的優(yōu)先度時(shí)的例子。使復(fù)選框1902有效,設(shè)定優(yōu)先度。當(dāng)設(shè)使單選按鈕1903有效后,列表框1904變?yōu)橛行?,?913、1915所示那樣列表顯示,可以選擇所希望的優(yōu)先度。該列表顯示,通過按下箭頭按鈕1905來執(zhí)行,顯示預(yù)先在系統(tǒng)中準(zhǔn)備的優(yōu)先度。這里,準(zhǔn)備有高(75%)、中(50%)、低(25%)。在此所示的優(yōu)先度是一個(gè)例子,還可以設(shè)定為其他優(yōu)先度。將用戶從列表1915中選擇出的優(yōu)先度顯示在框1913內(nèi)。通過按下確定按鈕1909,將所選擇出的優(yōu)先度設(shè)定為該容器的屬性。
圖19C表示在優(yōu)先度設(shè)定對(duì)話框1900中,設(shè)定由用戶以任意的值指定的優(yōu)先度的情況。使復(fù)選框1902有效,設(shè)定優(yōu)先度。當(dāng)使單選按鈕1906有效時(shí),文本框1907有效,能夠輸入優(yōu)先度(數(shù)值)。用戶可以對(duì)能夠輸入的文本框1907指定任意的值。通過按下確定按鈕1909,將在文本框1907所指定的優(yōu)先度設(shè)定為該容器的屬性。這樣,由于能夠設(shè)定各種優(yōu)先度,因此,易于生成用戶想要的布局。
返回圖18,在步驟S1803中,如上所述,進(jìn)行對(duì)容器設(shè)定由對(duì)話框1900所指定的優(yōu)先度的處理。在步驟S1804中,由用戶確認(rèn)優(yōu)先度的設(shè)定是否結(jié)束,如果需要也對(duì)其他容器設(shè)定優(yōu)先度,則反復(fù)進(jìn)行從步驟S1801開始的處理。如果優(yōu)先度的設(shè)定結(jié)束,則結(jié)束本處理。
接下來,說明步驟S1703的優(yōu)先度顯示處理。圖20是表示優(yōu)先度顯示處理的流程圖。以下,用圖21A~圖21C和圖22的用戶界面的顯示例,詳細(xì)說明各步驟的處理。
首先,在步驟S2001中,轉(zhuǎn)變成優(yōu)先度顯示模式。優(yōu)先度顯示模式是指,為了在用戶界面上對(duì)用戶顯示,在上述優(yōu)先度設(shè)定處理中對(duì)容器設(shè)定的所希望的優(yōu)先度,而進(jìn)行顯示的模式。該模式以提高可用性為目的進(jìn)行設(shè)定,通過使之顯示優(yōu)先度,明確表示當(dāng)前容器的設(shè)定狀態(tài)。
作為向優(yōu)先級(jí)顯示模式轉(zhuǎn)變的方法,例如可以使用圖21A~圖21C所示的界面。圖21A~圖21C表示通過本實(shí)施例的自動(dòng)布局系統(tǒng)所提供的菜單欄(2101)的顯示菜單,顯示的菜單列表(2102)。菜單列表中具有多個(gè)項(xiàng)目,其中具有“顯示優(yōu)先度”這樣的項(xiàng)目(2105)。該菜單列表與一般的Windows(注冊(cè)商標(biāo))應(yīng)用程序相同,也具有如標(biāo)號(hào)2103所示的2層結(jié)構(gòu)的菜單項(xiàng)目,或者如標(biāo)號(hào)2104所示的復(fù)選標(biāo)記。當(dāng)使鼠標(biāo)指針2106移動(dòng)到項(xiàng)目上時(shí),如圖21B所示,顯示網(wǎng)線(2107),使得表示該項(xiàng)目已被選擇。然后,當(dāng)在該狀態(tài)下點(diǎn)擊鼠標(biāo)時(shí),如圖21C所示,顯示復(fù)選標(biāo)記2108,轉(zhuǎn)變到優(yōu)先度顯示模式。在優(yōu)先度顯示模式的情況下進(jìn)行以上動(dòng)作時(shí),能夠解除優(yōu)先度顯示模式。另外,當(dāng)然,以上所示的方法表示一般的情況,向顯示模式轉(zhuǎn)變的方法可以不限于該方法。另外,也可以是不特別設(shè)定優(yōu)先度顯示模式,而總進(jìn)行優(yōu)先度顯示的模式。
返回到圖20的流程圖,在步驟S2002中,確認(rèn)是否在作為自動(dòng)布局系統(tǒng)的布局畫面的容器(這里,為容器C)上附有鼠標(biāo)(mouseover)。如果在容器C上附有鼠標(biāo),則進(jìn)入步驟S2003,通過用戶界面顯示容器C、和通過鏈接與容器C建立了關(guān)聯(lián)的容器的優(yōu)先度。
圖22表示用戶界面中的優(yōu)先度的顯示例。在圖22中,標(biāo)號(hào)2201表示本實(shí)施例的自動(dòng)布局系統(tǒng)的布局畫面。標(biāo)號(hào)2202表示在Windows(注冊(cè)商標(biāo))的對(duì)話框設(shè)定的窗口的最小化、縮小/放大、關(guān)閉的按鈕。標(biāo)號(hào)2203表示本系統(tǒng)的各種工具按鈕,圖示的是一例。標(biāo)號(hào)2204表示本系統(tǒng)的布局頁面,在該頁面內(nèi)配置容器生成布局模板。標(biāo)號(hào)2205表示容器。標(biāo)號(hào)2206表示表明容器間的關(guān)聯(lián)的鏈接。標(biāo)號(hào)2207表示與標(biāo)號(hào)2205相同的容器。為了說明的方便,從上依次標(biāo)注為A、B、C。標(biāo)號(hào)2208表示鼠標(biāo)指針。標(biāo)號(hào)2209表示UI顯示的優(yōu)先度。在圖22中,鼠標(biāo)指針位于容器A上(在容器A上附有鼠標(biāo))。于是,例如圖22的2209所使那樣,在各容器中顯示,容器A、通過鏈接與容器A建立了關(guān)聯(lián)的容器B、容器C的優(yōu)先度??梢郧宄谠摾又?,容器A被設(shè)定為高(75%),容器B、容器C被設(shè)定為中(50%)。
返回圖20,在步驟S2004中,判斷是否進(jìn)行了使顯示模式結(jié)束的指示。結(jié)束顯示模式的指示的例子如上所述。如果結(jié)束已被指示,則使優(yōu)先度顯示模式結(jié)束。另一方面,如果繼續(xù)進(jìn)行優(yōu)先度顯示模式,則反復(fù)進(jìn)行從步驟S2002開的處理。
關(guān)于優(yōu)先度顯示處理,示出的其他例子。圖23是表示優(yōu)先度顯示處理的其他例子的流程圖。為了說明各步驟的細(xì)節(jié),使用圖24的用戶界面顯示例。
首先,在步驟S2301中,轉(zhuǎn)變?yōu)閮?yōu)先度顯示模式。因?yàn)椴襟ES2301的處理與上述步驟S2001相同,因此省略說明。接下來,在步驟S2302中識(shí)別由鼠標(biāo)選擇出的容器。在上述優(yōu)先度顯示處理中,顯示附有鼠標(biāo)的容器和與該容器有關(guān)聯(lián)的容器的優(yōu)先度,但在本優(yōu)先度顯示處理中,顯示用戶用鼠標(biāo)任意地選擇出的容器的優(yōu)先度。如圖24所示,對(duì)容器A~H進(jìn)行了布局。將鼠標(biāo)指針2403移動(dòng)到所希望的容器上,按下點(diǎn)擊按鈕,從而選擇容器。被選擇出的容器,如2401所示,2401明確表示容器的邊緣發(fā)生變化,并被選擇。在步驟S2303中,顯示所選擇出的容器的優(yōu)先度。優(yōu)先度如2402那樣顯示。
這樣,通過顯示優(yōu)先度,用戶能夠把握以怎樣的經(jīng)過、原由來確定布局。
接下來,在步驟S2304中,判斷是否進(jìn)行了使顯示模式結(jié)束的指示。結(jié)束顯示模式的指示的例子,如在優(yōu)先度顯示處理(之一)所述那樣。如果指示了結(jié)束,則使優(yōu)先度顯示模式結(jié)束。另一方面,如果繼續(xù)進(jìn)行優(yōu)先度顯示模式,則反復(fù)進(jìn)行從步驟S2302開的處理。因此,在繼續(xù)進(jìn)行優(yōu)先度顯示模式期間,每當(dāng)通過鼠標(biāo)操作選擇了容器時(shí)就顯示該容器的優(yōu)先度。但是,考慮到提高可用性,也可以當(dāng)再次選擇已經(jīng)選擇一次的容器時(shí),返回到非選擇狀態(tài)。這時(shí),按預(yù)定的鍵(例如控制鍵)同時(shí)點(diǎn)擊鼠標(biāo),選擇容器,從而使多個(gè)容器為選擇狀態(tài),如圖24所示,也可以同時(shí)顯示多個(gè)容器的優(yōu)先度。
圖25是表示實(shí)施例的、考慮了優(yōu)先度的布局計(jì)算的概要的流程圖。
首先,在步驟S2501中,取得對(duì)正進(jìn)行布局的各容器所設(shè)定的優(yōu)先度。接下來,在步驟S2502中,對(duì)頁面的水平方向進(jìn)行布局計(jì)算。接下來,進(jìn)入步驟S2503,對(duì)頁面的垂直方向進(jìn)行布局計(jì)算。關(guān)于這些布局計(jì)算的細(xì)節(jié)將在后面說明。然后,在步驟S2504中,將步驟S2502和步驟S2503中的水平、垂直方向的布局計(jì)算結(jié)果,設(shè)定為布局后的計(jì)算結(jié)果。
以下,參照流程圖26詳細(xì)說明步驟S2502和步驟S2503的布局計(jì)算。
首先,在步驟S2601中,抽取成為布局計(jì)算對(duì)象的容器的集合(由通過鏈接建立了關(guān)聯(lián)的容器構(gòu)成的集合),在步驟S2602中,將所抽取的容器的集合個(gè)數(shù)賦給R。接下來,進(jìn)入步驟S2603,將0賦給變量r。在步驟S2604中,當(dāng)R為0時(shí),即,要計(jì)算的容器的集合為0個(gè)時(shí),意味著不存在正進(jìn)行布局的容器,因此,不進(jìn)行計(jì)算而結(jié)束本處理。另外,當(dāng)R不為0時(shí),在步驟S2605中進(jìn)行R與r的比較。當(dāng)r<R時(shí),為了對(duì)由r指定的容器的集合進(jìn)行布局計(jì)算,進(jìn)入步驟S2606。相反,當(dāng)r≥R時(shí),意味著對(duì)于要計(jì)算的容器的集合所有計(jì)算結(jié)束,因此,結(jié)束本處理。
從S2606開始是實(shí)際的布局計(jì)算處理。首先,在步驟S2606中,抽取由r指定的容器的集合(以下,稱作集合r)的容器個(gè)數(shù),將其賦給N。接下來,在步驟S2607中,將0賦給變量i。將在步驟S2608~步驟S2610所示的處理,反復(fù)進(jìn)行集合r所具有的容器個(gè)數(shù)那么多次,將對(duì)容器i所設(shè)定的優(yōu)先度賦給數(shù)組Prio[i]。這時(shí),當(dāng)存在未設(shè)定優(yōu)先度的容器時(shí),設(shè)定為中(50%)。當(dāng)優(yōu)先度的取得結(jié)束后,在步驟S2612中,對(duì)集合r進(jìn)行布局計(jì)算。布局計(jì)算的細(xì)節(jié)將在后面說明。當(dāng)對(duì)集合r布局計(jì)算結(jié)束后,進(jìn)入步驟S261 3將r增加1,返回步驟S2605。即,對(duì)接下來的容器的集合r進(jìn)行處理。當(dāng)對(duì)所有的容器集合結(jié)束處理時(shí),r≥R,從步驟S2605開始結(jié)束本處理。
接下來,使用圖27、圖28、圖29,說明步驟S2612的布局計(jì)算處理的細(xì)節(jié)。圖27表示對(duì)容器的各集合所進(jìn)行的布局計(jì)算的詳細(xì)流程。圖28是在將內(nèi)容插入了進(jìn)行布局的容器時(shí),在沒有優(yōu)先級(jí)的狀態(tài)下進(jìn)行了布局計(jì)算的情況下的,容器尺寸的計(jì)算例的圖例。圖29表示對(duì)圖28的圖例設(shè)定優(yōu)先度時(shí)的計(jì)算例。
首先,在步驟S2701中,對(duì)集合r使用最小二乘法和對(duì)各容器設(shè)定的優(yōu)先度,進(jìn)行布局計(jì)算。對(duì)于布局計(jì)算,將參照?qǐng)D28和圖29在后面具體說明。在步驟S2702中,判斷在步驟S2701中進(jìn)行了布局計(jì)算的結(jié)果是否違反了規(guī)則。這里,規(guī)則是指對(duì)容器設(shè)定的最大尺寸、最小尺寸和對(duì)鏈接設(shè)定的最大尺寸、最小尺寸。例如,當(dāng)所計(jì)算出的值不滿足所設(shè)定的最大尺寸、最小尺寸時(shí),就判斷為該容器違反了規(guī)則。當(dāng)存在判斷為違反了規(guī)則的容器時(shí),從步驟S2702進(jìn)入步驟S2703,對(duì)判斷為違反了規(guī)則的該容器進(jìn)行布局調(diào)整。
在此所示的布局調(diào)整是指,例如,設(shè)對(duì)容器A進(jìn)行了布局計(jì)算的結(jié)果,為水平方向的尺寸是10。但是,當(dāng)對(duì)容器A作為最小尺寸設(shè)定了15這樣的值時(shí),最小尺寸15優(yōu)先于計(jì)算結(jié)果10,容器A的水平方向的尺寸變?yōu)?5(步驟S2703)。但是,這里將本來計(jì)算為10的容器A的尺寸設(shè)定為15,因此,將15-10=5作為應(yīng)力(stress)重新賦予容器的集合。由于需要將該分量再次分配給布局集合內(nèi)的未違反規(guī)則的容器,因此,在步驟S2704中對(duì)這些容器重新進(jìn)行計(jì)算。反復(fù)進(jìn)行步驟S2702~S2704,直到違反規(guī)則不發(fā)生,如果違反規(guī)則沒有發(fā)生,則進(jìn)入步驟S2705,暫時(shí)保存所計(jì)算的布局。
以上,對(duì)于水平方向(S2502)、垂直方向(S2503),執(zhí)行用圖26和圖27說明的布局計(jì)算。對(duì)于水平方向和垂直方向分別計(jì)算結(jié)束之后,將在步驟S2705暫時(shí)保存的容器的布局,作為上述步驟S2504中計(jì)算后的布局,對(duì)各容器進(jìn)行設(shè)定。
對(duì)于上述步驟S2701的布局計(jì)算,將參照?qǐng)D28和圖29詳細(xì)說明。為了容易理解地展示考慮了優(yōu)先度的布局計(jì)算的效果,對(duì)于同一個(gè)布局,展示未考慮優(yōu)先度時(shí)的布局計(jì)算(圖28)和考慮了優(yōu)先度時(shí)的布局計(jì)算(圖29)。
用圖28說明未考慮優(yōu)先度時(shí)的布局計(jì)算。以標(biāo)號(hào)2801~2803表示的容器A、B、C,由固定鏈接2804建立了關(guān)聯(lián)。各容器和鏈接的水平方向的尺寸如圖所示,在水平方向上具有合計(jì)57這樣的尺寸。在該布局中,該水平方向的合計(jì)尺寸固定。在該布局中,以2805~2807表示的內(nèi)容A′、B′、C′重新將插入到容器中時(shí),產(chǎn)生應(yīng)力(布局的負(fù)荷)。
各內(nèi)容具有實(shí)際尺寸(理想尺寸)。各內(nèi)容的實(shí)際尺寸如圖所示,A′為17,B′為13,C′為27。當(dāng)內(nèi)容為文本時(shí),根據(jù)當(dāng)前內(nèi)容所具有的內(nèi)容量(字符量),和對(duì)數(shù)據(jù)的差入目的地也就是容器設(shè)定的字體尺寸、縱橫尺寸的可變/固定、最大值/最小值等,確定理想尺寸。另外,當(dāng)內(nèi)容為圖像時(shí),該圖像數(shù)據(jù)的尺寸(縱橫像素?cái)?shù))為理想尺寸。為了在將該內(nèi)容插入到容器中之后,以理想尺寸對(duì)所有容器進(jìn)行布局,必須要有17+5+13+7+27=69的水平尺寸,但是,如上所述,該布局的水平尺寸固定為57。因此,69-57=12成為該布局的應(yīng)力。接下來,將上述應(yīng)力分配給各容器。在本自動(dòng)布局系統(tǒng)中進(jìn)行計(jì)算,使得該應(yīng)力的相關(guān)影響最小,這時(shí)所使用的方法為最小二乘法。
設(shè)各容器的計(jì)算后的尺寸為a、b、c,與各容器相關(guān)的應(yīng)力的平方和也就是成本(cost)k可以表示為k=(a-17)2+(b-13)2+(c-27)2...(1)在該布局中,不進(jìn)行優(yōu)先度的設(shè)定,因此,成本k為最小可以表示為a-17=b-13=c-27...(2)并且,利用計(jì)算后的布局的尺寸,可以表示為a+5+b+7+c=57...(3)由等式(2)、(3),可以求出各容器的計(jì)算后的尺寸。這里,與各容器相關(guān)的應(yīng)力為4,計(jì)算后的各容器(2808~2810)A″、B″、C″的各尺寸如圖所示。
接下來,以圖29為例,說明在與圖28相同的布局中使用了優(yōu)先度時(shí)的計(jì)算方法。對(duì)容器A(2901)設(shè)定為75%的優(yōu)先度,對(duì)容器B(2902)設(shè)定為50%的優(yōu)先度,對(duì)容器C(2903)設(shè)定為25%的優(yōu)先度,通過這樣設(shè)定進(jìn)行說明。
布局計(jì)算的方法,與上述無優(yōu)先度設(shè)定時(shí)大致相同。首先,設(shè)各容器的計(jì)算后的尺寸為a、b、c,各容器的應(yīng)力的平方和也就是成本k,可以利用上式(1)求出。接下來,導(dǎo)出成本k為最小時(shí)的等式,但這次設(shè)定了優(yōu)先度,因此,需要將優(yōu)先度賦給各容器的應(yīng)力。因此,可以表示為75/100(a-17)=50/100(b-13)=25/100(c-27)...(4)并且,由上述式(3)表示計(jì)算后的布局尺寸。
由此,利用等式(4)、(3),求出考慮了優(yōu)先度的各容器的計(jì)算后的尺寸。這里,各容器的應(yīng)力由優(yōu)先度分配,計(jì)算后的各容器(2908~2910)A″、B″、C″的各尺寸為14.82、9.73、20.45。與圖28的無優(yōu)先度的布局計(jì)算結(jié)果相比,可知,優(yōu)先度高的容器,被以接近理想尺寸的尺寸布局。另外,在此的例子中,僅關(guān)于水平方向進(jìn)行了說明,而關(guān)于垂直方向的布局計(jì)算,也以同樣的方法來進(jìn)行。
即,在式(4)中,通過使優(yōu)先度發(fā)生作用,從而對(duì)于由鏈接建立了關(guān)聯(lián)的容器組,各容器的計(jì)算后的布局尺寸與對(duì)應(yīng)的內(nèi)容的理想尺寸的差的比,與對(duì)各容器所設(shè)定的優(yōu)先度的倒數(shù)的比相等。結(jié)果,優(yōu)先度越高的容器,與理想尺寸的差越小,能夠生成反映了內(nèi)容數(shù)據(jù)的理想尺寸(實(shí)際尺寸)的布局。
上述布局計(jì)算處理,表示與所插入的內(nèi)容的縱橫比例無關(guān)地進(jìn)行計(jì)算的處理。但是,在內(nèi)容具有縱橫比例的情況下(例如,圖像),如果與縱橫比例無關(guān)地確定了布局,則需要進(jìn)行裁剪,或者通過拉伸等改變縱橫比例顯示內(nèi)容。可知,為了以適當(dāng)?shù)某叽顼@示內(nèi)容,考慮縱橫比例更好。因此,下面,說明在上述布局計(jì)算處理中,進(jìn)一步考慮縱橫比例的布局計(jì)算處理。要考慮縱橫比例的容器,可以預(yù)先作為容器的屬性設(shè)定,也可以根據(jù)插入容器的內(nèi)容的屬性自動(dòng)地設(shè)定(例如,在內(nèi)容為圖像時(shí),對(duì)應(yīng)的容器被設(shè)定為考慮縱橫比例的容器)。
圖30是說明在自動(dòng)布局系統(tǒng)中考慮縱橫比例時(shí)的基本的布局計(jì)算處理的流程圖。
首先,在步驟S3001中,取得內(nèi)容尺寸和內(nèi)容所具有的縱橫比例。接下來,在步驟S3002中,對(duì)插入該內(nèi)容的容器的布局的水平方向或者垂直方向,進(jìn)行布局計(jì)算。當(dāng)對(duì)水平或垂直任意一個(gè)方向,布局計(jì)算結(jié)束后,在步驟S3003中,根據(jù)步驟S3002的計(jì)算結(jié)果和在步驟S3001中取得的縱橫比例,對(duì)剩余的一個(gè)方向確定尺寸。即,在上述未考慮縱橫比例的布局計(jì)算中,在水平和垂直兩個(gè)方向上,用最小二乘法進(jìn)行了計(jì)算;但是,在考慮縱橫比例的情況下,計(jì)算縱橫的任意一個(gè)方向上的布局后,另一個(gè)方向的布局,使用該容器的縱橫比例強(qiáng)制計(jì)算。
圖31A~圖31C表示考慮了縱橫比例時(shí)的布局計(jì)算的簡(jiǎn)單例子。在圖31A中,表示插入位于容器3101的內(nèi)容并進(jìn)行布局的狀態(tài)。容器的邊緣的狀態(tài)為標(biāo)號(hào)3102是固定邊,標(biāo)號(hào)3103是可變邊。設(shè)在該容器中插入圖31B所示的內(nèi)容3104。內(nèi)容3104的縱橫比例為X∶Y。插入了內(nèi)容的結(jié)果,如圖31C所示,假定從標(biāo)號(hào)3108所示的理想尺寸變?yōu)闃?biāo)號(hào)3107所示的尺寸。這時(shí)的布局計(jì)算,當(dāng)通過上述水平方向的布局計(jì)算處理求出X′后,對(duì)垂直方向求出Y′,使得X∶Y=X′∶Y′,而不使用上述布局計(jì)算處理。
圖32、圖33是表示在附加優(yōu)先度的布局計(jì)算處理中,考慮了內(nèi)容的縱橫比例時(shí)的布局計(jì)算處理的流程圖。另外,圖34是表示布局計(jì)算處理的布局例的圖。
在步驟S3201中,取得對(duì)各容器設(shè)定的優(yōu)先度。接下來,在步驟S3202中,進(jìn)行關(guān)于水平方向的布局計(jì)算。布局計(jì)算處理,如參照?qǐng)D26、圖27說明的那樣。水平方向的布局計(jì)算結(jié)束后,在步驟S3203中,檢測(cè)縱橫比例優(yōu)先的容器,對(duì)該容器進(jìn)行考慮了上述縱橫比例的布局計(jì)算。由步驟S3203的布局計(jì)算求出的垂直方向的尺寸在該時(shí)刻固定,在進(jìn)行步驟S3204的關(guān)于垂直方向的布局計(jì)算時(shí),該容器不作為計(jì)算對(duì)象。即,在步驟S3204中,對(duì)于考慮縱橫比例的容器,將在步驟S3203中計(jì)算出的尺寸作為固定使用,對(duì)垂直方向進(jìn)行布局計(jì)算。關(guān)于垂直方向的布局計(jì)算處理,其他處理如參照?qǐng)D26、圖27所述的那樣。然后,在步驟S3205中,水平·垂直方向的布局計(jì)算結(jié)束后,在存儲(chǔ)器上暫時(shí)保存各容器的布局。這里為了說明的方便,設(shè)在名為L(zhǎng)ayout1的區(qū)域,保存了布局信息。
在步驟S3205中,所計(jì)算出的布局只是暫時(shí)保存的,而不適用于各容器。因此,在該階段各容器的布局信息尚保持為計(jì)算前的狀態(tài)。
接下來,由步驟S3206~步驟S3209,先進(jìn)行對(duì)于垂直方向的布局計(jì)算,之后將進(jìn)行了水平方向的布局計(jì)算的結(jié)果保存為L(zhǎng)ayout2。首先,在步驟S3206中,對(duì)該容器集合進(jìn)行關(guān)于垂直方向的布局計(jì)算。布局計(jì)算處理如上所述。垂直方向的計(jì)算結(jié)束后,在步驟S3207中,檢測(cè)縱橫比例優(yōu)先的容器,對(duì)該容器進(jìn)行上述考慮了縱橫比例的布局計(jì)算。通過步驟S3207的布局計(jì)算所求出的水平方向的尺寸在該時(shí)刻固定。然后,在步驟S3208中,對(duì)水平方向進(jìn)行布局計(jì)算,在步驟S3207所求出的水平方向的尺寸作為固定處理。當(dāng)水平·垂直方向的布局計(jì)算結(jié)束后,進(jìn)入步驟S3209,將各容器的布局暫時(shí)保存在存儲(chǔ)器上。這里為了說明的方便,在名為L(zhǎng)ayout2的區(qū)域,保存布局信息。
如上所述,用水平方向→垂直方向和垂直方向→水平方向這兩種方法進(jìn)行布局計(jì)算的原因,是在考慮縱橫比例的布局計(jì)算中,先計(jì)算水平方向的情況,和先計(jì)算垂直方向的情況,最終計(jì)算出的布局不同。在步驟S3205和步驟S3209中,將2個(gè)圖形的布局結(jié)果預(yù)先暫時(shí)保存在存儲(chǔ)器上,判斷哪一個(gè)是最佳的布局,從而設(shè)定為最終的布局。為了進(jìn)行該處理,在步驟S3209之后,在步驟S3210中進(jìn)行布局調(diào)整。步驟S3210的處理參照?qǐng)D33在后面說明。通過該布局調(diào)整處理,最佳的布局結(jié)果反映在容器上,本處理結(jié)束。
圖33是說明步驟S3210的布局調(diào)整處理的流程圖。在布局調(diào)整處理中,對(duì)各容器的集合,判斷被保存在Layout1和Layout2中的布局中,哪一個(gè)更合適,對(duì)于各容器的集合,采用合適一方的布局,作為最終的計(jì)算結(jié)果(Layout3)。
首先,在步驟S3301中,將布局整體的容器的集合個(gè)數(shù)賦給N。接下來,在步驟S3302中,將0賦給變量i。在步驟S3205中被暫時(shí)保存的Layout1中,存在對(duì)各容器的集合布局的計(jì)算結(jié)果,而通過將該容器集合i的布局計(jì)算結(jié)果指定為L(zhǎng)ayout1[i]能夠取得。這對(duì)于Layout2也一樣。
然后,在步驟S3303中,從Layout1[i]中抽取考慮縱橫比例的容器P。這時(shí),當(dāng)考慮縱橫比例的容器存在多個(gè)時(shí),取得這些多個(gè)容器。在步驟S3304中,判斷是否已取得了多個(gè)容器。在已取得了多個(gè)容器時(shí),在步驟S3305中,設(shè)在所取得的容器內(nèi)優(yōu)先度最高的容器為容器P。在優(yōu)先度相同的容器具有多個(gè)時(shí),設(shè)在布局坐標(biāo)上最左上位置的容器為容器P。另外,當(dāng)未取得多個(gè)容器P時(shí),直接進(jìn)入步驟S3306。在步驟S3306中,對(duì)于在步驟S3303或者步驟S3305中取得的容器P,進(jìn)行Layout1[i]和Layout2[i]的尺寸的比較。然后,將接近插入容器P中的內(nèi)容的尺寸的布局結(jié)果賦給Layout_N[i]中。相反,將與容器尺寸差距大的布局結(jié)果賦給Layout_F[i]中。Layout例如,當(dāng)Layoutl[i]為接近容器尺寸的尺寸時(shí),Layout_N[i]=Layout1[i]。
接下來,在步驟S3308中,判斷對(duì)容器P設(shè)定的優(yōu)先度,是否大于或等于成為計(jì)算對(duì)象的容器集合中、其他容器的優(yōu)先度的平均值。在判斷為大于或等于時(shí),在步驟S3309中,將在步驟S3307所設(shè)定的Layout_N[i],賦給用于暫時(shí)保存而準(zhǔn)備的Layout3。相反,在低于平均值時(shí),進(jìn)入步驟S3310,將Layout_F[i]賦給Layout3。在賦值結(jié)束后,在步驟S3311中,刪除各暫時(shí)保存用的區(qū)域Layout_N[i]和Layout_F[i]。之后,在步驟S3312中,使變量i增加,在步驟S3313中,判斷對(duì)所有容器集合布局調(diào)整是否結(jié)束。如果對(duì)所有容器集合布局調(diào)整結(jié)束,則進(jìn)入步驟S3314,將暫時(shí)保存的布局調(diào)整結(jié)果Layout3設(shè)定為考慮了內(nèi)容的縱橫比例的布局計(jì)算的結(jié)果。如果尚未對(duì)所有容器集合結(jié)束處理,則返回到步驟S3303反復(fù)進(jìn)行處理。
圖34表示在進(jìn)行上述的考慮了內(nèi)容縱橫比例的布局計(jì)算時(shí)的布局例。設(shè)容器3401和容器3402以鏈接3403建立關(guān)聯(lián)。容器3401為插入圖像的圖像容器,容器3402為插入文本的文本容器。另外,容器3401的優(yōu)先度被設(shè)定為75%,容器3402的優(yōu)先度被設(shè)定為50%。進(jìn)而,對(duì)容器3401進(jìn)行考慮縱橫比例的設(shè)定。容器3401的尺寸為水平方向15、垂直方向8;容器3402的尺寸為水平方向20、垂直方向9;鏈接的寬為5。在該布局中,插入標(biāo)號(hào)3404所示的圖像內(nèi)容和標(biāo)號(hào)3405所示的文本內(nèi)容。圖像內(nèi)容的尺寸為水平方向22、垂直方向8;文本內(nèi)容的尺寸為水平方向25、垂直方向9。當(dāng)插入內(nèi)容時(shí),進(jìn)行上述布局計(jì)算。
設(shè)容器的計(jì)算后的尺寸為a、b,與布局相關(guān)的成本k可以表示為k=(a-22)2+(b-25)2...(5)另外,如果考慮各容器的優(yōu)先度,則成本k為最小時(shí),有75/100(a-22)=50/100(b-25)...(6)另外,由布局計(jì)算后的布局集合的尺寸,可以表示為a+b+5=40...(7)由等式(6)、(7),可以求出各容器的計(jì)算后的尺寸。計(jì)算后的容器3406的尺寸為17.2,容器3407的尺寸為17.8。進(jìn)而,由于對(duì)容器3406進(jìn)行了考慮縱橫比例的設(shè)定,因此,容器3406的垂直方向的尺寸,必須考慮3404的縱橫比例。為此,設(shè)容器3406的垂直方向的尺寸為X,則可以表示為22:8=17.2:X...(8)由式(8)求出X=6.25。由此,容器3406的垂直尺寸為6.25。標(biāo)號(hào)3408表示內(nèi)容尺寸??芍萜?406保持內(nèi)容的縱橫比例地變化。
在圖34中說明了僅考慮了水平方向的布局計(jì)算,而使用圖35、圖36說明考慮了水平方向和垂直方向的布局計(jì)算。即,除了對(duì)添加優(yōu)先度的布局計(jì)算處理,還對(duì)考慮了縱橫比例時(shí)的布局計(jì)算處理進(jìn)行說明,說明容器不僅在水平方向上,在水平和垂直兩方向上具有關(guān)聯(lián)時(shí)的布局計(jì)算方法。布局計(jì)算處理,通過利用由圖32所說明的順序,不僅在水平方向上,即使在水平方向和垂直方向上具有關(guān)聯(lián)的布局集合,也可以對(duì)其進(jìn)行布局計(jì)算。
圖35、圖36表示在水平方向和垂直方向上具有關(guān)聯(lián)的布局計(jì)算的例子。兩圖都處理相同的布局集合。圖35表示尚未設(shè)定優(yōu)先度時(shí)的例子,圖36表示設(shè)定了優(yōu)先度時(shí)的例子。使用這些圖說明本實(shí)施例的計(jì)算處理。
圖35表示由鏈接3504對(duì)容器3501、容器3502以及容器3503建立了關(guān)聯(lián)的布局集合的計(jì)算情況。另外,對(duì)容器3501進(jìn)行了考慮縱橫比例的設(shè)定,圖35的頁面尺寸假定為寬度60?,F(xiàn)在,將內(nèi)容3505插入容器3501,內(nèi)容3506插入容器3502,內(nèi)容3507插入容器3503。各理想尺寸如3505、3506、3507所示。此外,基于頁面寬度60,圖35的文本內(nèi)容數(shù)據(jù)3506被限定為寬度60。另外,文本內(nèi)容數(shù)據(jù)3507,考慮了頁面寬度(例如60)和頁面的邊距尺寸(例如,兩側(cè)每側(cè)尺寸為10),結(jié)果,寬度被限定為40。本發(fā)明可以用于下述兩種內(nèi)容數(shù)據(jù)中的任何一個(gè),即基于頁面寬度限定的文本內(nèi)容數(shù)據(jù),以及基于頁面寬度和頁面邊距尺寸限定的文本內(nèi)容數(shù)據(jù)。首先,進(jìn)行水平方向的布局計(jì)算(步驟S3202)。設(shè)計(jì)算后的水平方向的容器3501的尺寸為ah,容器3502的尺寸為bh,容器3503的尺寸為ch。與水平方向相關(guān)的成本kh可以表示為kh=(ah-22)2+(bh-60)2...(9)對(duì)于容器3503,由于水平方向的尺寸固定,因此不涉及成本。由于各容器的優(yōu)先度相等,因此,成本k最小時(shí),有ah-22=bh-60...(10)另外,由布局計(jì)算后的布局集合的尺寸,可以表示為ah+bh+5=40...(11)由等式(10)、(11),可以求出各容器的計(jì)算后的尺寸。計(jì)算后的容器3501的尺寸為-1.5,容器3502的尺寸為36.5。由于實(shí)際容器尺寸不可能為負(fù)值,因此,容器3501違反規(guī)則。對(duì)容器的尺寸設(shè)定有最大值和最小值,而無法設(shè)定負(fù)值。例如,當(dāng)對(duì)容器3501設(shè)定有最小值10和最大值30時(shí),容器3501無論與哪個(gè)應(yīng)力相關(guān)都不會(huì)是比10的尺寸小。此時(shí),無法分配的應(yīng)力被分配給其他的布局。這里,設(shè)向容器3502分配。因此,水平方向的布局結(jié)果為,容器3501是10,容器3502是25。另外,容器3503不變化,為40。
接下來,對(duì)垂直方向進(jìn)行尺寸計(jì)算。由于對(duì)容器3501進(jìn)行了考慮縱橫比例的設(shè)定,因此,通過水平尺寸10計(jì)算垂直方向的尺寸(步驟S3203)。設(shè)垂直方向的尺寸為av,則可以表示為22:8=10:av...(12)由式(12)求得av=3.6。由此,容器3501的垂直尺寸為3.6。
接下來,進(jìn)行垂直方向的布局計(jì)算(步驟S3204)。上述已求得容器3 501的垂直尺寸,由此,下面的等式成立3.6+3+cv=20...(13)cv是容器3503的垂直尺寸。
式(13)是對(duì)布局集合的垂直尺寸的等式,通過該等式求得cv=13.45。進(jìn)而,通過求得容器3503的垂直尺寸,下面的等式也成立bv+2+13.45=20...(14)bv是容器3502的垂直尺寸。式(14)是對(duì)布局集合的垂直尺寸的等式,通過該等式求得bv=4.6。將通過等式(9)~(14)求得的布局結(jié)果作為以水平·垂直的順序所計(jì)算出的布局結(jié)果暫時(shí)保存(步驟S3205)。
接下來,從垂直方向開始進(jìn)行相同的布局計(jì)算(步驟S3206)。垂直方向的成本存在以下的兩種模式(pattern)kv1=(av-8)2+(cv-10)2...(15)kv2=(bv-4)2+(cv-10)2...(16)以下,將基于式(15)的模式稱作模式A,將基于式(16)的模式稱作模式B。
首先,對(duì)模式A進(jìn)行計(jì)算。由于各容器的優(yōu)先度相等,因此,在成本kv1最小時(shí),有av-8=cv-10...(17)另外,利用布局計(jì)算后的布局集合的尺寸,可以表示為
av+cv+3=20...(18)利用等式(17)、(18)求解各容器的計(jì)算后的尺寸。計(jì)算后的容器3501尺寸為7.5,容器3503尺寸為9.5。結(jié)果,容器3502尺寸為8.5。將這樣求得的模式A的布局結(jié)果暫時(shí)保存起來。
接下來,對(duì)模式B進(jìn)行計(jì)算。由于各容器的優(yōu)先度相等,因此,在成本kv2最小時(shí),有bv-4=cv-10...(19)另外,利用布局計(jì)算后的布局集合的尺寸,可以表示為bv+cv+2=20...(20)利用等式(19)、(20)求解各容器的計(jì)算后的尺寸。計(jì)算后的容器3502尺寸為6,容器3503尺寸為12。結(jié)果,容器3501尺寸為5。將這樣求得的模式B的布局結(jié)果暫時(shí)保存起來。
接下來,抽取在容器集合中優(yōu)先度最高的容器。由于未對(duì)該容器集合設(shè)定布局的優(yōu)先度,因此全部相同。此時(shí),將存在于該容器集合的最左上位置的容器作為優(yōu)先度高的容器抽取。由此,抽取容器3501。這里,在暫時(shí)保存的上述模式A、模式B的布局結(jié)果中,檢測(cè)出使容器3501接近實(shí)際尺寸地進(jìn)行布局的模式。容器3501的實(shí)際尺寸為8,因此,將被計(jì)算為7.5的基于式(15)的模式A的布局結(jié)果處理成垂直方向的布局結(jié)果。
接下來,對(duì)水平方向進(jìn)行計(jì)算(步驟S3207、步驟S3208)。由于對(duì)容器3501進(jìn)行了考慮縱橫比例的設(shè)定,因此,根據(jù)垂直尺寸7.5計(jì)算水平方向的尺寸(步驟S3207)。設(shè)水平方向的尺寸為ah,則可以表示為22:8=ah:7.5...(21)利用式(21)求得ah=20。由此,容器3501的水平尺寸為20.6。
這里,通過求得容器3501的水平尺寸,下的等式成立20.6+5+bh=40...(22)bh是容器3502的水平尺寸。式(22)是對(duì)布局集合的水平尺寸的等式,利用該等式求得bh=14.4。因?yàn)槿萜?603的水平尺寸固定,所以保持原樣為40。將利用以上等式(15)~(22)求得的布局結(jié)果作為按垂直·水平的順序所計(jì)算出的布局結(jié)果暫時(shí)保存(步驟S3209)。
接下來,通過比較按水平方向、垂直方向的順序計(jì)算后暫時(shí)保存的布局結(jié)果,和按垂直方向、水平方向的順序計(jì)算后暫時(shí)保存的布局結(jié)果,進(jìn)行布局調(diào)整(步驟S3210)。如上所述,由于未對(duì)該布局集合設(shè)定優(yōu)先度,因此,將位于最左上位置的容器3501作為優(yōu)先度最高的容器處理。將該容器3501的布局結(jié)果接近理想尺寸的一個(gè),設(shè)定為布局集合的布局結(jié)果。按水平·垂直的順序?qū)θ萜?501計(jì)算出的布局結(jié)果為,水平方向10,垂直方向3.6。按垂直·水平的順序計(jì)算出的布局結(jié)果為水平方向20.6,垂直方向7.5。插入容器3501的內(nèi)容3505的實(shí)際尺寸(理想尺寸)為水平方向22,垂直方向8,因此,按垂直·水平的順序所計(jì)算出的布局結(jié)果這一方,為接近實(shí)際尺寸(理想尺寸)的布局。因此,將按垂直·水平的順序計(jì)算出的布局結(jié)果設(shè)定為容器集合的布局結(jié)果(步驟S3307~步驟S3309)。計(jì)算后的布局結(jié)果如容器3508~3510所示。此外,由于本次進(jìn)行布局調(diào)整時(shí)的對(duì)象是圖像數(shù)據(jù),因此,實(shí)際尺寸就是理想尺寸;而在對(duì)象是文本數(shù)據(jù)時(shí),基于文本數(shù)據(jù)所保持的內(nèi)容量和插入文本數(shù)據(jù)的容器的字體屬性、容器屬性,來確定理想尺寸。
接下來,說明圖36的布局流程。圖36是對(duì)與圖35相同的布局集合設(shè)定了優(yōu)先度的圖。容器3601的優(yōu)先度被設(shè)定為75%,容器3602的優(yōu)先度被設(shè)定為50%,容器3603的優(yōu)先度被設(shè)定為25%。對(duì)這些容器插入內(nèi)容3605、內(nèi)容3606、內(nèi)容3607。內(nèi)容的尺寸以及頁面寬度(60),與圖35的情況相同。
首先,取得對(duì)各容器設(shè)定的優(yōu)先度(步驟S3201),進(jìn)行水平方向的布局計(jì)算(步驟S3202)。作為計(jì)算后的水平方向的容器尺寸,設(shè)3601為ah,3602為bh,3603為ch。與水平方向相關(guān)的成本kh可以表示為kh=(ah-22)2+(bh-60)2...(23)對(duì)于容器3603,由于水平方向的尺寸固定,因此不涉及成本。
在考慮了各容器的優(yōu)先度的基礎(chǔ)上,成本k最小時(shí),有75/100(ah-22)=50/100(bh-60)...(24)另外,利用布局計(jì)算后的布局集合的尺寸,可以表示為ah+bh+5=40...(25)利用等式(24)、(25),求出各容器的計(jì)算后的尺寸。計(jì)算后的容器3601的尺寸為3.5,容器3602的尺寸為31.5。這里,與圖35相同,對(duì)容器3601設(shè)定有最小值10和最大值30,于是,水平方向的布局結(jié)果為,容器3601是10,容器3602是25。另外,由于容器3603不變化,所以為40。
接下來,對(duì)垂直方向進(jìn)行計(jì)算(步驟S3203、步驟S3204)。由于對(duì)容器3601進(jìn)行了考慮縱橫比例的設(shè)定,因此,根據(jù)平尺寸10計(jì)算垂直方向的尺寸。設(shè)垂直方向的尺寸為av,則可以表示為22:8=10:av...(26)利用式(26)求得av=3.6。由此,容器3601的垂直尺寸為3.6。
這里,通過求得容器3601的垂直尺寸,下面的等式成立3.6+3+cv=20...(27)cv是容器3603的垂直尺寸。式(27)是對(duì)布局集合的垂直尺寸的等式,利用該等式求得cv=13.45。進(jìn)而,通過求得容器3603的垂直尺寸,下面的等式也成立bv+2+13.45=20...(28)這里,bv是容器3602的垂直尺寸。式(28)是對(duì)布局集合的垂直尺寸的等式,利用該等式求得bv=4.6。將利用上述式(23)~(28)求得的布局結(jié)果,作為按水平·垂直的順序計(jì)算出的布局結(jié)果暫時(shí)保存(步驟S3205)。
接下來,從垂直方向開始進(jìn)行布局計(jì)算(步驟S3206)。垂直方向的成本存在以下的兩種kv1=(av-8)2+(cv-10)2...(29)kv2=(bv-4)2+(cv-10)2...(30)以下,將利用式(29)進(jìn)行的布局計(jì)算設(shè)為模式A,將利用式(30)進(jìn)行的布局計(jì)算設(shè)為模式B。首先,對(duì)模式A進(jìn)行計(jì)算。
在考慮了各容器的優(yōu)先度的基礎(chǔ)上,在成本kv1最小時(shí),有75/100(av-8)=25/100(cv-10)...(31)另外,利用布局計(jì)算后的布局集合的尺寸,可以表示為av+cv+3=20...(32)利用等式(31)、(32)求解各容器的計(jì)算后的尺寸。計(jì)算后的容器3601尺寸為7.6,容器3603尺寸為9.4。結(jié)果,容器3602尺寸為8.6。將該模式A的布局結(jié)果暫時(shí)保存起來。
接下來,對(duì)模式B進(jìn)行計(jì)算。由于各容器的優(yōu)先度相等,因此,在成本kv2最小時(shí),有50/100(bv-4)=25/100(cv-10)...(33)另外,利用布局計(jì)算后的布局集合的尺寸,可以表示為bv+cv+2=20...(34)利用等式(33)、(34)求解各容器的計(jì)算后的尺寸。計(jì)算后的容器3602尺寸為5.3,容器3603尺寸為12.7。結(jié)果,容器3601尺寸為4.3。將該模式B的布局結(jié)果暫時(shí)保存起來。
這里,抽取在容器集合中優(yōu)先度最高的容器。在該容器集合中優(yōu)先度被設(shè)定得最高的是容器3601。這里,在暫時(shí)保存的上述模式A和模式B的布局結(jié)果中,檢測(cè)出使容器3601接近實(shí)際尺寸地進(jìn)行布局的模式。由于插入容器3601的內(nèi)容3605的實(shí)際尺寸為8,因此,將計(jì)算為7.6的模式A的布局結(jié)果,作為垂直方向的布局結(jié)果處理。
接下來,對(duì)水平方向進(jìn)行計(jì)算(步驟S3207、步驟S3208)。由于對(duì)容器3601進(jìn)行了考慮縱橫比例的設(shè)定,因此,根據(jù)垂直尺寸7.6計(jì)算水平方向的尺寸(步驟S3207)。設(shè)水平方向的尺寸為ah,則可以表示為22:8=ah:7.6...(35)利用式(35)求得ah=20.9。由此,容器3601的水平尺寸為20.9。這里,通過求得容器3601的水平尺寸,下面的等式成立20.9+5+bh=40...(36)
bh是容器3602的水平尺寸。式(36)是對(duì)布局集合的水平尺寸的等式,利用該等式求得bh=14.1。由于容器3603的水平尺寸固定,因此保持原樣為40。
以上,將例用式(29)~(36)求得的布局結(jié)果,作為按垂直·水平的順序計(jì)算出的布局結(jié)果暫時(shí)保存(步驟S3209)。
接下來,通過比較按水平·垂直的順序計(jì)算后暫時(shí)保存的布局結(jié)果,按垂直·水平的順序計(jì)算后暫時(shí)保存的布局結(jié)果,進(jìn)行布局調(diào)整(步驟S3210)。在該布局集合中,由于容器3601為優(yōu)先度最高的容器,因此,將該容器3601的布局結(jié)果接近理想尺寸的一個(gè),設(shè)定為布局集合的布局結(jié)果。按水平·垂直的順序,對(duì)容器3601計(jì)算出的布局結(jié)果為,水平方向10,垂直方向3.6。按垂直·水平的順序計(jì)算出的布局結(jié)果為,水平方向20.9,垂直方向7.6。插入容器3601的內(nèi)容3605的實(shí)際尺寸為,水平方向22,垂直方向8,因此,按垂直·水平的順序計(jì)算出的布局結(jié)果這一方,為接近實(shí)際尺寸的布局。因此,將按垂直·水平的順序計(jì)算出的布局結(jié)果,設(shè)定為容器集合的布局結(jié)果(步驟S3307~步驟S3309)。計(jì)算后的布局結(jié)果,在圖36中如容器3608~3610所示。這樣,通過比較按水平·垂直或者按垂直·水平這兩種順序計(jì)算后的計(jì)算結(jié)果,能夠生成最佳的布局。
與圖35的布局結(jié)果相比較,可知,設(shè)定了優(yōu)先度的圖36的布局結(jié)果為,優(yōu)先度設(shè)定得高的容器,被最適當(dāng)?shù)?接近理想尺寸)布局。
以上說明的自動(dòng)布局系統(tǒng)(布局編輯應(yīng)用程序121)的功能結(jié)構(gòu),例如如圖37所示。在圖37中,布局編輯應(yīng)用程序,實(shí)現(xiàn)下述布局處理,即根據(jù)插入該多個(gè)數(shù)據(jù)區(qū)域中的各區(qū)域的內(nèi)容數(shù)據(jù),自動(dòng)變更具有多個(gè)數(shù)據(jù)區(qū)域的模板的布局。該布局處理,包括抽取部3701、確定部3702以及輸出部3703。抽取部3701,抽取通過鏈接建立關(guān)聯(lián)的數(shù)據(jù)區(qū)域的集合。確定部3702,對(duì)于由抽取部3701所抽取的數(shù)據(jù)區(qū)域的集合中所包含的多個(gè)數(shù)據(jù)區(qū)域,根據(jù)插入各數(shù)據(jù)區(qū)域的內(nèi)容數(shù)據(jù)所要求的內(nèi)容尺寸,和基于對(duì)各數(shù)據(jù)區(qū)域設(shè)定的優(yōu)先度的權(quán)重,確定各數(shù)據(jù)區(qū)域的區(qū)域尺寸。輸出部3703,根據(jù)由確定部3702所確定的上述多個(gè)數(shù)據(jù)區(qū)域的區(qū)域尺寸,將上述內(nèi)容數(shù)據(jù)布局輸出。
如上所述,通過本實(shí)施例,在自動(dòng)布局系統(tǒng)中,多個(gè)容器被建立了關(guān)聯(lián),相互帶來影響同時(shí)使布局變化,即使在這樣的情況下,也能夠考慮要插入的內(nèi)容數(shù)據(jù)的內(nèi)容尺寸,同時(shí)對(duì)各容器設(shè)定優(yōu)先級(jí),因此,能夠使用戶想要的容器比其他容器優(yōu)先地,計(jì)算容器尺寸(區(qū)域尺寸)。另外,通過附加基于設(shè)定的優(yōu)先度(比例)的權(quán)重來計(jì)算,從而能夠設(shè)定各種變動(dòng)的優(yōu)先級(jí),能夠在相互的容器之間協(xié)調(diào)進(jìn)行布局計(jì)算。并且,能夠可視地表示設(shè)定了的優(yōu)先級(jí),因此,用戶能夠容易地預(yù)測(cè)自動(dòng)布局后的布局結(jié)果。
另外,當(dāng)然,本發(fā)明還可以通過以下方式實(shí)現(xiàn),即向系統(tǒng)或裝置提供存儲(chǔ)了實(shí)現(xiàn)上述實(shí)施例的功能的軟件的程序代碼的存儲(chǔ)介質(zhì)(或記錄介質(zhì)),該系統(tǒng)或裝置的計(jì)算機(jī)(或CPU、MPU)讀出并執(zhí)行存儲(chǔ)在存儲(chǔ)介質(zhì)中的程序代碼。
這時(shí),從存儲(chǔ)介質(zhì)讀出的程序代碼本身,實(shí)現(xiàn)上述實(shí)施例的功能,存儲(chǔ)了該程序代碼的存儲(chǔ)介質(zhì)構(gòu)成本發(fā)明。此外,不僅有通過執(zhí)行計(jì)算機(jī)所讀出的程序代碼,實(shí)現(xiàn)上述實(shí)施例的功能的情況,當(dāng)然還包括以下情況,即按照該程序代碼的指示,在計(jì)算機(jī)上運(yùn)行的操作系統(tǒng)(OS)等,進(jìn)行實(shí)際處理的一部分或全部,通過該處理,實(shí)現(xiàn)上述實(shí)施例的功能。
當(dāng)然,還包括以下情況將從存儲(chǔ)介質(zhì)讀出的程序代碼,寫入插入計(jì)算機(jī)的功能擴(kuò)展卡或連接在計(jì)算機(jī)上的功能擴(kuò)展單元所具備的存儲(chǔ)器,之后,按照該程序代碼的指示,該功能擴(kuò)展卡或功能擴(kuò)展單元所具備的CPU等進(jìn)行實(shí)際處理的一部分或全部,通過該處理,實(shí)現(xiàn)上述實(shí)施例的功能。
另外,當(dāng)然,本發(fā)明還可以通過以下方式實(shí)現(xiàn),即通過網(wǎng)絡(luò)發(fā)送實(shí)現(xiàn)上述實(shí)施例的功能的軟件的程序代碼,從而將其存儲(chǔ)在系統(tǒng)或裝置的硬盤、存儲(chǔ)器等存儲(chǔ)裝置,或CD-RW、CD-R等存儲(chǔ)介質(zhì)中,該系統(tǒng)或裝置的計(jì)算機(jī)(或CPU、MPU),讀出并執(zhí)行存儲(chǔ)在該存儲(chǔ)裝置或該存儲(chǔ)介質(zhì)中的程序代碼。
如上所述,通過本發(fā)明,按照對(duì)各數(shù)據(jù)區(qū)域設(shè)定的優(yōu)先度,確定用于插入數(shù)據(jù)的數(shù)據(jù)區(qū)域的尺寸,因此,能夠?qū)崿F(xiàn)較好地滿足用戶要求的布局處理。
權(quán)利要求
1.一種布局處理方法,根據(jù)插入多個(gè)數(shù)據(jù)區(qū)域的各區(qū)域中的內(nèi)容數(shù)據(jù),動(dòng)態(tài)地變更具有該多個(gè)數(shù)據(jù)區(qū)域的模板的布局,所述布局處理方法包括抽取步驟,抽取通過鏈接建立了關(guān)聯(lián)的數(shù)據(jù)區(qū)域的集合;確定步驟,對(duì)于在上述抽取步驟中所抽取的數(shù)據(jù)區(qū)域的集合中所包含的多個(gè)數(shù)據(jù)區(qū)域,根據(jù)插入各數(shù)據(jù)區(qū)域的內(nèi)容數(shù)據(jù)所要求的內(nèi)容尺寸,以及基于對(duì)各數(shù)據(jù)區(qū)域所設(shè)定的優(yōu)先度的權(quán)重,確定各數(shù)據(jù)區(qū)域的區(qū)域尺寸;以及輸出步驟,根據(jù)在上述確定步驟中確定了的上述多個(gè)數(shù)據(jù)區(qū)域的區(qū)域尺寸,對(duì)上述內(nèi)容數(shù)據(jù)進(jìn)行布局并輸出。
2.根據(jù)權(quán)利要求1所述的布局處理方法,包括模板生成步驟,將上述數(shù)據(jù)區(qū)域作為要進(jìn)行布局的布局范圍,對(duì)其進(jìn)行配置,生成設(shè)定了對(duì)上述各數(shù)據(jù)區(qū)域建立關(guān)聯(lián)的鏈接的模板,上述確定步驟,根據(jù)在上述模板生成步驟中所生成的模板,確定上述各數(shù)據(jù)區(qū)域的區(qū)域尺寸。
3.根據(jù)權(quán)利要求2所述的布局處理方法,包括數(shù)據(jù)區(qū)域設(shè)定步驟,將要在上述確定步驟確定的上述數(shù)據(jù)區(qū)域的最大尺寸和最小尺寸,作為數(shù)據(jù)區(qū)域?qū)傩栽O(shè)定,上述確定步驟,根據(jù)上述模板和上述數(shù)據(jù)區(qū)域?qū)傩?,確定各數(shù)據(jù)區(qū)域的區(qū)域尺寸。
4.根據(jù)權(quán)利要求1所述的布局處理方法,上述確定步驟,確定上述多個(gè)數(shù)據(jù)區(qū)域的各區(qū)域中的區(qū)域尺寸,使得優(yōu)先度越高的數(shù)據(jù)區(qū)域,所計(jì)算出的數(shù)據(jù)區(qū)域的區(qū)域尺寸與插入該數(shù)據(jù)區(qū)域的內(nèi)容數(shù)據(jù)要求的內(nèi)容尺寸的差越小。
5.根據(jù)權(quán)利要求4所述的布局處理方法,在上述確定步驟中,所計(jì)算出的上述多個(gè)數(shù)據(jù)區(qū)域的各區(qū)域中的區(qū)域尺寸與所插入的上述內(nèi)容數(shù)據(jù)要求的內(nèi)容尺寸的差的比,為對(duì)該多個(gè)數(shù)據(jù)區(qū)域的各區(qū)域中所設(shè)定的優(yōu)先度的倒數(shù)的比。
6.根據(jù)權(quán)利要求1所述的布局處理方法,還包括設(shè)定步驟,顯示用于對(duì)各數(shù)據(jù)區(qū)域設(shè)定優(yōu)先度的界面。
7.根據(jù)權(quán)利要求1所述的布局處理方法,還包括顯示步驟,顯示對(duì)所指定的數(shù)據(jù)區(qū)域和通過鏈接與該所指定的數(shù)據(jù)區(qū)域建立了關(guān)聯(lián)的數(shù)據(jù)區(qū)域所設(shè)定的優(yōu)先度。
8.根據(jù)權(quán)利要求1所述的布局處理方法,還包括顯示步驟,顯示對(duì)所指定的數(shù)據(jù)區(qū)域所設(shè)定的優(yōu)先度。
9.根據(jù)權(quán)利要求1所述的布局處理方法,上述確定步驟包括第1計(jì)算步驟,對(duì)上述數(shù)據(jù)區(qū)域的集合中所包含的多個(gè)數(shù)據(jù)區(qū)域,計(jì)算插入各數(shù)據(jù)區(qū)域的內(nèi)容數(shù)據(jù)所要求的第1方向內(nèi)容尺寸,并根據(jù)對(duì)各數(shù)據(jù)區(qū)域所設(shè)定的優(yōu)先度計(jì)算各數(shù)據(jù)區(qū)域的該第1方向區(qū)域尺寸;以及第2計(jì)算步驟,計(jì)算上述內(nèi)容數(shù)據(jù)要求的第2方向內(nèi)容尺寸,并根據(jù)對(duì)各數(shù)據(jù)區(qū)域所設(shè)定的優(yōu)先度計(jì)算各數(shù)據(jù)區(qū)域的該第2方向區(qū)域尺寸;根據(jù)在上述第1計(jì)算步驟中計(jì)算出的上述數(shù)據(jù)區(qū)域的該第1方向區(qū)域尺寸,和在上述第2計(jì)算步驟中計(jì)算出的上述數(shù)據(jù)區(qū)域的該第2方向區(qū)域尺寸,確定上述數(shù)據(jù)區(qū)域的區(qū)域尺寸。
10.根據(jù)權(quán)利要求9所述的布局處理方法,上述確定步驟,在上述數(shù)據(jù)區(qū)域中,當(dāng)設(shè)定了縱橫比例時(shí),根據(jù)在上述第1計(jì)算步驟中所計(jì)算出的上述第1方向區(qū)域尺寸和上述縱橫比例,確定上述第2方向區(qū)域尺寸。
11.根據(jù)權(quán)利要求10所述的布局處理方法,上述確定步驟包括垂直·水平方向區(qū)域尺寸計(jì)算步驟,在上述數(shù)據(jù)區(qū)域中設(shè)定了縱橫比例,在上述第1方向?yàn)榇怪狈较驎r(shí),根據(jù)上述數(shù)據(jù)區(qū)域的垂直方向的區(qū)域尺寸的計(jì)算結(jié)果,計(jì)算上述數(shù)據(jù)區(qū)域的水平方向的區(qū)域尺寸;水平·垂直方向區(qū)域尺寸計(jì)算步驟,在上述第1方向?yàn)樗椒较驎r(shí),根據(jù)上述數(shù)據(jù)區(qū)域的水平方向的區(qū)域尺寸的計(jì)算結(jié)果,計(jì)算上述數(shù)據(jù)區(qū)域的垂直方向的區(qū)域尺寸;以及布局設(shè)定步驟,將在上述垂直·水平方向區(qū)域尺寸計(jì)算步驟或上述水平·垂直方向區(qū)域尺寸計(jì)算步驟中所計(jì)算出的上述數(shù)據(jù)區(qū)域的區(qū)域尺寸中的、接近要插入上述數(shù)據(jù)區(qū)域的上述內(nèi)容數(shù)據(jù)尺寸的區(qū)域尺寸,設(shè)定為布局結(jié)果。
12.一種信息處理裝置,根據(jù)插入多個(gè)數(shù)據(jù)區(qū)域的各區(qū)域中的內(nèi)容數(shù)據(jù),動(dòng)態(tài)地變更具有該多個(gè)數(shù)據(jù)區(qū)域的模板的布局,所述信息處理裝置包括抽取裝置,抽取通過鏈接建立了關(guān)聯(lián)的數(shù)據(jù)區(qū)域的集合;確定裝置,對(duì)于由上述抽取裝置所抽取的數(shù)據(jù)區(qū)域的集合中所包含的多個(gè)數(shù)據(jù)區(qū)域,根據(jù)插入各數(shù)據(jù)區(qū)域的內(nèi)容數(shù)據(jù)所要求的內(nèi)容尺寸,以及基于對(duì)各數(shù)據(jù)區(qū)域所設(shè)定的優(yōu)先度的權(quán)重,確定各數(shù)據(jù)區(qū)域的區(qū)域尺寸;以及輸出裝置,根據(jù)上述確定裝置所確定的上述多個(gè)數(shù)據(jù)區(qū)域的區(qū)域尺寸,對(duì)上述內(nèi)容數(shù)據(jù)進(jìn)行布局并輸出。
13.根據(jù)權(quán)利要求12所述的信息處理裝置,包括模板生成裝置,將上述數(shù)據(jù)區(qū)域作為要進(jìn)行布局的布局范圍,進(jìn)行配置,生成設(shè)定了對(duì)上述各數(shù)據(jù)區(qū)域建立關(guān)聯(lián)的鏈接的模板,上述確定裝置,根據(jù)上述模板生成裝置所生成的模板,確定上述各數(shù)據(jù)區(qū)域的區(qū)域尺寸。
14.根據(jù)權(quán)利要求13所述的信息處理裝置,包括數(shù)據(jù)區(qū)域設(shè)定裝置,將要由上述確定裝置確定的上述數(shù)據(jù)區(qū)域的最大尺寸和最小尺寸,作為數(shù)據(jù)區(qū)域?qū)傩栽O(shè)定,上述確定裝置,根據(jù)上述模板和上述數(shù)據(jù)區(qū)域?qū)傩裕_定各數(shù)據(jù)區(qū)域的區(qū)域尺寸。
15.根據(jù)權(quán)利要求12所述的信息處理裝置,上述確定裝置,確定上述多個(gè)數(shù)據(jù)區(qū)域的各區(qū)域的區(qū)域尺寸,使得優(yōu)先度越高的數(shù)據(jù)區(qū)域,所計(jì)算出的數(shù)據(jù)區(qū)域的區(qū)域尺寸與插入該數(shù)據(jù)區(qū)域的內(nèi)容數(shù)據(jù)要求的內(nèi)容尺寸的差越小。
16.根據(jù)權(quán)利要求15所述的信息處理裝置,在上述確定裝置中,所計(jì)算出的上述多個(gè)數(shù)據(jù)區(qū)域中的各區(qū)域的區(qū)域尺寸與所插入的上述內(nèi)容數(shù)據(jù)要求的內(nèi)容尺寸的差的比,為對(duì)該多個(gè)數(shù)據(jù)區(qū)域中的各區(qū)域所設(shè)定的優(yōu)先度的倒數(shù)的比。
17.根據(jù)權(quán)利要求12所述的信息處理裝置,還包括設(shè)定裝置,顯示用于對(duì)各數(shù)據(jù)區(qū)域設(shè)定優(yōu)先度的界面。
18.根據(jù)權(quán)利要求12所述的信息處理裝置,還包括顯示裝置,顯示對(duì)所指定的數(shù)據(jù)區(qū)域和通過鏈接與該所指定的數(shù)據(jù)區(qū)域建立了關(guān)聯(lián)的數(shù)據(jù)區(qū)域所設(shè)定的優(yōu)先度。
19.根據(jù)權(quán)利要求12所述的信息處理裝置,還包括顯示裝置,顯示對(duì)所指定的數(shù)據(jù)區(qū)域所設(shè)定的優(yōu)先度。
20.根據(jù)權(quán)利要求12所述的信息處理裝置,上述確定裝置包括第1計(jì)算裝置,對(duì)于上述數(shù)據(jù)區(qū)域的集合中所包含的多個(gè)數(shù)據(jù)區(qū)域,計(jì)算插入各數(shù)據(jù)區(qū)域的內(nèi)容數(shù)據(jù)要求的第1方向內(nèi)容尺寸,并根據(jù)對(duì)各數(shù)據(jù)區(qū)域所設(shè)定的優(yōu)先度,計(jì)算各數(shù)據(jù)區(qū)域的該第1方向區(qū)域尺寸;以及第2計(jì)算裝置,計(jì)算上述內(nèi)容數(shù)據(jù)所要求的第2方向內(nèi)容尺寸,并根據(jù)對(duì)各數(shù)據(jù)區(qū)域所設(shè)定的優(yōu)先度計(jì)算各數(shù)據(jù)區(qū)域的該第2方向區(qū)域尺寸;根據(jù)由上述第1計(jì)算裝置所計(jì)算出的上述數(shù)據(jù)區(qū)域的該第1方向區(qū)域尺寸,和由上述第2計(jì)算裝置所計(jì)算出的上述數(shù)據(jù)區(qū)域的該第2方向區(qū)域尺寸,確定上述數(shù)據(jù)區(qū)域的區(qū)域尺寸。
21.根據(jù)權(quán)利要求20所述的信息處理裝置,上述確定裝置,在上述數(shù)據(jù)區(qū)域中,當(dāng)設(shè)定了縱橫比例時(shí),根據(jù)在上述第1計(jì)算單元所計(jì)算出的上述第1方向區(qū)域尺寸和上述縱橫比例,確定上述第2方向區(qū)域尺寸。
22.根據(jù)權(quán)利要求21所述的信息處理裝置,上述確定裝置包括垂直·水平方向區(qū)域尺寸計(jì)算裝置,在上述數(shù)據(jù)區(qū)域中設(shè)定了縱橫比例,上述第1方向?yàn)榇怪狈较驎r(shí),根據(jù)上述數(shù)據(jù)區(qū)域的垂直方向的區(qū)域尺寸的計(jì)算結(jié)果,計(jì)算上述數(shù)據(jù)區(qū)域的水平方向的區(qū)域尺寸;水平·垂直方向區(qū)域尺寸計(jì)算裝置,在上述第1方向?yàn)樗椒较驎r(shí),根據(jù)上述數(shù)據(jù)區(qū)域的水平方向的區(qū)域尺寸的計(jì)算結(jié)果,計(jì)算上述數(shù)據(jù)區(qū)域的垂直方向的區(qū)域尺寸;以及布局設(shè)定裝置,將由上述垂直·水平方向區(qū)域尺寸計(jì)算裝置或上述水平·垂直方向區(qū)域尺寸計(jì)算裝置計(jì)算出的上述數(shù)據(jù)區(qū)域的區(qū)域尺寸中的最佳區(qū)域尺寸,設(shè)定為布局結(jié)果。
全文摘要
本發(fā)明提供一種布局處理方法、信息處理裝置,該布局處理方法根據(jù)插入多個(gè)數(shù)據(jù)區(qū)域的各區(qū)域中的數(shù)據(jù),動(dòng)態(tài)地變更具有上述多個(gè)數(shù)據(jù)區(qū)域的模板的布局。在本發(fā)明的布局處理方法中,抽取通過鏈接建立了關(guān)聯(lián)的數(shù)據(jù)區(qū)域的集合,對(duì)已抽取的數(shù)據(jù)區(qū)域的集合中所包含的多個(gè)數(shù)據(jù)區(qū)域,根據(jù)插入各數(shù)據(jù)區(qū)域的內(nèi)容數(shù)據(jù)所要求的內(nèi)容尺寸,以及基于對(duì)各數(shù)據(jù)區(qū)域所設(shè)定的優(yōu)先度的權(quán)重,確定各數(shù)據(jù)區(qū)域的區(qū)域尺寸,根據(jù)這樣確定了的多個(gè)數(shù)據(jù)區(qū)域的區(qū)域尺寸,對(duì)數(shù)據(jù)進(jìn)行布局并輸出。
文檔編號(hào)G06F17/30GK1731391SQ200510089810
公開日2006年2月8日 申請(qǐng)日期2005年8月5日 優(yōu)先權(quán)日2004年8月6日
發(fā)明者小橋和文, 牧野順 申請(qǐng)人:佳能株式會(huì)社