專利名稱:布局調(diào)整方法和裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及用于由文本和圖像構(gòu)成的文檔的生成、編輯及打印的技術(shù),更具體地說(shuō),適于可變數(shù)據(jù)文檔的生成、編輯及打印。
背景技術(shù):
近年,由于商品的多樣化,商品壽命變短,隨著互聯(lián)網(wǎng)的普及,利用它的消費(fèi)者的客戶服務(wù)指向增強(qiáng)等原因,所以,CRM(CustomerRelationship Management客戶關(guān)系管理)、一對(duì)一營(yíng)銷的必要性就受到關(guān)注。這些方法目的在于,提高客戶滿意程度,開(kāi)發(fā)、穩(wěn)定客戶。
一對(duì)一營(yíng)銷是數(shù)據(jù)庫(kù)營(yíng)銷的一種,把客戶的年齡、性別、興趣、愛(ài)好、購(gòu)買(mǎi)經(jīng)歷等個(gè)人屬性信息做成數(shù)據(jù)庫(kù),分析其內(nèi)容,提出符合客戶需求的建議,作為典型的手法,例如有可變打印。最近,隨著DTP(desktop publishing桌面出版系統(tǒng))技術(shù)的進(jìn)展和數(shù)字打印裝置的普及,開(kāi)發(fā)有對(duì)每個(gè)客戶定制文檔并輸出的可變打印系統(tǒng),在這種可變打印系統(tǒng)中,要求生成對(duì)每個(gè)客戶不同的量的內(nèi)容進(jìn)行最佳布局的定制文檔。
一般地,在可變打印系統(tǒng)中生成這樣的定制文檔時(shí),在文檔上對(duì)容器進(jìn)行布局。容器是用于描繪內(nèi)容(描繪內(nèi)容)的局部區(qū)域,也稱作字段區(qū)。即,通過(guò)對(duì)數(shù)據(jù)庫(kù)和布局建立關(guān)聯(lián)(對(duì)數(shù)據(jù)庫(kù)的各內(nèi)容和各容器建立關(guān)聯(lián))這樣的作業(yè),生成定制文檔(文檔)。在本說(shuō)明書(shū)中,將這樣的文檔稱作可變數(shù)據(jù)文檔。
在這樣的可變打印系統(tǒng)中,能夠?qū)⒁蝾櫩投煌膬?nèi)容插入已進(jìn)行了布局的各容器中。因此,當(dāng)要插入到內(nèi)容中的數(shù)據(jù)的尺寸可變,而與之相對(duì)應(yīng)容器的尺寸固定時(shí),就產(chǎn)生以下的問(wèn)題。例如,當(dāng)插入了比容器的尺寸大的尺寸的文本數(shù)據(jù)時(shí),無(wú)法將所有文本顯示在該容器內(nèi)?;蛘?,當(dāng)插入了比容器的尺寸大的尺寸的圖像數(shù)據(jù)時(shí),該圖像的一部分就會(huì)缺失。將這樣的問(wèn)題稱作溢出。
另外,當(dāng)內(nèi)容是圖像數(shù)據(jù)時(shí),還要考慮縮小該圖像,描繪在容器內(nèi),但有可能產(chǎn)生圖像極小的弊端。此外,還公開(kāi)了以下技術(shù)可以在插入了無(wú)法完全進(jìn)入固定尺寸的容器內(nèi)的文本數(shù)據(jù)時(shí),縮小文本的字體尺寸,在該容器內(nèi)顯示所有文本。但還會(huì)產(chǎn)生以下問(wèn)題,當(dāng)這樣地調(diào)節(jié)字體尺寸時(shí),字體尺寸變得過(guò)小,從而造成文檔整體的平衡破壞,或變得難以閱讀。
作為用于解決這樣的問(wèn)題的自動(dòng)布局的技術(shù),在日本特開(kāi)平7-129658號(hào)公報(bào)的“布局設(shè)計(jì)裝置”中公開(kāi)了以下技術(shù)當(dāng)某容器的尺寸增大時(shí),為了保持與相鄰的容器的間隔,而減小該相鄰的容器的尺寸。
在可變打印系統(tǒng)中,要插入各容器的數(shù)據(jù),例如可以按照顧客來(lái)變更,所以,有時(shí)要插入容器的數(shù)據(jù)為“空”。但是,在上述現(xiàn)有技術(shù)中,當(dāng)要插入容器內(nèi)的數(shù)據(jù)為空時(shí),該容器配置部分作為空白進(jìn)行布局。即,在文檔布局中,該容器的部分的空間空閑。因此,在文檔的一部分產(chǎn)生明顯的空白部分,有時(shí)文檔的外觀變得不好看。此外,這樣的空白部分,最好是用于使除了插入了數(shù)據(jù)的容器變?yōu)樽罴殉叽纾?,由于存在空白的容器,所以,無(wú)法利用該空白部分。
發(fā)明內(nèi)容
本發(fā)明正是鑒于上述問(wèn)題而完成的,其目的在于能夠有效地利用要插入的數(shù)據(jù)為空的容器的空間,能夠生成更加美觀的文檔。
根據(jù)本發(fā)明的一種形式,提供以下的布局調(diào)整方法。即一種確定頁(yè)面的布局的布局調(diào)整方法,包括局部區(qū)域設(shè)定步驟,設(shè)定要插入數(shù)據(jù)的局部區(qū)域的尺寸和位置的基本圖形;計(jì)算步驟,基于要插入由上述局部區(qū)域設(shè)定步驟設(shè)定的局部區(qū)域中的數(shù)據(jù),對(duì)各局部區(qū)域計(jì)算適于描繪該要插入的數(shù)據(jù)的尺寸;
調(diào)整步驟,基于由上述計(jì)算步驟計(jì)算出的各局部區(qū)域的尺寸,調(diào)整頁(yè)面內(nèi)的布局;以及指定步驟,指定是否在分配給局部區(qū)域的數(shù)據(jù)為空時(shí),使其尺寸為0,上述調(diào)整步驟,當(dāng)上述指定單元的指定,是使所分配的數(shù)據(jù)為空的狀態(tài)的局部區(qū)域的尺寸為0的指定時(shí),將該局部區(qū)域的尺寸視為0,調(diào)整頁(yè)面內(nèi)的布局。
此外,根據(jù)本發(fā)明的其它形式,提供以下的布局調(diào)整裝置。即一種確定頁(yè)面的布局的布局調(diào)整裝置,包括局部區(qū)域設(shè)定單元,設(shè)定要插入數(shù)據(jù)的局部區(qū)域的尺寸和位置的基本圖形;計(jì)算單元,基于要插入由上述局部區(qū)域設(shè)定單元設(shè)定的局部區(qū)域中的數(shù)據(jù),對(duì)各局部區(qū)域計(jì)算適于描繪該要插入的數(shù)據(jù)的尺寸;調(diào)整單元,基于在上述計(jì)算單元計(jì)算出的各局部區(qū)域的尺寸,調(diào)整頁(yè)面內(nèi)的布局;以及指定單元,指定是否在分配給局部區(qū)域的數(shù)據(jù)為空時(shí),使該尺寸為0,上述調(diào)整單元,當(dāng)上述指定單元的指定,是使所分配的數(shù)據(jù)為空的狀態(tài)的局部區(qū)域的尺寸為0的指定時(shí),將該局部區(qū)域的尺寸視為0,調(diào)整頁(yè)面內(nèi)的布局。
根據(jù)本發(fā)明,能夠有效地利用要插入的數(shù)據(jù)為空的容器的空間,能夠生成更加美觀的文檔。
本發(fā)明的其他特征和優(yōu)點(diǎn),可以通過(guò)下面的參照附圖進(jìn)行的說(shuō)明而得到明確。相同的標(biāo)號(hào)表示相同或類似的部分。
附圖包括在說(shuō)明書(shū)中并結(jié)構(gòu)說(shuō)明書(shū)的一部分,用于說(shuō)明本發(fā)明的實(shí)施例,并與說(shuō)明書(shū)一起用于說(shuō)明本發(fā)明的原理。
圖1是表示實(shí)施例的可變打印系統(tǒng)的結(jié)構(gòu)的圖。
圖2是表示圖1的主計(jì)算機(jī)的結(jié)構(gòu)的概略的圖。
圖3是說(shuō)明可變數(shù)據(jù)打印的概要的圖。
圖4是表示實(shí)施例的可變打印系統(tǒng)的其它結(jié)構(gòu)的圖。
圖5是表示包括菜單欄、工具欄、工作區(qū)、選項(xiàng)托板的實(shí)施例的用戶界面的例子的圖。
圖6是表示用戶界面上的容器的顯示例的圖。
圖7A~7D是說(shuō)明實(shí)施例的容器規(guī)則的圖。
圖8是說(shuō)明實(shí)施例的鏈接的生成處理的流程圖。
圖9A~9C是表示生成鏈接時(shí)的用戶界面的變動(dòng)例的圖。
圖10是表示實(shí)施例的布局引擎的布局計(jì)算處理的流程圖。
圖11是表示實(shí)施例的布局引擎的布局計(jì)算處理的流程圖。
圖12A~12C是用于說(shuō)明實(shí)施例的布局計(jì)算處理的圖。
圖13是說(shuō)明計(jì)算實(shí)施例的布局時(shí)的容器的集合的圖。
圖14是表示使用容器和鏈接而生成的布局的一例的圖。
圖15是表示用于設(shè)定第1實(shí)施例的容器的屬性信息的屬性對(duì)話窗口的例子的圖。
圖16是說(shuō)明用圖15所示的屬性對(duì)話窗口設(shè)定容器的屬性時(shí)的用戶界面的動(dòng)作的流程圖。
圖17是說(shuō)明在圖14所示的布局中,容器E的設(shè)定狀態(tài)為零化模式時(shí)的布局變化的情形的圖。
圖18是說(shuō)明在圖14所示的布局中,容器E的設(shè)定狀態(tài)為零化模式且為了進(jìn)行鏈接調(diào)整而設(shè)定時(shí)的布局變化的情形的圖。
圖19是說(shuō)明包括空容器的零化處理的、實(shí)施例的布局引擎的布局調(diào)整處理的流程圖。
圖20是表示用于設(shè)定第2實(shí)施例的容器的屬性信息的屬性對(duì)話窗口的例子的圖。
圖21是表示按照由圖20的對(duì)話窗口設(shè)定的鏈接的調(diào)整方法,調(diào)整圖14的布局的結(jié)果的圖。
具體實(shí)施例方式
下面,參照附圖詳細(xì)說(shuō)明本發(fā)明的實(shí)施例。
<系統(tǒng)結(jié)構(gòu)>
首先,參照?qǐng)D1和圖2說(shuō)明本實(shí)施例的可變打印系統(tǒng)的結(jié)構(gòu)。圖1是表示用于打印可變數(shù)據(jù)文檔的可變打印系統(tǒng)100的結(jié)構(gòu)例的框圖。此外,圖2是更詳細(xì)地表示圖1所示的主計(jì)算機(jī)101的結(jié)構(gòu)的框圖。在本實(shí)施例中說(shuō)明的可變打印處理,由作為布局調(diào)整裝置的主計(jì)算機(jī)101(由通用計(jì)算機(jī)模塊構(gòu)成)執(zhí)行。可以在系統(tǒng)100上實(shí)施的布局編輯應(yīng)用程序121(本發(fā)明的布局調(diào)整程序),在主計(jì)算機(jī)101中,執(zhí)行該軟件的整體或一部分。特別是用于布局編輯的處理和用于打印可變數(shù)據(jù)文檔的處理,通過(guò)由主計(jì)算機(jī)101執(zhí)行的軟件來(lái)實(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)品。通過(guò)在計(jì)算機(jī)中使用該計(jì)算機(jī)程序產(chǎn)品,能夠提供適于文檔的布局編輯和可變打印的裝置。
如圖2所示,在主計(jì)算機(jī)101上通過(guò)輸入輸出接口143,將鍵盤(pán)132、鼠標(biāo)133那樣的指示設(shè)備等作為輸入裝置連接。此外,通過(guò)視頻接口137連接作為輸出裝置的顯示裝置144。還能通過(guò)輸入輸出接口138連接本地打印機(jī)145。此外,輸入輸出接口138還具有將主計(jì)算機(jī)101連接到網(wǎng)絡(luò)107上的功能。據(jù)此,可以通過(guò)網(wǎng)絡(luò)將主計(jì)算機(jī)101連接在系統(tǒng)100內(nèi)的其它計(jì)算機(jī)裝置上。作為網(wǎng)絡(luò)107的典型的例子,能夠列舉局域網(wǎng)(LAN)或廣域網(wǎng)(WAN)。
此外,如圖2所示,主計(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ù)的硬盤(pán)驅(qū)動(dòng)器140和floppy(注冊(cè)商標(biāo))盤(pán)驅(qū)動(dòng)器141。另外,雖然未在圖2顯示,但還可以將磁帶驅(qū)動(dòng)器等作為存儲(chǔ)設(shè)備139使用。CD-ROM驅(qū)動(dòng)器142,可以作為非易失性的數(shù)據(jù)源來(lái)提供(當(dāng)然,還可以通過(guò)CD-ROM提供計(jì)算機(jī)程序)。
主計(jì)算機(jī)101以遵從GNU/LINUX或微軟公司的windows(注冊(cè)商標(biāo))那樣的操作系統(tǒng)的形式,或者通過(guò)基于在相關(guān)技術(shù)中已知的計(jì)算機(jī)系統(tǒng)的常規(guī)操作模式的方法,通過(guò)相互連接的總線134,從進(jìn)行通信的計(jì)算機(jī)模塊的組件135使用143。即,由上述135~143表示的各結(jié)構(gòu),通過(guò)總線134可通信地連接起來(lái),并由安裝在主計(jì)算機(jī)101中的操作系統(tǒng)利用。
另外,作為圖2所示的主計(jì)算機(jī)101的例子,可以考慮IBM兼容PC,SUN的Sparcstation,或包括它們的計(jì)算機(jī)系統(tǒng)。
<布局編輯應(yīng)用程序的概要>
在本實(shí)施例中,布局編輯應(yīng)用程序121常駐在硬盤(pán)驅(qū)動(dòng)器140中,由處理器135控制執(zhí)行和讀入。在布局編輯應(yīng)用程序121的程序和從網(wǎng)絡(luò)107取得的數(shù)據(jù)存儲(chǔ)中,使用硬盤(pán)驅(qū)動(dòng)器140和半導(dǎo)體存儲(chǔ)器136。
在一個(gè)例子中,布局編輯應(yīng)用程序121的已編碼的程序,存儲(chǔ)在CD-ROM或floppy(注冊(cè)商標(biāo))盤(pán)上,通過(guò)相應(yīng)的驅(qū)動(dòng)器142、141讀入,并安裝到硬盤(pán)驅(qū)動(dòng)器140上。或者,作為其它例子,布局編輯應(yīng)用程序121,可以從網(wǎng)絡(luò)107讀入主計(jì)算機(jī)101內(nèi),并安裝到硬盤(pán)驅(qū)動(dòng)器140上。軟件還可以使用磁帶、ROM、集成電路、光磁盤(pán)、在主計(jì)算機(jī)101和其他設(shè)備之間的紅外線等的無(wú)線通信、PMCIA卡那樣的計(jì)算機(jī)可讀卡、或者與包括因特網(wǎng)或企業(yè)內(nèi)部互聯(lián)網(wǎng)的WEB站點(diǎn)上的其它的適當(dāng)?shù)挠?jì)算機(jī)的電子郵件通信,加載到主計(jì)算機(jī)101內(nèi)。這些是計(jì)算機(jī)可讀介質(zhì)的例子,當(dāng)然,還可以使用其它的計(jì)算機(jī)可讀介質(zhì)。
在圖1中,本實(shí)施例的布局編輯應(yīng)用程序121,使計(jì)算機(jī)進(jìn)行可變打印(也叫做可變數(shù)據(jù)打印(VDP)),包含2個(gè)軟件組件,即,布局引擎105和用戶界面103。布局引擎105是按照提供給作為局部區(qū)域的容器(矩形的范圍)的尺寸和位置的限制,從存儲(chǔ)在數(shù)據(jù)庫(kù)119中的可變數(shù)據(jù)中,逐個(gè)地讀入記錄,從所讀入的數(shù)據(jù)和容器的限制,計(jì)算要插入所讀入的數(shù)據(jù)的容器的大小和位置等的軟件組件。此外,在本實(shí)施例中,布局引擎105還進(jìn)行描繪分配給容器的數(shù)據(jù),生成可變數(shù)據(jù)文檔的圖像的處理。但本發(fā)明不限于此,布局引擎105還可以作為確定各局部區(qū)域(容器)的尺寸和位置的應(yīng)用程序而工作,通過(guò)向省略圖示的打印機(jī)驅(qū)動(dòng)程序輸出描繪信息,打印機(jī)驅(qū)動(dòng)程序進(jìn)行可變數(shù)據(jù)文檔的圖像描繪處理,生成打印數(shù)據(jù)。用戶界面103,可以進(jìn)行基于用戶的容器的布局和屬性設(shè)定,使用戶生成文檔模板。此外,用戶界面103提供對(duì)文檔模板內(nèi)的各容器和數(shù)據(jù)源建立關(guān)聯(lián)的機(jī)構(gòu)(mechanism)。用戶界面103和布局引擎105通過(guò)信道123通信。
圖3是說(shuō)明本實(shí)施例的可變數(shù)據(jù)打印的概略的圖。通過(guò)布局編輯應(yīng)用程序121的用戶界面模塊103(以下,稱作用戶界面103),按照來(lái)自用戶的操作指示,在頁(yè)面上配置多個(gè)容器181~183,通過(guò)對(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,按照來(lái)自用戶的打印指示或預(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),按照所插入的數(shù)據(jù),調(diào)整各容器的尺寸等(布局調(diào)整)。當(dāng)是預(yù)覽指示時(shí),生成進(jìn)行了布局調(diào)整的文檔圖像,為了在視頻顯示器144的畫(huà)面上顯示預(yù)覽而輸出。此外,當(dāng)是打印指示時(shí),將用布局引擎105或打印機(jī)驅(qū)動(dòng)程序生成的文檔圖像作為打印數(shù)據(jù)向打印服務(wù)器109輸出。通過(guò)依次處理數(shù)據(jù)記錄1、2、3...,實(shí)現(xiàn)可變數(shù)據(jù)打印。
用于文檔生成的數(shù)據(jù)源(190),例如,還可以是由運(yùn)行數(shù)據(jù)庫(kù)應(yīng)用程序的其它計(jì)算機(jī)構(gòu)成的數(shù)據(jù)庫(kù)服務(wù)器117上的一般的數(shù)據(jù)庫(kù)119。這時(shí),主計(jì)算機(jī)101可以通過(guò)網(wǎng)絡(luò)107與數(shù)據(jù)庫(kù)服務(wù)器117通信,取得數(shù)據(jù)源。此外,由布局編輯應(yīng)用程序121生成的、用于可變數(shù)據(jù)打印的文檔模板(180),保存在主計(jì)算機(jī)101或由其他計(jì)算機(jī)構(gòu)成的文件服務(wù)器115上。如圖3所示,布局編輯應(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通過(guò)一般的通信信道111連接。
<其它的系統(tǒng)結(jié)構(gòu)例>
圖4是與圖1類似的框圖,但追加了引擎服務(wù)器227。存儲(chǔ)在引擎服務(wù)器227中的布局引擎225是布局引擎105的分離形式(version)。對(duì)引擎服務(wù)器227使用一般的計(jì)算機(jī)。布局引擎225,為了根據(jù)打印或其它目的生成可變數(shù)據(jù)文檔,而將保存在文件服務(wù)器115中的文檔模板和保存在數(shù)據(jù)庫(kù)119中的數(shù)據(jù)結(jié)合起來(lái)。這樣的操作通過(guò)用戶界面103來(lái)請(qǐng)求。
<布局編輯應(yīng)用程序的說(shuō)明>
下面,說(shuō)明布局編輯應(yīng)用程序121。
用戶界面103,在視頻顯示器144上顯示在操作時(shí)由圖5所示的應(yīng)用程序窗口301形成的用戶界面畫(huà)面。該窗口301具有菜單欄302、工具欄303、工作區(qū)306和選項(xiàng)托板311。菜單欄302、工具欄303可以不顯示,或移動(dòng)到屏幕上的各種地方。此外,工作區(qū)306可以通過(guò)鼠標(biāo)133的操作使該地方移動(dòng)。此外,托板311是選項(xiàng),光標(biāo)/指示設(shè)備313表示鼠標(biāo)133指示的位置。
菜單欄302,如公開(kāi)的技術(shù)那樣,具有在菜單選項(xiàng)的分級(jí)下擴(kuò)展的多個(gè)菜單項(xiàng)304。
工具欄303具有可以通過(guò)應(yīng)用程序的特別模式變成不顯示狀態(tài),或變成顯示狀態(tài)的多個(gè)工具按鈕和訪問(wèn)305。
標(biāo)尺308是選項(xiàng),用于顯示工作區(qū)內(nèi)的指針、頁(yè)面、行、邊距引導(dǎo)、容器或?qū)ο蟮奈恢谩?br>
托板311用于訪問(wèn)可變數(shù)據(jù)庫(kù)那樣的追加功能。托板311具有用于進(jìn)行移動(dòng)、尺寸調(diào)整、關(guān)閉的窗口控制312。托板311,可根據(jù)選項(xiàng)顯示在工作區(qū)的前面,或隱藏在對(duì)象的背面。托板311被限制為只能在應(yīng)用程序窗口301的范圍內(nèi)顯示,或允許在應(yīng)用程序窗口301的外側(cè)顯示其一部分或整體。
在工具欄303上配置有圖6所示的可由用戶選擇的“按鈕”。
(1)選擇工具按鈕403用于進(jìn)行容器的邊的選擇、移動(dòng)、尺寸變更、尺寸調(diào)整以及鎖住/解鎖。容器的選擇,通過(guò)在容器的周圍拖動(dòng)選擇框來(lái)進(jìn)行。此外,可以通過(guò)一邊按住CTRL鍵,一邊對(duì)多個(gè)容器進(jìn)行選擇操作,來(lái)選擇多個(gè)容器。
(2)文本容器工具按鈕404用于生成具有靜態(tài)或可變文本的容器。
(3)圖像容器工具按鈕405用于生成具有靜態(tài)或可變圖像的容器。
(4)鏈接工具按鈕406用于生成在容器之間進(jìn)行關(guān)聯(lián)的鏈接,還用于控制鏈接的距離。
布局編輯應(yīng)用程序121的如圖5所示的應(yīng)用程序窗口301,通過(guò)在頁(yè)面內(nèi)布置各容器和鏈接,可以確定基本布局。所謂基本布局,就是在可變數(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)整。
在圖5中,工作區(qū)306用于顯示和編輯文檔模板(180基本布局)的設(shè)計(jì)。它可以在用戶設(shè)計(jì)文檔模板的過(guò)程中,向用戶提示要打印的文檔的概貌。由此,用戶能夠容易地理解與數(shù)據(jù)源(190)合并了的文檔,怎樣基于可變數(shù)據(jù)的量和尺寸而變化。
此外,當(dāng)數(shù)據(jù)源與文檔模板建立了關(guān)聯(lián)時(shí),為了能夠進(jìn)行當(dāng)前文檔的預(yù)覽,而顯示在布置了相應(yīng)的可變文本和圖像的各容器上。
進(jìn)行文檔模板中的文檔構(gòu)造和可變數(shù)據(jù)容器的描寫(xiě)的視覺(jué)上的線索(容器的框線、錨點(diǎn)、滾動(dòng)條、鏈接等),總是在生成文檔模板時(shí)顯示,當(dāng)進(jìn)行要插入可變數(shù)據(jù)的預(yù)覽時(shí),視覺(jué)上的線索,在使光標(biāo)移動(dòng)到容器上時(shí),和選擇了容器時(shí)顯示。
工作區(qū)306包含滾動(dòng)條307、選項(xiàng)的標(biāo)尺308和文檔模板309。文檔模板309可以表示有多個(gè)頁(yè)面。此外,文檔模板309表示圖3的文檔模板180。
所給出的文檔模板的頁(yè)面尺寸,用公開(kāi)的技術(shù),由用戶指定。例如,通過(guò)從菜單的“文件”選擇“頁(yè)面設(shè)定”,顯示設(shè)定頁(yè)面尺寸的對(duì)話框,在那里反映用戶指定的頁(yè)面尺寸。各文檔中的實(shí)際的頁(yè)面數(shù),有可能根據(jù)建立了關(guān)聯(lián)的數(shù)據(jù)源內(nèi)的可變數(shù)據(jù)而變化。這是因?yàn)椋?dāng)在文檔模板內(nèi)像可變表那樣設(shè)定根據(jù)可變數(shù)據(jù)的量而變更大小的字段的情況下,當(dāng)讀入無(wú)法使可變數(shù)據(jù)適合在1頁(yè)面內(nèi)的可變數(shù)據(jù)時(shí),自動(dòng)生成追加的頁(yè)面。
在各頁(yè)面內(nèi)顯示的邊界線310,是表示頁(yè)面上的可打印的對(duì)象的最大寬度的任意的頁(yè)面邊距。
圖6是表示能在1頁(yè)面的文檔模板309上顯示的對(duì)象的例子的圖。作為這樣的對(duì)象,具有容器407、408,任意使用的錨點(diǎn)圖標(biāo)409,固定的邊411、414、未固定的邊410、鏈接412以及滾動(dòng)條413。錨點(diǎn)圖標(biāo)409可以設(shè)定在容器的矩形的角、邊、或容器的中央。當(dāng)設(shè)定錨點(diǎn)圖標(biāo)409時(shí),所設(shè)定的地方的位置固定。即,在圖6的例子中,錨點(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)。滾動(dòng)條413表示能向與所設(shè)定的邊平行的方向移動(dòng)。
這里,說(shuō)明容器。容器是將固定或可變的文本/圖像從可變數(shù)據(jù)文件插入文檔模板內(nèi)并描繪的空間(將其稱作局部區(qū)域),如圖6所示,與其它容器和對(duì)象一起布局。通過(guò)用戶界面畫(huà)面,按照來(lái)自用戶的操作指示,通過(guò)鼠標(biāo)133的操作,對(duì)容器進(jìn)行移動(dòng)、尺寸調(diào)整和再生成。
更正確地說(shuō),容器具有設(shè)定的集合、視覺(jué)上的表現(xiàn)、相互作用和編輯動(dòng)作。以下是對(duì)本實(shí)施例的容器的定義。
(1)容器具有固定或可變的內(nèi)容。可變內(nèi)容是指,從數(shù)據(jù)源取得的數(shù)據(jù)有可能在各文檔即各記錄上不同,可以說(shuō)是動(dòng)態(tài)的。但是,本實(shí)施例的可變內(nèi)容,因?yàn)閯?dòng)畫(huà)的內(nèi)容或以其它方法按時(shí)間變化的內(nèi)容不適合打印,所以,不在此闡述。同樣,固定內(nèi)容在使用容器而生成的所有文檔中,相同地表示。但是,當(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í)與來(lái)自數(shù)據(jù)源的數(shù)據(jù)合并。裝飾功能在所打印的輸出品中是可視的,使得在任何固定內(nèi)容中都是如此。可變內(nèi)容提供來(lái)自數(shù)據(jù)源的特定數(shù)據(jù)的顯示。容器的該表現(xiàn),可以是例如打印,或在視頻顯示器144的屏幕上顯示,或兩者都進(jìn)行。
(4)容器如圖6所示,具有作為視覺(jué)上的線索的用戶界面。例如,具有用于容器的編輯和顯示設(shè)定的人機(jī)對(duì)話(interactive)的圖形用戶界面(GUI)。GUI的各要素顯示在視頻顯示器144的屏幕上,但不作為文檔打印。布局編輯應(yīng)用程序121的用戶界面103,顯示背景色和字體那樣的容器的若干裝飾功能,還具有用于使容器的設(shè)定的編輯和顯示成為可能的功能。
容器具有關(guān)于如何連接在各文檔中表示的內(nèi)容的控制的限定。這些限定(包括將固定/可變內(nèi)容與容器結(jié)合起來(lái)),是用戶從一個(gè)文檔模板控制多個(gè)文檔的主要方法。限定的一個(gè)例子是“該容器的內(nèi)容高度為最大4英寸”。此外,另一個(gè)限定的例子是“容器的內(nèi)容的左邊距,在各文檔中必需在相同的水平位置表示”。在此所述的內(nèi)容,是用于用GUI顯示、編輯這樣的限定的各種方法。
在數(shù)字打印技術(shù)中,已知指定固定內(nèi)容的配置,使得圖像具有定義在頁(yè)面上的地方的內(nèi)容占位符。容器具有位置和尺寸,以在公開(kāi)的技術(shù)中已知的方法編輯、顯示它們。因此,在以下的說(shuō)明中,將焦點(diǎn)對(duì)準(zhǔn)在可變數(shù)據(jù)打印方面特殊化的方法中的顯示和編輯。
通過(guò)使用容器,用戶能夠指定文檔的內(nèi)容的尺寸(描繪尺寸)和位置。因?yàn)榭梢詮囊粋€(gè)文檔模板生成多種文檔,所以,對(duì)容器設(shè)定多個(gè)可能性和限定,但是,為了這些設(shè)定(指定)和顯示而使用預(yù)定的用戶界面。
一個(gè)容器的邊,定義關(guān)聯(lián)的內(nèi)容在文檔內(nèi)顯示的虛擬的邊界線。因此,提到容器的左邊,與提到能在各文檔中顯示關(guān)聯(lián)的內(nèi)容的區(qū)域內(nèi)的最左的邊是相同的。同樣,提到容器的高度,可以理解為提到在所生成的文檔中關(guān)聯(lián)的內(nèi)容的高度的限定。在本說(shuō)明書(shū)中,只要參照用戶界面103提到容器的邊或大小,該區(qū)別就會(huì)變得清楚。
在以下的記載中,定義用于限制內(nèi)容的顯示的某值的用語(yǔ)“固定”,在所有文檔中都是相同的。
(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)于頁(yè)面的邊的水平位置在所有文檔中都相同。但是,容器的高度或垂直方向的位置有可能變化。例如,當(dāng)容器的左邊固定時(shí),關(guān)聯(lián)的內(nèi)容的顯示位置,在所有文檔中其左邊的位置為相同的水平位置,但有可能在某文檔中顯示在頁(yè)面的上方,而在其它文檔中則顯示在頁(yè)面的下方。
(5)當(dāng)容器的上下邊固定時(shí),意味著頁(yè)面的邊的垂直位置在所有文檔中都相同。但是,容器的寬度或水平位置有可能根據(jù)文檔變化。
(6)容器的垂直軸與容器的右邊和左邊平行,是位于其中間的虛擬的垂直線。如果容器的垂直軸固定,則該容器的左右邊的水平位置的平均(即,左右的中央位置)在所有文檔中都相同。在該限定下,容器的寬度有可能變化。但是,左右邊有可能離垂直軸最遠(yuǎn),也有可能離垂直軸最近,垂直軸在所有文檔中都是相同的水平位置。另外,容器的高度和垂直位置不受該限定的影響。
(7)同樣地,如果水平軸固定,則容器的上邊和下邊的平均被配置在同一垂直方向位置。但是,容器的寬度和水平位置不受該限定的影響。
(8)當(dāng)水平軸和垂直軸均固定時(shí),意味著容器的中心位置被固定。但是,容器的寬度和高度不受該限定的影響。
(9)當(dāng)容器的角位置、容器的邊的中間位置、或容器的中心位置固定時(shí),各位置在所有文檔中都為相同的地方。例如,如果容器的左上角固定,則意味著所配置的容器的左上位置在所有文檔中都相同。
(10)垂直邊或垂直軸,可以與頁(yè)面的左邊或右邊、或左頁(yè)面邊距或右頁(yè)面邊距、或其它水平位置建立關(guān)聯(lián)并固定。同樣地,水平邊或水平軸,可以與頁(yè)面的上邊或下邊、或上下頁(yè)面邊距、或其它垂直位置建立關(guān)聯(lián)并固定。
“固定”的反意詞是意味著容器的邊、軸、角、中間位置或文檔限定可能在文檔間(記錄間)變化的“可變”。例如,在頁(yè)面內(nèi),希望根據(jù)可變數(shù)據(jù)的尺寸和量,動(dòng)態(tài)地改變布局,但是,對(duì)于特定的容器,有時(shí)希望固定大小和位置,或固定頁(yè)面的角的容器的四角。因此,在本布局編輯應(yīng)用程序121中,對(duì)于各容器(局部顯示區(qū)域),能夠適當(dāng)?shù)卦O(shè)定是固定邊、軸、角和中間位置還是使其可變。由此,當(dāng)用戶確定文檔模板180的基本布局時(shí),能夠如用戶所希望地生成基本布局。
(新容器的生成方法)容器有文本容器和圖像容器2種。文本容器具有文本和嵌入的圖像。圖像容器只具有圖像。
如圖6所示,新文本容器和圖像容器,通過(guò)用鼠標(biāo)133點(diǎn)擊文本容器工具404或圖像容器工具405,并在文檔模板309上拖動(dòng)四邊形,在該文檔模板309上生成。
或者,還可以在激活適當(dāng)?shù)墓ぞ?04、405后,通過(guò)在文檔模板309上點(diǎn)擊來(lái)生成容器。這時(shí),按照鼠標(biāo)133的點(diǎn)擊操作,在模板上插入默認(rèn)尺寸的容器,并且,提供用于設(shè)定該新容器的尺寸等的對(duì)話框或其它提示。另外,容器的尺寸可以自動(dòng)地提前定義,或者考慮由計(jì)算出的分離器(skimmer)生成和配置等各種方法。用鼠標(biāo)等輸入單元選擇在此生成的容器,通過(guò)用右擊進(jìn)行指示屬性等的操作,能夠顯示容器的屬性對(duì)話框,設(shè)定容器的限定。在容器的屬性對(duì)話UI(相當(dāng)于局部區(qū)域設(shè)定單元)中,能夠設(shè)定上述各種限定。此外,在容器的屬性對(duì)話框中,能夠確定容器的尺寸(寬度、高度)和位置,當(dāng)為可變尺寸時(shí),設(shè)定容器的基本圖形(基本尺寸和基準(zhǔn)位置),還能夠設(shè)定最大容器尺寸(寬度、高度)和最小容器尺寸(寬度、高度)。
圖7A~圖7D舉例說(shuō)明關(guān)于容器的邊的顯示規(guī)則。
布局編輯應(yīng)用程序121,為了表現(xiàn)容器的邊的狀態(tài),用實(shí)線(503)或虛線(504)表示邊,并且,使用錨點(diǎn)(由在邊的附近描繪的506、507、509所示的線、形狀、圖標(biāo))、把手(為了進(jìn)行移動(dòng)、修改,在區(qū)域的邊上或附近描繪的控制點(diǎn)502)、滾動(dòng)條(在邊的兩側(cè)描繪的短平行線,圖6的413)、放大縮小圖標(biāo)(505)以及顏色。
圖7A~圖7D所示的容器顯示方法的規(guī)則如下所述。
(1)邊的固定,用實(shí)線描繪。
(2)寬度固定時(shí),用實(shí)線描繪左邊和右邊。
(3)高度固定時(shí),用實(shí)線描繪上邊和下邊。
(4)不描繪軸。
(5)在尚未由(1)~(3)描繪的各邊的附近描繪放大縮小圖標(biāo),以虛線描繪這些邊。
(6)在垂直邊和水平邊,或垂直軸和水平軸的各線對(duì)中,如果兩者固定,則在其相交點(diǎn)描繪錨點(diǎn)。
(7)在各固定邊上,如果在邊的任意位置都未描繪錨點(diǎn),則在邊的中央描繪滾動(dòng)條。
(8)在垂直邊和水平邊,或垂直軸和水平軸的各線對(duì)中,當(dāng)未描繪錨點(diǎn)和滾動(dòng)條時(shí),在其相交點(diǎn)描繪把手。
由規(guī)則(1)、(2)、(3)定義的線,如上所述,因被固定或被限制而用實(shí)線描繪。像規(guī)則(5)那樣,可變的邊由虛線描繪。由規(guī)則(6)、(7)、(8)定義的固定的點(diǎn)表示錨點(diǎn),幾個(gè)固定的邊表示滾動(dòng)條,其它表示把手。
由用戶后來(lái)所設(shè)定的限定優(yōu)先于上述規(guī)則。即,當(dāng)以后設(shè)定其它限定時(shí),如果上述規(guī)則影響要描繪的邊,則實(shí)線和虛線的描繪內(nèi)容發(fā)生變更。
描繪可變的邊的地方依存于容器的內(nèi)容。如后所述,在文檔模板中合并內(nèi)容,使用意味著在用戶界面上為可視的“動(dòng)態(tài)校正處理”。另外,還可以用其他方法確定用戶界面中的可變的邊的描繪位置。例如,也可以用以所有的文檔平均化的尺寸的容器(平均化的內(nèi)容區(qū)),來(lái)確定描繪可變的邊的位置。
這些內(nèi)容表現(xiàn),提供表示容器的各邊的狀態(tài)的圖解的單元。該表現(xiàn)的解釋如下所述。
(1)如圖6的邊410那樣,虛線意味著依存于容器的內(nèi)容,文檔內(nèi)的邊的位置發(fā)生變化。
(2)實(shí)線意味著是為了固定(邊414)、或固定容器的寬度和高度(在容器408中4個(gè)邊是實(shí)線,并固定雙方)而被限制的邊。
(3)錨點(diǎn)意味著邊和軸交叉的地方固定。因此,錨點(diǎn)出現(xiàn)在所有文檔的水平、垂直位置。錨點(diǎn)當(dāng)然固定。圖6的圖標(biāo)409是意味著邊414的交叉位置固定的錨點(diǎn)圖標(biāo)的例子。
(4)滾動(dòng)條意味著關(guān)聯(lián)的邊的長(zhǎng)度固定,但有可能平行移動(dòng)。例如,在圖6中,滾動(dòng)條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ì)話窗口上。
在圖7A中,容器501的寬度和高度均不固定(可變)。固定的邊503由實(shí)線表現(xiàn),可變的邊504由虛線表現(xiàn)。放大縮小圖標(biāo)505表示相鄰的邊504可變。可以代替或追加地使用其它形式的指示器(indicator)。
在圖7B中,容器501的寬度和高度均可變。錨點(diǎn)圖標(biāo)506,為了明確地表示交叉的雙方的邊503的角的位置固定。
在圖7C中,容器501的容器的寬度和高度均可變,表示平等地?cái)U(kuò)展以錨點(diǎn)圖標(biāo)507顯示的中心點(diǎn)的周圍的狀態(tài)。即,容器501能夠以錨點(diǎn)圖標(biāo)507為中心放大或縮小。這里的放大/縮小進(jìn)行布局調(diào)整,使得錨點(diǎn)圖標(biāo)507的位置總是容器501的中心點(diǎn)。
在圖7D中,容器501的上邊508固定,但寬度和高度均可變。位于上邊508的中心顯示的錨點(diǎn)圖標(biāo)509固定。而且,容器501的左邊和右邊,在通過(guò)錨點(diǎn)圖標(biāo)509垂直的中心軸(垂直軸)周圍放大、縮小。
下面,說(shuō)明用于在容器之間建立關(guān)聯(lián)的鏈接的設(shè)定。圖8是表示鏈接的設(shè)定方法的流程圖。此外,圖9A~圖9C表示設(shè)定鏈接時(shí)的用戶界面(UI)的變遷例。用圖8、圖9A~圖9C說(shuō)明對(duì)容器設(shè)定鏈接的方法。
首先,在步驟S601中,布局編輯應(yīng)用程序121表示為了在用戶界面畫(huà)面的工作區(qū)306上進(jìn)行編輯而選擇出的文檔模板。為了設(shè)定鏈接,用于設(shè)定鏈接的容器(最少2個(gè))必需在文檔模板上生成。在圖9A~圖9C表示在步驟S601生成2個(gè)容器并設(shè)定鏈接時(shí)的用戶界面的變遷例。
接著,在步驟S602,布局編輯應(yīng)用程序121,判斷上述鏈接工具是否為選擇狀態(tài)(通過(guò)點(diǎn)擊圖6的按鈕406,成為選擇狀態(tài))。如果鏈接工具不是選擇狀態(tài),則根據(jù)需要執(zhí)行其它的各種處理(步驟S609),回到步驟S602。
在圖9A中,設(shè)容器601和602全部由固定的邊構(gòu)成。此外,603和604與圖6的409相同,意味著錨點(diǎn)。605意味著鼠標(biāo)指針。那么,在鏈接工具按鈕406為選擇狀態(tài)期間,用戶點(diǎn)擊設(shè)定鏈接的2個(gè)容器中的一個(gè)(稱為容器601)來(lái)選擇。按照該操作,布局編輯應(yīng)用程序121的用戶界面103,識(shí)別出指定了第1容器(步驟S603),保持特別指定所選擇的容器的信息。此外,在畫(huà)面上顯示與以后的鼠標(biāo)光標(biāo)的移動(dòng)對(duì)應(yīng)的軌跡(步驟S604)。例如,圖9B的線段606,表示連接圖9A的狀態(tài)下的點(diǎn)擊位置和當(dāng)前的鼠標(biāo)光標(biāo)的位置的線,可以通過(guò)該UI向用戶明確表示在哪個(gè)位置設(shè)定鏈接。
接著,如圖9B所示,用戶將鼠標(biāo)指針移動(dòng)到另一個(gè)容器(容器602)并點(diǎn)擊。按照該操作,用戶界面103識(shí)別出指定了第2容器(步驟S605),布局編輯應(yīng)用程序121,在步驟S604中保持的第1容器,和在步驟S605中識(shí)別出指定的第2容器之間設(shè)定鏈接(步驟S606)。
這樣,在由用戶選擇出的兩個(gè)容器601、602之間設(shè)定鏈接時(shí),顯示鏈接UI1607(步驟S607)。進(jìn)而,接受該鏈接的設(shè)定,容器的顯示狀態(tài)成為圖9C的狀態(tài)(步驟S608)。即,通過(guò)設(shè)定鏈接,自動(dòng)地變更容器的UI。這里,由鏈接建立了關(guān)聯(lián)的邊為可變,以虛線表示。在圖9C中,608是以虛線表示的邊,表示上述可變的邊。另外,像圖9C那樣的容器的邊的狀態(tài)的變化,因?yàn)橛稍O(shè)定鏈接產(chǎn)生了使容器的邊可變的必要而自動(dòng)地執(zhí)行,其目的在于,防止發(fā)生盡管設(shè)定了鏈接但所有的邊卻是固定的這樣的矛盾。此外,609與圖7A~圖7D的505相同,是通過(guò)設(shè)定鏈接,向用戶在視覺(jué)上顯示容器能夠發(fā)生變化的方向的標(biāo)記。此外,在圖9C的例子中,左邊的容器的右邊和右邊的容器的左邊變?yōu)榭勺兊臓顟B(tài),但這是一個(gè)例子,例如,右容器可以變化為具有圖6的413所示的滾動(dòng)條的設(shè)定。
<基于布局引擎的布局計(jì)算處理> 本實(shí)施例的布局編輯應(yīng)用程序,分為使用用戶界面103生成容器,在該容器之間進(jìn)行關(guān)聯(lián)(鏈接設(shè)定),并生成布局的布局模式;通過(guò)布局引擎105,將數(shù)據(jù)源的各記錄插入所生成的布局,并預(yù)覽實(shí)際插入了記錄之后的布局結(jié)果的預(yù)覽模式。在該預(yù)覽模式中,插入實(shí)際的記錄,按照上述優(yōu)先級(jí)計(jì)算布局。但是,預(yù)覽模式是顯示上的布局計(jì)算。在實(shí)際打印時(shí),布局引擎105也向各容器插入數(shù)據(jù)并計(jì)算布局,并且,此時(shí)的計(jì)算方法與預(yù)覽模式相同。
圖10表示布局計(jì)算的流程。首先,選擇預(yù)覽模式(S1001)。如果是預(yù)覽模式,則布局編輯應(yīng)用程序121,使用戶從數(shù)據(jù)源選擇預(yù)覽的記錄,確定將所選擇的記錄的各字段數(shù)據(jù)插入各容器(步驟S1002)。當(dāng)確定向各容器插入字段數(shù)據(jù)時(shí),布局編輯應(yīng)用程序121,進(jìn)行用于對(duì)該記錄進(jìn)行布局的計(jì)算,并根據(jù)需要進(jìn)行布局調(diào)整(步驟S1003)。步驟S1003中的布局計(jì)算的細(xì)節(jié),將在后面描述。并且,布局編輯應(yīng)用程序121,顯示在步驟S1003計(jì)算出的布局(步驟S1004)。布局編輯應(yīng)用程序121,根據(jù)用戶的指示判斷是否對(duì)其它記錄進(jìn)行預(yù)覽(S1005)。當(dāng)在步驟S1005,判斷為不必對(duì)其它記錄進(jìn)行預(yù)覽時(shí),結(jié)束預(yù)覽模式(S1007)。如果對(duì)其它記錄進(jìn)行預(yù)覽,則布局編輯應(yīng)用程序121,選擇其它記錄再次進(jìn)行布局計(jì)算,進(jìn)行預(yù)覽(步驟S1006)。
另外,當(dāng)不在預(yù)覽模式下進(jìn)行打印時(shí),依次對(duì)要打印的全部記錄進(jìn)行布局的計(jì)算。因此,步驟S1004不存在,步驟S1005進(jìn)行是否處理全部要打印的記錄的判斷。對(duì)在步驟S1003進(jìn)行了布局計(jì)算的結(jié)果進(jìn)行描繪輸出,用打印機(jī)驅(qū)動(dòng)程序生成為打印數(shù)據(jù),并向打印機(jī)輸出打印數(shù)據(jù)。此時(shí),在對(duì)于所有記錄(為了打印而被指定的所有記錄),打印數(shù)據(jù)的輸出結(jié)束的時(shí)刻,結(jié)束本處理。
下面,說(shuō)明基于上述步驟S1003的布局計(jì)算的細(xì)節(jié)。圖11是表示本實(shí)施例的未設(shè)定布局的優(yōu)先級(jí)時(shí)的布局計(jì)算的方法的流程圖。此外,圖18是表示這時(shí)的UI顯示例的圖。另外,由于圖11是用于只說(shuō)明布局計(jì)算的處理方法的流程圖,所以,相當(dāng)于對(duì)可變數(shù)據(jù)打印的1個(gè)記錄進(jìn)行打印/預(yù)覽時(shí)的布局計(jì)算方法。當(dāng)為多個(gè)記錄時(shí),重復(fù)以下的處理。
首先,布局編輯應(yīng)用程序121,求出計(jì)算布局的容器的集合(步驟S1101)。布局計(jì)算,將關(guān)聯(lián)的容器作為一個(gè)集合進(jìn)行計(jì)算。例如,當(dāng)參照?qǐng)D13時(shí),在頁(yè)面上對(duì)4個(gè)容器進(jìn)行布局,并對(duì)各容器設(shè)定關(guān)聯(lián)。此時(shí),容器A和容器B、容器C和容器D通過(guò)鏈接建立關(guān)聯(lián)。因此,容器A和容器B成為集合1,容器C和容器D成為集合2。即,將由鏈接連接的容器群確定為一個(gè)集合。如上所述,1501表示錨點(diǎn),1502表示固定的邊,1503表示把手,1504表示代表可變的邊的變化方向的箭頭,1505表示可變的邊,1506表示鏈接,1507表示滾動(dòng)條。
接著,布局編輯應(yīng)用程序121,從在步驟S1101求出的容器的集合中,作為計(jì)算布局的對(duì)象,選擇一個(gè)集合(S1102)。然后,對(duì)所選擇出的容器的集合,進(jìn)行布局的計(jì)算。首先,對(duì)作為所選擇出的容器的集合中包含的可變要素的2個(gè)容器(A、B),由所插入的數(shù)據(jù)的圖像尺寸或文本量,計(jì)算各容器不受任何限定時(shí)的大小。具體而言,布局編輯應(yīng)用程序121判斷容器A是圖像數(shù)據(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í),如果不考慮限定就無(wú)法確定容器A的縱橫比率,所以,分配限定。在圖13的例子中,容器A在左上角和左下角設(shè)定錨點(diǎn),所以,高度(縱向)固定。由此,布局編輯應(yīng)用程序121,判斷是否可以將計(jì)算出的數(shù)據(jù)量(文本量)的文字插入作為容器A的基本圖形設(shè)定的寬度(橫向)的容器A中。當(dāng)判斷為能夠全部插入時(shí),在容器A中,無(wú)法變更為以基本圖形設(shè)定的尺寸(寬度、高度)。此外,判斷為不能全部插入時(shí),容器A,通過(guò)錨點(diǎn)設(shè)定而高度固定,所以,橫向延伸。這里,布局編輯應(yīng)用程序121,容器A的寬度變?yōu)槎嗌伲陀?jì)算是否能插入所計(jì)算的數(shù)據(jù)量的字符,并計(jì)算容器A的尺寸。
接著,布局編輯應(yīng)用程序121進(jìn)行布局的最優(yōu)化,使得盡可能地減小進(jìn)行布局的容器尺寸和實(shí)際的容器尺寸的差(S1103)。進(jìn)行布局的最優(yōu)化,使得在可動(dòng)態(tài)地改變尺寸地建立了關(guān)聯(lián)的容器中,分別插入的內(nèi)容的尺寸和進(jìn)行布局的尺寸的差盡可能相同。布局編輯應(yīng)用程序121,求出在步驟S1102選擇出的容器的集合的尺寸,即,容器A和容器B和鏈接1506(固定鏈接時(shí),使用設(shè)定的鏈接長(zhǎng)度,可變鏈接時(shí),使用被設(shè)定為基準(zhǔn)值的鏈接長(zhǎng)度)的合計(jì)尺寸,求出該合計(jì)尺寸和基本布局中的該容器的集合的尺寸(在圖13的例子中,相當(dāng)于容器A和容器B的各自的錨點(diǎn)圖標(biāo)的距離)的差。當(dāng)計(jì)算出容器A和容器B的寬度增大時(shí),產(chǎn)生差分值。布局編輯應(yīng)用程序121,通過(guò)將該差分值均等地分配到容器的集合的各要素中,來(lái)進(jìn)行布局調(diào)整。另外,也可以構(gòu)成為對(duì)包括鏈接1506,即容器A、容器B和鏈接1506均等地分配差分值。這樣,將鏈接長(zhǎng)度可調(diào)整的鏈接1506稱作可變鏈接。
布局編輯應(yīng)用程序121進(jìn)行布局的最優(yōu)化,當(dāng)違反規(guī)則時(shí),再次在不違反規(guī)則的前提下進(jìn)行計(jì)算(S1104)。在此所述的規(guī)則,是布局生成時(shí)由用戶設(shè)定的限制,容器的尺寸的可變范圍和位置的限制,在為可變鏈接時(shí),是鏈接長(zhǎng)度的變化的限制等。如果在不違反規(guī)則的前提下計(jì)算布局,則該集合的布局完成。并且,對(duì)頁(yè)面上的所有集合實(shí)施步驟S1102~S1104的處理,布局編輯應(yīng)用程序121計(jì)算頁(yè)面整體的布局(S1105)。
圖12A~12C是在未設(shè)定優(yōu)先級(jí)的條件下進(jìn)行布局時(shí)的UI例。
圖12A表示插入某記錄來(lái)確定布局的狀態(tài)。1301和1302表示錨點(diǎn),1303和1304表示固定的邊,1305表示可變的邊,1306表示代表可變的邊的變化方向的箭頭,1308表示鏈接。在該狀態(tài)下,變更記錄,插入不同的尺寸的內(nèi)容。圖12B在圖12A的狀態(tài)下重疊表示新的內(nèi)容的尺寸。1309表示插入各容器中的內(nèi)容的尺寸。然后,進(jìn)行布局計(jì)算。圖12C表示進(jìn)行了布局計(jì)算的結(jié)果。進(jìn)行計(jì)算,使得計(jì)算后的各容器的尺寸與實(shí)際插入的內(nèi)容的尺寸具有同等的差異,并且,在不違反上述規(guī)則的前提下計(jì)算。如圖12C所示,圖12B所示的所插入的內(nèi)容尺寸(1309)和計(jì)算后的內(nèi)容尺寸(1310),兩者具有同等的差異。
<基于與空數(shù)據(jù)對(duì)應(yīng)的容器的布局調(diào)整>
圖14表示使用容器和鏈接而生成的布局的一例。與圖6相同,具有應(yīng)用程序窗口301和工具條303,在文檔模板309上配置有容器A(701)、容器B(702)、容器C(703)、容器D(704)以及容器E(705)。此外,在容器A-容器B之間設(shè)定鏈接720,在容器A-容器E之間設(shè)定鏈接716,在容器B-容器E之間設(shè)定鏈接717,在容器C-容器D之間設(shè)定鏈接721,在容器C-容器E之間設(shè)定鏈接718,在容器D-容器E之間設(shè)定鏈接719。
各容器由錨點(diǎn)圖標(biāo)706、錨點(diǎn)圖標(biāo)707、錨點(diǎn)圖標(biāo)708、錨點(diǎn)圖標(biāo)709和固定的邊710、邊711、邊712、邊713、邊714、邊715以及位置可變的邊722、邊723、邊724、邊725、邊726、邊727形成。另外,固定的邊以實(shí)線表示,位置可變的邊以虛線表示。錨點(diǎn)被配置在容器的角上,表示該角被固定在文檔上的指定位置,無(wú)法從該位置移動(dòng)。由于在容器701~705上設(shè)置鏈接,存在可變長(zhǎng)度地移動(dòng)的邊,所以,表示該可變地移動(dòng)的方向的指示器728、指示器729、指示器730、指示器731、指示器732、指示器733分別顯示在容器A、容器B、容器C、容器D、容器E內(nèi)。它是表示各容器的邊能夠在指示器所示的方向(或其相反方向)上移動(dòng)的功能。
在圖14中,作為鏈接的設(shè)定例,將鏈接716的長(zhǎng)度設(shè)定為50,將鏈接717的長(zhǎng)度設(shè)定為20,將鏈接718的長(zhǎng)度設(shè)定為30,將鏈接719的長(zhǎng)度設(shè)定為40。為了易于理解以下的說(shuō)明而使用這些值。另外,鏈接720和鏈接721的形狀為臺(tái)階狀是因?yàn)楸硎緸檫B接各容器的邊的中央部。
<容器的屬性設(shè)定>
圖15是表示用于設(shè)定本實(shí)施例的容器的屬性信息的屬性對(duì)話窗口的例子的圖。這里,表示用于設(shè)定容器E(715)的屬性信息的屬性對(duì)話窗口。另外,在圖15的對(duì)話窗口中,只顯示了關(guān)于與插入容器的數(shù)據(jù)為空時(shí)對(duì)應(yīng)的設(shè)定項(xiàng)目的內(nèi)容,當(dāng)然還可以設(shè)定其它屬性(例如,容器尺寸的伸縮范圍等限制)。
該屬性對(duì)話窗口1201包括標(biāo)題欄1202、工具按鈕1203、進(jìn)行屬性對(duì)話窗口的關(guān)閉(設(shè)定內(nèi)容的反映)或取消(設(shè)定內(nèi)容的放棄)的按鈕1204、設(shè)置各種信息的區(qū)1205。在該屬性對(duì)話窗口1201中具有當(dāng)插入容器中的數(shù)據(jù)為空時(shí),設(shè)容器尺寸為0而計(jì)算的零化模式(Set min-size as 0 when data is empty)的選擇按鈕1207;按照容器的限定(Constraints),執(zhí)行通常的布局計(jì)算的通常模式(Calculate LayoutNormally)的選擇按鈕1206。選擇按鈕1206和選擇按鈕1207被分組,具有互斥性,擇一地選擇。默認(rèn)為選擇選擇按鈕1206(通常模式)。
當(dāng)未選擇選擇按鈕1207(零化模式)時(shí),配置在它以下的項(xiàng)目1208~1212(除了框1209)全部變?yōu)椴荒懿僮?,并使顯示變?yōu)榛疑?。?dāng)選擇選擇按鈕1207(零化模式)時(shí),鏈接長(zhǎng)度調(diào)整的檢查框1208(Adjust Link Length)變?yōu)橛行?,通過(guò)開(kāi)/關(guān)該框的檢查,還能夠設(shè)定是否進(jìn)行連接在該容器上的鏈接長(zhǎng)度的調(diào)整。
這里,說(shuō)明本實(shí)施例的鏈接的長(zhǎng)度調(diào)整。例如,在上下方向上并列配置有3個(gè)容器(從上到下依次為容器A、容器B、容器C),在各容器之間(容器A-容器B之間、容器B-容器C之間)設(shè)置鏈接。如果在該布局中,對(duì)配置在中央的容器B設(shè)定上述的零化模式,則當(dāng)對(duì)容器B插入空的數(shù)據(jù)時(shí)設(shè)高度為0進(jìn)行布局計(jì)算。但是,容器A和容器C的距離,變?yōu)樵谌萜鰽-容器B之間設(shè)置的鏈接與在容器B-容器C之間設(shè)置的鏈接相加的尺寸。即,與在容器A-容器C之間設(shè)置表面看來(lái)多余的尺寸的鏈接相同,這些量的空間空出必要以上,由此,文檔的外觀有可能惡化。此外,當(dāng)向容器A和容器C插入更大尺寸的數(shù)據(jù)時(shí),無(wú)法有效利用該空間。因此,當(dāng)設(shè)容器B的高度為0時(shí),最好是能夠縮短與容器A和容器C的鏈接長(zhǎng)度,以更加合適的尺寸取得容器A、容器C。
當(dāng)在檢查框1208中,不為檢查開(kāi)的情況下(在保持檢查關(guān)的狀態(tài)的情況下),在插入該容器中的數(shù)據(jù)為空時(shí),只進(jìn)行設(shè)該容器尺寸為0來(lái)計(jì)算的動(dòng)作,從該容器設(shè)置的所有鏈接的長(zhǎng)度,按照鏈接的設(shè)定進(jìn)行計(jì)算。這時(shí),當(dāng)以多個(gè)鏈接連接時(shí)也不調(diào)整尺寸,所以,空間空著,布局的平衡變壞。或者,在插入其它容器中的數(shù)據(jù)大時(shí),通過(guò)利用這樣的空空間,有可能變?yōu)樽罴训拇笮 ?br>
因此,由于通過(guò)調(diào)整這些鏈接的長(zhǎng)度,填充或利用該空著的空間,所以,可以有效地使檢查框1208的檢查為開(kāi)。當(dāng)檢查框1208的檢查為開(kāi)時(shí),配置在框1209內(nèi)的項(xiàng)目1210~1212變?yōu)橛行顟B(tài)。在本實(shí)施例中,默認(rèn)為選擇長(zhǎng)度選擇按鈕1210(Length)。
調(diào)整長(zhǎng)度選擇按鈕1210和比率選擇按鈕1212被分組,具有互斥性,擇一地選擇。由檢查框1208選擇的功能,是在設(shè)容器尺寸為0來(lái)計(jì)算后,調(diào)整對(duì)該容器設(shè)置的鏈接的尺寸,再計(jì)算布局的選擇功能。在本實(shí)施例中,作為這樣的鏈接長(zhǎng)度的調(diào)整方法,當(dāng)選擇調(diào)整長(zhǎng)度選擇按鈕1210時(shí),按照在輸入項(xiàng)目1210a輸入的輸入值的量,縮短對(duì)該容器設(shè)置的鏈接的長(zhǎng)度。它是在相同的條件下對(duì)在該容器中設(shè)置的所有鏈接執(zhí)行的方法。此外,當(dāng)選擇了選擇按鈕1210時(shí),能夠通過(guò)列表1211選擇所指定的值的單位。
通過(guò)以上的鏈接長(zhǎng)度的調(diào)整功能,當(dāng)設(shè)置多個(gè)鏈接時(shí),能夠保持某種程度的鏈接長(zhǎng)度的平衡。此外,由于指定實(shí)際的縮短長(zhǎng)度,所以,易于由用戶指定,也易于預(yù)想布局結(jié)果。另外,在選擇了調(diào)整長(zhǎng)度選擇按鈕1210時(shí)可以指定的值(調(diào)整值)的范圍,基本上在當(dāng)前對(duì)容器設(shè)置的多個(gè)鏈接中,最小長(zhǎng)度的鏈接的長(zhǎng)度為調(diào)整值的最大值。但是,當(dāng)鏈接的最小長(zhǎng)度為0.1mm等非常小時(shí),幾乎無(wú)法減少空間,此外,還存在即使平衡稍微破壞也要填充空間的情形。因此,還可以超過(guò)鏈接的最小值地設(shè)定調(diào)整值。當(dāng)調(diào)整值比鏈接的最小長(zhǎng)度還大時(shí),有時(shí)調(diào)整后的鏈接長(zhǎng)度變成負(fù),這時(shí),設(shè)鏈接的長(zhǎng)度為0?;蛘?,考慮可不停地放大等的若干實(shí)施例。
作為另一個(gè)鏈接長(zhǎng)度的調(diào)整方法的例子,當(dāng)選擇了比率選擇按鈕1212時(shí),以所指定的比率使對(duì)容器設(shè)置的鏈接的長(zhǎng)度變化。通過(guò)該方法,連接在該容器上的多個(gè)鏈接的長(zhǎng)度的比率,維持在調(diào)整前的狀態(tài)。因此,當(dāng)對(duì)多個(gè)容器設(shè)置鏈接時(shí),能夠有效地保持該配置的布局狀態(tài)。即,在用戶想配置容器的布局中,即使在填充插入了空數(shù)據(jù)的容器的空間時(shí),也可以在良好地保持當(dāng)初所生成的布局的平衡的狀態(tài)下調(diào)整鏈接尺寸,變更容器尺寸。
以下,參照?qǐng)D16的流程圖,說(shuō)明用在上述圖15說(shuō)明的對(duì)話框設(shè)定容器的屬性時(shí)的處理。
圖16表示用于用戶界面103顯示上述屬性對(duì)話窗口(圖12),并使用戶進(jìn)行插入了空容器時(shí)的設(shè)定的處理。
首先,在通過(guò)鍵盤(pán)132和鼠標(biāo)133選擇了容器的狀態(tài)下,當(dāng)輸入表示該選擇狀態(tài)的容器(以下,稱作對(duì)象容器)的屬性對(duì)話窗口1201的指示時(shí),處理從步驟S1601進(jìn)入步驟S1602。在步驟S1602,布局編輯應(yīng)用程序121的用戶界面103顯示對(duì)象容器的屬性對(duì)話窗口。以下,說(shuō)明選擇容器E(705)(對(duì)象容器)。此外,作為用于顯示屬性對(duì)話窗口的指示輸入,可以列舉由用戶進(jìn)行的鼠標(biāo)的右擊或來(lái)自鍵盤(pán)的Alt鍵等輸入。在該狀態(tài)下,在對(duì)話窗口1201上選擇選擇按鈕1206(Calculate Layout Normally)(通常模式)。這里,當(dāng)用戶在插入空的數(shù)據(jù)時(shí)設(shè)容器的尺寸為0來(lái)計(jì)算的情況下(零化模式),選擇選擇按鈕1207(Set min-size as 0 when data is empty)。
在選擇了選擇按鈕1207的狀態(tài)下,對(duì)話窗口1201的檢查框1208為檢查關(guān)。當(dāng)在該狀態(tài)下對(duì)話窗口1201關(guān)閉時(shí),設(shè)定為在插入空數(shù)據(jù)時(shí)只執(zhí)行使該容器的尺寸為0的處理。
另一方面,當(dāng)在對(duì)話窗口1201選擇選擇按鈕1207(零化模式),并使鏈接長(zhǎng)度調(diào)整的檢查框1208的檢查為開(kāi)時(shí),為了讓用戶設(shè)定鏈接長(zhǎng)度的調(diào)整方法,而使向框1209內(nèi)的輸入為可能的狀態(tài)。在該狀態(tài)下,能夠選擇鏈接長(zhǎng)度的調(diào)整方法。能夠選擇的調(diào)整方法如上所述,是按指定長(zhǎng)度縮短鏈接,或通過(guò)所指定的比率縮短鏈接的任意一個(gè)。另外,默認(rèn)為選擇調(diào)整長(zhǎng)度選擇按鈕1210,指定縮短的長(zhǎng)度的框?yàn)榭瞻住?br>
當(dāng)選擇指定鏈接長(zhǎng)度的方法時(shí),設(shè)調(diào)整長(zhǎng)度選擇按鈕1210為選擇狀態(tài),在框1210a中設(shè)定長(zhǎng)度,并從列表1211選擇單位。另一方面,當(dāng)選擇了以所指定的比率縮短鏈接的方法時(shí)(選擇了比率選擇按鈕1212時(shí)),在框1212a中設(shè)定用于縮小的比率。
這樣,當(dāng)點(diǎn)擊應(yīng)用按鈕1204,指示應(yīng)用時(shí),處理從步驟S1603進(jìn)入步驟S1604。用戶界面103檢查屬性對(duì)話窗口中的設(shè)定狀態(tài),如果選擇選擇按鈕1206(通常模式),從步驟S1604進(jìn)入步驟S1608,將對(duì)象容器設(shè)定為通常模式。
另一方面,如果選擇選擇按鈕1207,則從步驟S1604進(jìn)入步驟S1605,布局編輯應(yīng)用程序121,將對(duì)象容器設(shè)定為零化模式。然后,通過(guò)檢查檢查框1208的檢查狀態(tài),判定鏈接尺寸的調(diào)整的有無(wú)。如果尚未檢查檢查框1208,則從步驟S1606進(jìn)入步驟S1609,將對(duì)象容器設(shè)定為不調(diào)整鏈接尺寸。當(dāng)檢查檢查框1208時(shí),從步驟S1606進(jìn)入步驟S1607。在步驟S1607,布局編輯應(yīng)用程序121,按照框1209內(nèi)的設(shè)定狀態(tài),設(shè)定該對(duì)象容器中的鏈接長(zhǎng)度的調(diào)整方法,在文檔模板上記述設(shè)定內(nèi)容,保持在HDD140中。
圖17是說(shuō)明在圖14所示的布局中,容器E(705)的設(shè)定狀態(tài)為零化模式時(shí)(在圖15所示的屬性對(duì)話窗口中,選擇選擇按鈕1207,未檢查檢查框1208的狀態(tài))的布局變化的情形的圖。此外,圖18是說(shuō)明在圖14所示的布局中容器E(705)的設(shè)定狀態(tài)為圖15的屬性對(duì)話窗口所示那樣時(shí),向容器E插入空的數(shù)據(jù)時(shí)的布局變化的情形的圖。
如上所述,圖17是當(dāng)插入了空數(shù)據(jù)時(shí),設(shè)容器尺寸為0來(lái)計(jì)算,且不進(jìn)行鏈接長(zhǎng)度的調(diào)整時(shí)的布局調(diào)整結(jié)果。當(dāng)在圖15的項(xiàng)目1207中插入空的數(shù)據(jù)時(shí),進(jìn)行設(shè)容器尺寸為0來(lái)計(jì)算的設(shè)定,所以,容器E的尺寸變?yōu)?(805)。這時(shí),容器A、容器B、容器C、容器D分別與容器E以鏈接716、鏈接717、鏈接718、鏈接719建立關(guān)聯(lián),因此,容器的尺寸增大。
從圖17可知,容器A-容器E之間、容器B-容器E之間、容器C-容器E之間、容器D-容器E之間的距離不變,但容器E的尺寸變?yōu)椤?”,所以,容器A-容器C之間的距離,空閑鏈接716的尺寸“50”和鏈接718的尺寸“30”的合計(jì)80的空間。此外,容器B-容器D之間的距離,也空閑鏈接717的尺寸“20”和鏈接719的尺寸“40”的合計(jì)60的空間。因此,最好是通過(guò)執(zhí)行上述鏈接長(zhǎng)度調(diào)整,填充這些空間,變?yōu)槊烙^的布局,或擴(kuò)大容器A、容器B、容器C、容器D的可放大區(qū)域,從而可以更有效地利用空間。
圖18是在圖17的基礎(chǔ)上,調(diào)整了鏈接長(zhǎng)度的結(jié)果。在圖15中,在檢查框1208加入檢查,選擇調(diào)整長(zhǎng)度選擇按鈕1210,在框1210a中,作為輸入值指定“20”。當(dāng)向容器E插入空數(shù)據(jù),其尺寸變?yōu)?時(shí),布局編輯應(yīng)用程序121,使連接在容器E上的各鏈接的尺寸縮短“20”。即,布局編輯應(yīng)用程序121,將鏈接716的尺寸從“50”縮小為“30”,將鏈接717的尺寸從“20”縮小為“0”,將鏈接718的尺寸從“30”縮小為“10”,將鏈接719的尺寸從“40”縮小為“20”。由此,結(jié)果是如圖18所示,容器A-容器C之間變?yōu)殒溄?16的尺寸“30”和鏈接718的尺寸“10”的合計(jì)40,容器B-容器D之間變?yōu)殒溄?17的尺寸“0”和鏈接719的尺寸“20”的合計(jì)20。由此,容器A-容器C之間、容器B-容器D之間,與調(diào)整前相比,分別可以利用“40”的量的空間。
另外,在圖15的項(xiàng)目1210中指定了大于等于“20”的尺寸的情況下,例如指定“30”,當(dāng)鏈接尺寸未小于等于0時(shí),鏈接716的尺寸變?yōu)椤?0”,鏈接718的尺寸變?yōu)椤?”,鏈接717的尺寸還是“0”,鏈接719的尺寸變?yōu)椤?0”,容器A-容器C之間變?yōu)殒溄?16的尺寸“20”和鏈接718的尺寸“0”的合計(jì)20,容器B-容器D之間變?yōu)殒溄?17的尺寸“0”和鏈接719的尺寸“10”的合計(jì)10。
此外,作為鏈接長(zhǎng)度的調(diào)整方法,選擇比率選擇框1212,例如,在框1212a上設(shè)定了80(%)時(shí),鏈接716~719的長(zhǎng)度分別按“50”→“40”、“20”→“16”、“30”→“24”、“40”→“32”變化。
圖19是表示在如圖17、圖18那樣布局狀態(tài)轉(zhuǎn)移的過(guò)程中,布局引擎105如何工作的流程圖。
首先,在步驟S1701,布局編輯應(yīng)用程序121,向相應(yīng)的容器插入數(shù)據(jù)庫(kù)的記錄的各字段(也稱作DB字段)的數(shù)據(jù)。然后,在步驟S1702,進(jìn)行參照?qǐng)D11的流程圖說(shuō)明的布局計(jì)算。在本實(shí)施例中,為了進(jìn)行使數(shù)據(jù)為空的狀態(tài)的容器為0的布局調(diào)整,執(zhí)行以下的處理。
首先,在步驟S1703,布局編輯應(yīng)用程序121,檢索在當(dāng)前的記錄中是否存在數(shù)據(jù)為空的狀態(tài)的DB字段。通過(guò)該檢索結(jié)果,當(dāng)沒(méi)有空的DB字段時(shí),從步驟S1704照原樣地進(jìn)入步驟S1715,在顯示器上預(yù)覽顯示基于步驟S1702布局計(jì)算的布局結(jié)果。當(dāng)存在空的狀態(tài)的DB字段時(shí),從步驟S1704進(jìn)入步驟S1705,布局編輯應(yīng)用程序121,檢索插入了空的DB字段的容器。當(dāng)在步驟S1705檢索到的容器不存在時(shí),即,在數(shù)據(jù)庫(kù)的對(duì)象記錄中存在空的DB字段,但該DB字段未與任何容器建立關(guān)聯(lián)時(shí),因?yàn)榭梢圆贿M(jìn)行使容器的尺寸為0的布局調(diào)整,所以,照原樣地進(jìn)入步驟S1715,布局編輯應(yīng)用程序121,預(yù)覽顯示布局結(jié)果。
另一方面,當(dāng)存在在步驟S1705檢索到的容器時(shí),從步驟S1706進(jìn)入步驟S1707,檢索在步驟S1705檢索到的容器中,與容器建立關(guān)聯(lián)的DB字段的個(gè)數(shù)為1的容器,和與容器建立關(guān)聯(lián)的DB字段為多個(gè)但所有DB字段的數(shù)據(jù)都為空的容器。由于該檢索的結(jié)果為在不存在相應(yīng)的容器時(shí),不存在插入了空的數(shù)據(jù)的容器,所以,從步驟S1708進(jìn)入步驟S1715,預(yù)覽顯示布局結(jié)果。
另外,進(jìn)行上述步驟S1707的處理是由于以下的理由。即,當(dāng)多個(gè)DB字段與一個(gè)容器建立關(guān)聯(lián)時(shí),會(huì)發(fā)生以下情況在某DB字段中存在數(shù)據(jù),而其它DB字段的數(shù)據(jù)為空。這時(shí),至少在一個(gè)DB字段中存在數(shù)據(jù),并將其插入容器,所以,無(wú)法設(shè)該容器的尺寸為0來(lái)計(jì)算。在步驟S1707,進(jìn)行用于不把這樣的容器視為空容器的過(guò)濾。另一方面,建立關(guān)聯(lián)的DB字段為1個(gè)的容器,已經(jīng)在步驟S1704中被過(guò)濾為存在空的DB字段的容器,所以,當(dāng)然該容器的內(nèi)容為空。
在步驟S1708,布局編輯應(yīng)用程序121,判斷步驟S1707的檢索結(jié)果,判斷所檢索的容器個(gè)數(shù)是否為0。當(dāng)所檢索的容器個(gè)數(shù)不是0時(shí)(大于等于1時(shí)),進(jìn)入步驟S1709,使焦點(diǎn)移動(dòng)到檢索列表的起始的容器(以下,將焦點(diǎn)移動(dòng)的容器稱作注目容器)。然后,對(duì)該注目容器,檢查是否設(shè)定數(shù)據(jù)為空時(shí)設(shè)容器的尺寸為0來(lái)計(jì)算的“零化模式”(步驟S1711),如果設(shè)定,則進(jìn)入步驟S1713,如果未設(shè)定,則進(jìn)入步驟S1712。當(dāng)在注目容器的屬性中未設(shè)定零化模式時(shí),檢查在檢索列表中是否存在下一容器(步驟S1712),如果存在,則將焦點(diǎn)移動(dòng)到下一容器(步驟S1710)。
當(dāng)設(shè)定零化模式時(shí),處理進(jìn)入步驟S1713,布局編輯應(yīng)用程序121,使該注目容器的尺寸為0。進(jìn)而,如果進(jìn)行鏈接調(diào)整的設(shè)定,則將該設(shè)定讀入存儲(chǔ)器。然后,檢查在檢索列表中是否存在下一容器(步驟S1712),如果存在,則將焦點(diǎn)移動(dòng)到下一容器(步驟S1710)。
對(duì)檢索列表的所有容器,反復(fù)進(jìn)行以上的步驟S1711~S1713。當(dāng)對(duì)所有容器都進(jìn)行之后,在步驟S1714,基于讀入存儲(chǔ)器中的此前的信息,再次進(jìn)行布局計(jì)算。即,對(duì)設(shè)定了零化模式的空的容器,使其尺寸為0,如果存在鏈接調(diào)整的設(shè)定,則按照其內(nèi)容,調(diào)整鏈接長(zhǎng)度。這樣,例如,通過(guò)步驟S1702的布局計(jì)算,取得圖14的布局,當(dāng)容器E的內(nèi)容為空時(shí),通過(guò)步驟S1714的布局計(jì)算,取得圖18所示的布局。另外,當(dāng)使容器的尺寸為0時(shí),在成為零化對(duì)象的容器的中心線上壓縮容器。例如,對(duì)于與圖14的容器E連接的垂直方向的鏈接,變?yōu)槿萜鱁的上邊和下邊重疊在通過(guò)容器E的中心的水平軸(圖18的805)上的狀態(tài)。換言之,所謂使容器尺寸為0,是以縱橫2條直線的任意一條或兩者表現(xiàn)容器。
但是,使尺寸為0之后的容器的位置并不限于所述內(nèi)容,也可以將邊重疊在容器的上下邊或左右邊的一方上。此外,還可以在屬性對(duì)話窗口(圖15)上設(shè)定是將邊重疊在中心軸上,還是將其他邊重疊在容器的1個(gè)邊上。
并且,在步驟S1715,布局編輯應(yīng)用程序121預(yù)覽該布局結(jié)果。以上是布局引擎的動(dòng)作流程。
<實(shí)施例2>
對(duì)容器插入了空的數(shù)據(jù)時(shí)的鏈接長(zhǎng)度的調(diào)整方法,除了第1實(shí)施例的如圖15所示的鏈接調(diào)整方法以外,還可以考慮其他各種方法。例如,在圖15所示的方法中所指定鏈接的調(diào)整值(長(zhǎng)度和比率),適用于對(duì)插入了空數(shù)據(jù)的容器設(shè)置的所有鏈接。但是,當(dāng)在容器的4個(gè)邊上設(shè)置鏈接時(shí),可以考慮根據(jù)情況要在上方向、下方向、右方向、左方向上設(shè)定為不同的調(diào)整值的情形。在第2實(shí)施例中,為了可以應(yīng)對(duì)這樣的情形,提供能夠?qū)Ω魅萜鞯母鬟呍O(shè)定鏈接長(zhǎng)度的調(diào)整值的UI。
圖20是該典型的屬性對(duì)話窗口的例子。項(xiàng)目1206項(xiàng)目1207和項(xiàng)目1208與圖15所示的項(xiàng)目相同。當(dāng)選擇項(xiàng)目1208時(shí),框1302(Direction)內(nèi)的各框?yàn)橛行А5?,有效的框只是?dāng)前對(duì)該容器設(shè)置的鏈接所存在的邊的方向。例如,在是如圖14那樣配置的容器E時(shí),在上方向、下方向的2個(gè)邊上設(shè)置鏈接,所以,在圖20的屬性對(duì)話窗口1301的框1302內(nèi),項(xiàng)目1303(Top)和項(xiàng)目1306(Bottom)為有效,項(xiàng)目1304(Left)和項(xiàng)目1305(Right)為無(wú)效,并變成灰色。
通過(guò)這樣的第2實(shí)施例,在容器的各邊上配置設(shè)定調(diào)整值的框,可以對(duì)各框從列表1307選擇單位。
圖21是表示按照由圖20的對(duì)話窗口設(shè)定的鏈接的調(diào)整方法,調(diào)整圖14的布局的結(jié)果的圖。在圖20的項(xiàng)目1303(Top)中設(shè)定尺寸20,在項(xiàng)目1306(Bottom)中設(shè)定尺寸30,所以,在圖21中,位于容器E的上方向的鏈接716的尺寸變?yōu)閺?0減去20的30。由于鏈接717也位于容器E的上方向,所以,其尺寸變?yōu)閺?0減去20的0。另一方面,由于鏈接718位于容器E的下方向,所以,其尺寸變?yōu)閺?0減去30的0。同樣地,由于鏈接719也位于容器E的下方向,所以,其尺寸變?yōu)閺?0減去30的10。這樣,就如圖21所示地調(diào)整了布局。
另外,當(dāng)使在上下方向和左右方向具有鏈接的容器的尺寸為0時(shí),連接在該容器上的容器之間有可能干擾。例如,連接在成為零化對(duì)象的容器的上方向的容器和連接在右方向上的容器,也可能因該對(duì)象容器的零化而相互干擾。當(dāng)在布局計(jì)算中檢測(cè)到這樣的干擾時(shí),在本實(shí)施例中,禁止該容器的零化。
如上所述,通過(guò)第2實(shí)施例,由于可以按各邊的方向分別設(shè)定鏈接的調(diào)整值,所以,對(duì)于用戶而言,可以進(jìn)行更細(xì)致的指定,能夠有效地填充產(chǎn)生了空數(shù)據(jù)的容器時(shí)的浪費(fèi)的空間。此外,能夠指定在將空的數(shù)據(jù)插入了容器時(shí)使哪個(gè)方向優(yōu)先來(lái)填充空間。因此,能夠取得更反映用戶的意圖的準(zhǔn)確的布局結(jié)果。當(dāng)然,不僅鏈接的方向,還存在對(duì)在插入空數(shù)據(jù)的容器設(shè)置鏈接的容器,逐個(gè)地設(shè)置鏈接的調(diào)整值的方法,按照該設(shè)定填充空間、進(jìn)行布局的有效性也很明白。
<其它實(shí)施例>
另外,本發(fā)明的目的還可以通過(guò)以下方式實(shí)現(xiàn),向系統(tǒng)或裝置提供記錄了實(shí)現(xiàn)上述實(shí)施例的功能的軟件的程序代碼的存儲(chǔ)介質(zhì),該系統(tǒng)或裝置的計(jì)算機(jī)(或CPU和MPU)讀出并執(zhí)行存儲(chǔ)在存儲(chǔ)介質(zhì)中的程序代碼。
這時(shí),從存儲(chǔ)介質(zhì)讀出的程序代碼本身就能實(shí)現(xiàn)上述實(shí)施例的功能,存儲(chǔ)了該程序代碼的存儲(chǔ)介質(zhì)就構(gòu)成本發(fā)明。
作為用于提供程序代碼的存儲(chǔ)介質(zhì),例如,可以使用floppy盤(pán)、硬盤(pán)、光盤(pán)、光磁盤(pán)、CD-ROM、CD-R、磁帶、非易失性的存儲(chǔ)卡、ROM等。
此外,不僅可以通過(guò)執(zhí)行計(jì)算機(jī)所讀出的程序代碼,來(lái)實(shí)現(xiàn)上述實(shí)施例的功能,當(dāng)然還包括以下情形基于該程序代碼的指示,在計(jì)算機(jī)上運(yùn)行的OS(操作系統(tǒng))進(jìn)行實(shí)際處理的一部分或全部,通過(guò)該處理,實(shí)現(xiàn)上述實(shí)施例的功能。
當(dāng)然,還包括以下情形將從存儲(chǔ)介質(zhì)讀出的程序代碼寫(xiě)入插入計(jì)算機(jī)的功能擴(kuò)展板或連接在計(jì)算機(jī)上的功能擴(kuò)展單元所具備的存儲(chǔ)器之后,基于該程序代碼的指示,該功能擴(kuò)展板或功能擴(kuò)展單元所具備的CPU等進(jìn)行實(shí)際處理的一部分或全部,通過(guò)該處理,實(shí)現(xiàn)上述實(shí)施例的功能。
權(quán)利要求
1.一種確定頁(yè)面的布局的布局調(diào)整方法,包括局部區(qū)域設(shè)定步驟,設(shè)定要插入數(shù)據(jù)的局部區(qū)域的尺寸和位置的基本圖形;計(jì)算步驟,基于要插入由上述局部區(qū)域設(shè)定步驟設(shè)定的局部區(qū)域中的數(shù)據(jù),對(duì)各局部區(qū)域計(jì)算適于描繪該要插入的數(shù)據(jù)的尺寸;調(diào)整步驟,基于由上述計(jì)算步驟計(jì)算出的各局部區(qū)域的尺寸,調(diào)整頁(yè)面內(nèi)的布局;以及指定步驟,指定是否在分配給局部區(qū)域的數(shù)據(jù)為空時(shí),使其尺寸為0,上述調(diào)整步驟,當(dāng)上述指定單元的指定,是使所分配的數(shù)據(jù)為空的狀態(tài)的局部區(qū)域的尺寸為0的指定時(shí),將該局部區(qū)域的尺寸視為0,調(diào)整頁(yè)面內(nèi)的布局。
2.根據(jù)權(quán)利要求1所述的布局調(diào)整方法,其特征在于,還包括基本布局步驟,在頁(yè)面內(nèi)對(duì)由上述局部區(qū)域設(shè)定步驟設(shè)定的多個(gè)部分區(qū)域進(jìn)行布局,確定基本布局;上述調(diào)整步驟,基于由上述基本布局步驟確定的基本布局中的各局部區(qū)域的關(guān)系,調(diào)整上述頁(yè)面內(nèi)的布局。
3.根據(jù)權(quán)利要求1所述的布局調(diào)整方法,其特征在于上述局部區(qū)域設(shè)定步驟,能夠在使局部區(qū)域的尺寸為0時(shí)設(shè)定用于變更該局部區(qū)域上連接的鏈接的長(zhǎng)度的變更信息;上述調(diào)整步驟,當(dāng)將所分配的數(shù)據(jù)為空的狀態(tài)的局部區(qū)域的尺寸視為0來(lái)調(diào)整頁(yè)面的布局時(shí),按照上述變更信息變更該局部區(qū)域上連接的鏈接的長(zhǎng)度。
4.根據(jù)權(quán)利要求3所述的布局調(diào)整方法,其特征在于上述變更信息,表示縮短鏈接的長(zhǎng)度;上述調(diào)整步驟,將該局部區(qū)域上連接的鏈接的長(zhǎng)度,縮短由上述變更信息表示的長(zhǎng)度。
5.根據(jù)權(quán)利要求3所述的布局調(diào)整方法,其特征在于上述變更信息,登錄要在鏈接的各方向上縮短鏈接的長(zhǎng)度;上述調(diào)整步驟,將該局部區(qū)域上連接的鏈接的長(zhǎng)度,縮短與其方向?qū)?yīng)地登錄的長(zhǎng)度。
6.根據(jù)權(quán)利要求3所述的布局調(diào)整方法,其特征在于上述變更信息,表示縮短鏈接的比率;上述調(diào)整步驟,按照由上述變更信息表示的比率,縮短該局部區(qū)域上連接的鏈接的長(zhǎng)度。
7.根據(jù)權(quán)利要求1所述的布局調(diào)整方法,其特征在于,還包括顯示步驟,預(yù)覽顯示由上述調(diào)整步驟調(diào)整的頁(yè)面的布局。
8.根據(jù)權(quán)利要求1所述的布局調(diào)整方法,其特征在于,還包括打印步驟,以由上述調(diào)整步驟調(diào)整的頁(yè)面的布局執(zhí)行打印。
9.一種確定頁(yè)面的布局的布局調(diào)整裝置,包括局部區(qū)域設(shè)定單元,設(shè)定要插入數(shù)據(jù)的局部區(qū)域的尺寸和位置的基本圖形;計(jì)算單元,基于要插入由上述局部區(qū)域設(shè)定單元設(shè)定的局部區(qū)域中的數(shù)據(jù),對(duì)各局部區(qū)域計(jì)算適于描繪該要插入的數(shù)據(jù)的尺寸;調(diào)整單元,基于在上述計(jì)算單元計(jì)算出的各局部區(qū)域的尺寸,調(diào)整頁(yè)面內(nèi)的布局;以及指定單元,指定是否在分配給局部區(qū)域的數(shù)據(jù)為空時(shí),使該尺寸為0,上述調(diào)整單元,當(dāng)上述指定單元的指定,是使所分配的數(shù)據(jù)為空的狀態(tài)的局部區(qū)域的尺寸為0的指定時(shí),將該局部區(qū)域的尺寸視為0,調(diào)整頁(yè)面內(nèi)的布局。
10.根據(jù)權(quán)利要求9所述的布局調(diào)整裝置,其特征在于,還包括基本布局單元,在頁(yè)面內(nèi)對(duì)由上述局部區(qū)域設(shè)定單元設(shè)定的多個(gè)部分區(qū)域進(jìn)行布局,確定基本布局;上述調(diào)整單元,基于在上述基本布局單元確定的基本布局中的各局部區(qū)域的關(guān)系,調(diào)整上述頁(yè)面內(nèi)的布局。
11.根據(jù)權(quán)利要求9所述的布局調(diào)整裝置,其特征在于上述局部區(qū)域設(shè)定單元,能夠在使局部區(qū)域的尺寸為0時(shí)設(shè)定用于變更該局部區(qū)域上連接的鏈接的長(zhǎng)度的變更信息;上述調(diào)整單元,當(dāng)將所分配的數(shù)據(jù)為空的狀態(tài)的局部區(qū)域的尺寸視為0來(lái)調(diào)整頁(yè)面的布局時(shí),按照上述變更信息變更該局部區(qū)域上連接的鏈接的長(zhǎng)度。
12.根據(jù)權(quán)利要求11所述的布局調(diào)整裝置,其特征在于上述變更信息,表示縮短鏈接的長(zhǎng)度;上述調(diào)整單元,將該局部區(qū)域上連接的鏈接的長(zhǎng)度,縮短由上述變更信息表示的長(zhǎng)度。
13.根據(jù)權(quán)利要求11所述的布局調(diào)整裝置,其特征在于上述變更信息,登錄要在鏈接的各方向上縮短鏈接的長(zhǎng)度;上述調(diào)整單元,將該局部區(qū)域上連接的鏈接的長(zhǎng)度,縮短與該方向?qū)?yīng)地登錄的長(zhǎng)度。
14.根據(jù)權(quán)利要求11所述的布局調(diào)整裝置,其特征在于上述變更信息,表示縮短鏈接的比率;上述調(diào)整單元,按照由上述變更信息表示的比率,縮短該局部區(qū)域上連接的鏈接的長(zhǎng)度。
15.根據(jù)權(quán)利要求9所述的布局調(diào)整裝置,其特征在于,還包括顯示單元,預(yù)覽顯示由上述調(diào)整單元調(diào)整的頁(yè)面的布局。
16.根據(jù)權(quán)利要求9所述的布局調(diào)整裝置,其特征在于,還包括打印單元,以由上述調(diào)整單元調(diào)整的頁(yè)面的布局執(zhí)行打印。
全文摘要
本發(fā)明提供一種布局調(diào)整方法和裝置,在基于布局信息確定頁(yè)面的布局時(shí),所述布局信息表示用于在內(nèi)部對(duì)基于所分配的數(shù)據(jù)的圖像進(jìn)行可視描繪的多個(gè)容器的頁(yè)面內(nèi)的配置,使布局信息具有指定在分配給容器的數(shù)據(jù)為空時(shí),是否使其尺寸為0的指定信息。而且,在調(diào)整布局時(shí),檢測(cè)在多個(gè)局部區(qū)域中,所分配的數(shù)據(jù)為空的狀態(tài)的容器,判定與檢測(cè)出的容器對(duì)應(yīng)的指定信息是否為使尺寸為0的指定,當(dāng)是使尺寸為0的指定時(shí),將該檢測(cè)出的容器的尺寸視為0,調(diào)整頁(yè)面的布局。
文檔編號(hào)G06F17/21GK1648849SQ20051000510
公開(kāi)日2005年8月3日 申請(qǐng)日期2005年1月28日 優(yōu)先權(quán)日2004年1月30日
發(fā)明者小橋和文, 原健太, 牧野順 申請(qǐng)人:佳能株式會(huì)社