專利名稱:信息處理裝置、控制方法以及計(jì)算機(jī)可讀介質(zhì)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種包括信息處理裝置的自動(dòng)布局系統(tǒng)、用于控制該 信息處理裝置的方法以及控制該信息處理裝置的程序。
背景技術(shù):
當(dāng)今的商品環(huán)境允許用戶購買選自多種商品的喜愛的商品,并趨 向于減少每種商品的生命周期。同時(shí),基于互聯(lián)網(wǎng)的定制服務(wù)在消費(fèi)
者中成為最新趨勢。在這種環(huán)境中,消費(fèi)者關(guān)系管理(CRM)和一對(duì) 一營銷是可符合或優(yōu)于消費(fèi)者滿意度且會(huì)增加顧客數(shù)量的有前途的技 術(shù)。
一對(duì)一營銷是一種基于數(shù)據(jù)庫的營銷,其建立存儲(chǔ)顧客的個(gè)人屬 性信息(例如年齡、性別、興趣、品味、購買歷史等等)的數(shù)據(jù)庫, 并且可通過分析數(shù)據(jù)庫信息推薦滿足每個(gè)顧客的需求的產(chǎn)品。可變打 印是一種代表一對(duì) 一 營銷的商業(yè)模式。
桌面出版(DTP )技術(shù)和數(shù)字打印裝置的開發(fā)使得可變打印系統(tǒng) 可根據(jù)每個(gè)顧客的偏好定制輸出文檔。在此方面,希望根據(jù)每個(gè)顧客 的請(qǐng)求優(yōu)化內(nèi)容的布局。
為了生成文檔,傳統(tǒng)的可變打印包括以下步驟在文檔上創(chuàng)建包 括容器的模板,使該模板與數(shù)據(jù)庫相關(guān)聯(lián),并從數(shù)據(jù)庫將內(nèi)容數(shù)據(jù)注 入模板的容器。在此情況下,每個(gè)容器是內(nèi)容數(shù)據(jù)被注入其中的區(qū)域。
但是,每個(gè)容器具有固定大小。如果將被插入容器的內(nèi)容數(shù)據(jù)(文 本和/或圖像數(shù)據(jù))具有較大的量,則內(nèi)容數(shù)據(jù)不能被完全容納或布置 在該容器內(nèi)。此外,如果與容器的容量相比內(nèi)容數(shù)據(jù)的大小較小,則 容器內(nèi)會(huì)殘留空白空間。
為了解決這些問題,存在一種可設(shè)置其大小根據(jù)文本數(shù)據(jù)和圖像
數(shù)據(jù)可變的容器的自動(dòng)布局系統(tǒng)。即,自動(dòng)布局系統(tǒng)可參照被注入每 個(gè)容器的內(nèi)容數(shù)據(jù)的大小改變?nèi)萜鞔笮?,并且可解決上述問題。
但是,根據(jù)該根據(jù)內(nèi)容數(shù)據(jù)的大小改變?nèi)萜鞔笮〉南到y(tǒng),如果大 的內(nèi)容數(shù)據(jù)被插入模板的所有容器,則每個(gè)容器的大小會(huì)被擴(kuò)大并且 可能與其它容器重疊。
為了解決此問題,日本專利申請(qǐng)公開No.2005-216174內(nèi)說明的 技術(shù)通過使多個(gè)容器相關(guān)來調(diào)整這些容器的布局,以便避免相鄰容器 之間發(fā)生重疊,并確定與內(nèi)容數(shù)據(jù)的所需大小類似的每個(gè)容器的大小。
此外,可變打印系統(tǒng)可確定根據(jù)多記錄技術(shù)包括多條記錄的文檔 的布局。多記錄技術(shù)可分析顧客信息,并創(chuàng)建包括包含每個(gè)顧客請(qǐng)求 的內(nèi)容數(shù)據(jù)的多條記錄的文檔。
日本專利申請(qǐng)公開No.2005-216182內(nèi)說明的示例性多記錄技術(shù) 包括如下過程生成被稱為"流動(dòng)區(qū)域"的區(qū)域,提取包含滿足為流動(dòng) 區(qū)域設(shè)置的條件的內(nèi)容數(shù)據(jù)的記錄,將被提取的記錄注入被稱為"子模 板,,的模板區(qū)域,調(diào)節(jié)子模板內(nèi)的記錄的布局,并最終確定調(diào)節(jié)結(jié)果在 流動(dòng)區(qū)域內(nèi)的位置(定位)。
但是,上述日本專利申請(qǐng)公開No.2005-216182內(nèi)說明的子模板 的大小不管將被注入子模板的內(nèi)容數(shù)據(jù)如何都是固定的。因此,如果 布局對(duì)象是超過最初設(shè)置的子模板的容量的大的內(nèi)容數(shù)據(jù),則日本專 利申請(qǐng)?zhí)亻_號(hào)2005-216182內(nèi)說明的多記錄技術(shù)與內(nèi)容數(shù)據(jù)的創(chuàng)建者 預(yù)期的大小相比會(huì)大大減小內(nèi)容數(shù)據(jù)的大小。
在此方面,根據(jù)內(nèi)容數(shù)據(jù)的大小可變的子模板可解決上述問題。 可變子模板的大小依賴于將被注入其中的內(nèi)容數(shù)據(jù)。因此,如果內(nèi)容 數(shù)據(jù)的大小大,則可變子模板會(huì)相應(yīng)地變大。如果內(nèi)容數(shù)據(jù)的大小小, 則可變子模板會(huì)相應(yīng)地變小。結(jié)果,當(dāng)可變子模板被沿水平方向排列 時(shí),被最終確定的每個(gè)子模板的布局的高度會(huì)不一致。
因此,上述傳統(tǒng)技術(shù)不能滿足要求得到以表格或矩陣圖案良好平 衡的包含商品的廣告用目錄的顧客。
發(fā)明內(nèi)容
本發(fā)明的示例性實(shí)施例涉及一種能夠生成在其中良好平衡的內(nèi) 容數(shù)據(jù)被沿垂直和水平方向定位且保持內(nèi)容數(shù)據(jù)的所需大小的布局結(jié) 果的技術(shù)。
根據(jù)本發(fā)明的一個(gè)方面, 一種信息處理裝置被配置成存儲(chǔ)具有其 中設(shè)置從數(shù)據(jù)庫提取內(nèi)容數(shù)據(jù)的提取條件的流動(dòng)區(qū)域的模板,并使用 包括被提取的內(nèi)容數(shù)據(jù)被定位在其中的子模板的流動(dòng)區(qū)域確定布局。 信息處理裝置包括被配置成從數(shù)據(jù)庫獲取滿足提取條件的內(nèi)容數(shù)據(jù)的
獲取部件;被配置成基于每一行內(nèi)的垂直子模板大小和每一列內(nèi)的水 平子模板大小確定構(gòu)成流動(dòng)區(qū)域的每個(gè)單元區(qū)域的區(qū)域大小的第一確 定部件,其中該獲取部件獲取的內(nèi)容數(shù)據(jù)被定位在多個(gè)子模板內(nèi),每 一行內(nèi)的垂直子模板大小選自沿代表水平方向的行方向排列的多個(gè)子 模板,每一列內(nèi)的水平子模板大小選自沿代表垂直方向的列方向排列
的多個(gè)子模板;以及定位部件,該定位部件被配置成確定每個(gè)子模板 的大小以便該子模板被包含在具有該第一確定部件確定的區(qū)域大小的 單元區(qū)域內(nèi),并將內(nèi)容數(shù)據(jù)定位在子模板內(nèi)。
本發(fā)明的其它特征和方面在下文參照附圖對(duì)示例性實(shí)施例的詳 細(xì)說明中將變得顯而易見。
合并入且作為說明書的一部分的附圖示出本發(fā)明的示例性實(shí)施 例和特征,并且與說明書一起用于闡明本發(fā)明的至少一些原理。 圖i示出根據(jù)本發(fā)明的一個(gè)示例性實(shí)施例的計(jì)算機(jī)系統(tǒng)。
圖2示出根據(jù)本發(fā)明的一個(gè)示例性實(shí)施例的計(jì)算機(jī)模塊。
圖3示出根據(jù)本發(fā)明的一個(gè)示例性實(shí)施例的主窗口的示例。
圖4示出根據(jù)本發(fā)明的一個(gè)示例性實(shí)施例的容器的示例性顯示圖案。
圖5A到5C示出根據(jù)本發(fā)明的一個(gè)示例性實(shí)施例的應(yīng)用于容器 的規(guī)則。
圖6A到6C示出根據(jù)本發(fā)明的一個(gè)示例性實(shí)施例的鏈接設(shè)置用 戶界面(UI)。
圖7A和7B是示出根據(jù)本發(fā)明的一個(gè)示例性實(shí)施例的布局計(jì)算 處理的流程圖。
圖8A到8C示出根據(jù)本發(fā)明的一個(gè)示例性實(shí)施例的與圖7A和 7B內(nèi)所示的流程圖有關(guān)的ur。
圖9示出根據(jù)本發(fā)明的一個(gè)示例性實(shí)施例的多記錄。
圖10是示出根據(jù)本發(fā)明的第一示例性實(shí)施例的整個(gè)處理的流程圖。
圖11示出根據(jù)第一示例性實(shí)施例的流動(dòng)區(qū)域。
圖12示出根據(jù)第一示例性實(shí)施例的流動(dòng)區(qū)域設(shè)置對(duì)話框。
圖13示出根據(jù)第一示例性實(shí)施例的子模板。
圖14是示出根據(jù)第一示例性實(shí)施例的子模板布局處理的流程圖。
圖15示出根據(jù)第一示例性實(shí)施例的條件式設(shè)置屏幕。 圖16示出根據(jù)第一示例性實(shí)施例的子數(shù)據(jù)庫。 圖17是示出根據(jù)第一示例性實(shí)施例的表格格式流動(dòng)區(qū)域的布局 計(jì)算處理的流程圖。
圖18是示出根據(jù)第一示例性實(shí)施例的子模板布局計(jì)算處理的流程圖。
圖19是示出根據(jù)第一示例性實(shí)施例的布局結(jié)果顯示處理的流程圖。
圖20是示出根據(jù)第一示例性實(shí)施例的最大行高度計(jì)算處理的流程圖。
圖21是示出根據(jù)第一示例性實(shí)施例的最大列寬度計(jì)算處理的流程圖。
圖22示出被定位在流動(dòng)區(qū)域內(nèi)的示例性子模板。 圖23示出被定位在流動(dòng)區(qū)域內(nèi)的示例性子模板。 圖24示出示例性的表格格式布局結(jié)果。
圖25示出用于虛擬布局計(jì)算的示例性容器結(jié)構(gòu)。
圖26示出用于虛擬布局計(jì)算的示例性容器結(jié)構(gòu)。
圖27示出表格格式的示例性計(jì)算處理結(jié)果。
圖28示出用于調(diào)整每個(gè)單元區(qū)域的大小的示例性計(jì)算。
圖29示出指示將組合單元用于記錄的示例性子數(shù)據(jù)庫。
圖30是示出用于實(shí)現(xiàn)組合單元的顯示的布局計(jì)算處理的流程圖。
圖31示出包含被分配給記錄的組合單元的示例性布局結(jié)果。 圖32示出示例性的可變數(shù)據(jù)打印。 圖33示出布局計(jì)算處理的示例。
圖34是示出示例性的流動(dòng)區(qū)域布局計(jì)算處理的流程圖。 圖35示出示例性的用于確定子模板的大小的處理。 圖36示出示例性的用于確定子模板的大小的處理。 圖37示出根據(jù)本發(fā)明的第三示例性實(shí)施例的數(shù)據(jù)庫。 圖38示出根據(jù)第三示例性實(shí)施例的用于條件式設(shè)置的UI。 圖39示出根據(jù)第三示例性實(shí)施例的示例性子模板。 圖40示出根據(jù)第三示例性實(shí)施例的布局結(jié)果。 圖41是示出根據(jù)第三示例性實(shí)施例的布局處理的流程圖。 圖42示出根據(jù)本發(fā)明的第三示例性實(shí)施例的信息處理裝置的功 能模塊。
具體實(shí)施例方式
下文對(duì)示例性實(shí)施例的說明在本質(zhì)上是示例性的而絕不是打算 限制本發(fā)明、其應(yīng)用或使用。在適當(dāng)?shù)臅r(shí)候,本領(lǐng)域內(nèi)的普通技術(shù)人 員已知的過程、技術(shù)、裝置和系統(tǒng)將被預(yù)期是授權(quán)說明書的一部分。 應(yīng)指出在整個(gè)說明書中,類似的標(biāo)號(hào)和字母在附圖中指示類似的項(xiàng)目, 因此一旦項(xiàng)目在一個(gè)附圖中被說明,則在下面的附圖將不再對(duì)其進(jìn)行 說明。下文將參照附圖詳細(xì)說明示例性實(shí)施例。
第一示例性實(shí)施例
圖1示出根據(jù)本發(fā)明的一個(gè)示例性實(shí)施例的、被配置成打印可變
文檔數(shù)據(jù)的系統(tǒng)100。主機(jī)IOI包括布局編輯應(yīng)用121。布局編輯應(yīng)用 121包括用戶界面103和布局引擎105。主機(jī)101可經(jīng)由網(wǎng)絡(luò)107與數(shù) 據(jù)庫服務(wù)器117通信。數(shù)據(jù)庫服務(wù)器117包括存儲(chǔ)內(nèi)容數(shù)據(jù)的數(shù)據(jù)庫 119。
圖2示出系統(tǒng)100內(nèi)的主機(jī)IOI的框圖。主機(jī)IOI可根據(jù)安裝在 其上的軟件的指令執(zhí)行布圖編輯處理和打印處理。
軟件例如被存儲(chǔ)在包括下列存儲(chǔ)裝置的計(jì)算機(jī)用的計(jì)算機(jī)可讀 介質(zhì)內(nèi)。當(dāng)從計(jì)算機(jī)可讀介質(zhì)加載軟件時(shí),主機(jī)101可執(zhí)行該軟件。 主機(jī)101可根據(jù)用戶可作為計(jì)算機(jī)軟件產(chǎn)品購買的計(jì)算機(jī)可讀應(yīng)用程 序,實(shí)現(xiàn)文檔布局編輯處理和可變數(shù)據(jù)打印處理。
主機(jī)101與諸如鍵盤132或鼠標(biāo)133的輸入裝置(即,定點(diǎn)設(shè)備) 相關(guān)聯(lián)。主機(jī)101可與諸如顯示部件144和打印機(jī)145的輸出裝置通 信。
輸入/輸出(I/O)接口 138控制主機(jī)101和其它計(jì)算機(jī)之間的網(wǎng) 絡(luò)連接107。示例性網(wǎng)絡(luò)連接107例如是局域網(wǎng)(LAN)或廣域網(wǎng) (WAN)。
主機(jī)101包括至少一個(gè)處理器部件135和存儲(chǔ)部件136。存儲(chǔ)部 件136例如是隨機(jī)存取存儲(chǔ)器(RAM)或只讀存儲(chǔ)器(ROM)。此 外,主機(jī)101包括視頻接口 137以及鍵盤132和鼠標(biāo)133的I/O接口 143。
存儲(chǔ)設(shè)備139包括硬盤驅(qū)動(dòng)器(HDD ) 140和軟盤驅(qū)動(dòng)器(FDD ) 141。 CD-ROM驅(qū)動(dòng)器142是非易失性數(shù)據(jù)源。主機(jī)101的處理器135 根據(jù)諸如LINUX或Microsoft Windows⑧的操作系統(tǒng)操作,并且可使 用1/0接口 143經(jīng)由互連總線134進(jìn)行通信。
布局編輯應(yīng)用121駐留在硬盤驅(qū)動(dòng)器140內(nèi)。處理器135讀取并 執(zhí)行布局編輯應(yīng)用121。存儲(chǔ)部件136與硬盤驅(qū)動(dòng)器140同步地操作 以存儲(chǔ)從網(wǎng)絡(luò)107和布局編輯應(yīng)用121的介質(zhì)存儲(chǔ)設(shè)備取得的數(shù)據(jù)。
根據(jù)其它示例,用戶可使用被編碼且經(jīng)由對(duì)應(yīng)的驅(qū)動(dòng)器142和
141從CD-ROM或軟盤讀取的布局編輯應(yīng)用121。
可選擇地,用戶可經(jīng)由網(wǎng)絡(luò)107從其它設(shè)備得到布局編輯應(yīng)用 121。軟件可經(jīng)由其它可讀介質(zhì)一其包括磁帶、ROM、集成電路、磁 光盤、無線或紅外數(shù)據(jù)通信、計(jì)算機(jī)可讀卡、電子郵件通信、內(nèi)聯(lián)網(wǎng) 和互聯(lián)網(wǎng)一4皮加載到主機(jī)101的存儲(chǔ)i殳備內(nèi)。
布局編輯應(yīng)用121包括兩個(gè)軟件構(gòu)件。第一軟件構(gòu)件是根據(jù)對(duì)矩 形區(qū)域和設(shè)置大小的限制來計(jì)算矩形形狀和線的位置的布局引擎 105。
第二軟件構(gòu)件是使用戶能夠創(chuàng)建文檔模板并使該文檔模板與數(shù)
據(jù)源相關(guān)聯(lián)的用戶界面103。
用戶界面103和布局引擎105可經(jīng)由通信信道123相互通信。由 其它計(jì)算機(jī)構(gòu)成的數(shù)據(jù)庫服務(wù)器117的數(shù)據(jù)庫119用作提供可用于文 檔創(chuàng)建的數(shù)據(jù)的數(shù)據(jù)源。
主機(jī)101經(jīng)由網(wǎng)絡(luò)107與數(shù)據(jù)庫服務(wù)器117通信。布局編輯應(yīng)用 121生成被存儲(chǔ)在主機(jī)101或文件服務(wù)器115內(nèi)的文檔模板。
布局編輯應(yīng)用121將數(shù)據(jù)并入文檔模板并生成文檔。布局編輯應(yīng) 用121生成的文檔被存儲(chǔ)在主機(jī)101的存儲(chǔ)部件136內(nèi)或文件服務(wù)器 115內(nèi)。
此外,布局編輯應(yīng)用121生成的文檔可被傳送給打印文檔的打印 機(jī)113。打印服務(wù)器109是提供網(wǎng)絡(luò)功能的計(jì)算機(jī),打印機(jī)113可利 用該網(wǎng)絡(luò)功能經(jīng)由網(wǎng)絡(luò)與其它設(shè)備通信。打印服務(wù)器109可經(jīng)由通信 信道111與打印機(jī)113通信。
圖32示出根據(jù)本示例性實(shí)施例的示例性可變數(shù)據(jù)打印。
用戶界面(即,用戶界面模塊)103根據(jù)來自用戶的操作指令在 頁面上定位多個(gè)容器181到183。用戶界面103生成包括被分配給每 個(gè)容器的位置/大小約束條件的文檔模板180。
此外,用戶界面103使文檔模板180與數(shù)據(jù)源190相關(guān)聯(lián)。用戶 界面103使每個(gè)容器與數(shù)據(jù)源190內(nèi)的每個(gè)數(shù)據(jù)字段(圖32內(nèi)的 191-193)相關(guān)。
文檔模板180內(nèi)描述了指示每個(gè)容器和數(shù)據(jù)源190內(nèi)的每個(gè)數(shù)據(jù) 字段之間的關(guān)系的信息。文檔模板180被存儲(chǔ)在HDD 140內(nèi)。數(shù)據(jù)源 190是描述每條記錄的項(xiàng)數(shù)據(jù)的且被存儲(chǔ)在HDD 140內(nèi)的文件。布局 引擎105根據(jù)來自用戶的打印指令或預(yù)覽指令從數(shù)據(jù)源190讀取內(nèi)容 數(shù)據(jù)(即,相關(guān)數(shù)據(jù)),并將被讀取的每條記錄的內(nèi)容數(shù)據(jù)注入文檔 模板180的容器181到183中的對(duì)應(yīng)的一個(gè)容器。例如,布局引擎105 將記錄1的數(shù)據(jù)字段A到C注入容器181到183,并根據(jù)被注入的數(shù) 據(jù)調(diào)整每個(gè)容器的大小。即,布局引擎105具有布局調(diào)整功能。
如果從用戶輸入預(yù)覽指令,則顯示部件144顯示通過布局調(diào)整得 到的文檔圖像作為預(yù)覽圖像。如果從用戶輸入打印指令,則打印機(jī)驅(qū) 動(dòng)器將布局引擎105生成的文檔圖像轉(zhuǎn)換成頁面描述語言,并基于該 頁面描述語言輸出打印數(shù)據(jù)。
因此,通過連續(xù)處理記錄可實(shí)現(xiàn)可變數(shù)據(jù)打印。
數(shù)據(jù)庫服務(wù)器117的數(shù)據(jù)庫119可用作用于文檔創(chuàng)建的數(shù)據(jù)源 190。在此情況下,主才幾101經(jīng)由網(wǎng)絡(luò)107與數(shù)據(jù)庫月良務(wù)器117通信, 并訪問該數(shù)據(jù)源。
布局編輯應(yīng)用121生成的文檔模板180被存儲(chǔ)在主機(jī)101或由其 它計(jì)算機(jī)構(gòu)成的文件服務(wù)器115內(nèi)。
用戶界面103根據(jù)用戶的指令使顯示部件144顯示圖3內(nèi)所示的 窗口 301。
窗口 301包括菜單欄302、工具欄303、工作區(qū)306、選項(xiàng)板311、 和光標(biāo)/指針設(shè)備313。工作區(qū)306可才艮據(jù)鼠標(biāo)133的位置和移動(dòng)而移 動(dòng)。選項(xiàng)板311是可選的。菜單欄302包括構(gòu)成菜單選項(xiàng)層次的多個(gè) 菜單項(xiàng)304。
工具欄303包括可根據(jù)應(yīng)用的特定模式被顯示的窗口小部件 305,例如工具按鈕。標(biāo)尺308任選地可用于指示工作區(qū)內(nèi)顯示的指針、 頁面、線、邊緣導(dǎo)向器、容器或?qū)ο蟮奈恢?。選項(xiàng)板311使用戶能夠 訪問另外的功能,例如顯示可變數(shù)據(jù)的庫。選項(xiàng)板311包括使用戶能 夠移動(dòng)窗口、調(diào)整窗口的大小并關(guān)閉窗口的窗口控制312。 工具欄區(qū)域303包括至少一個(gè)下列用戶可操作的"按鈕"。 選擇工具按鈕使用戶能夠選擇、移動(dòng)和調(diào)整容器的側(cè)邊部分的大 小并鎖定/解鎖該設(shè)置。用戶可在屏幕上拖動(dòng)以畫出包圍多個(gè)容器的選 擇框,或在連續(xù)按下CTRL鍵的同時(shí)連續(xù)選擇多個(gè)容器。
圖像容器工具按鈕使用戶能夠創(chuàng)建包含靜態(tài)的或可變的圖像的
容器。文本容器工具按鈕使用戶能夠創(chuàng)建包含靜態(tài)的或可變的文本的 容器。鏈接工具按鈕使用戶能夠調(diào)整容器之間的距離。
工作區(qū)306使用戶能夠顯示并編輯所設(shè)計(jì)的文檔模板。通過工作 區(qū)306設(shè)計(jì)文檔模板的輪廓的用戶可確認(rèn)在內(nèi)容數(shù)據(jù)基于可變數(shù)據(jù)的 量和大小被注入的情況下文檔上發(fā)生的任何變化。
如果外部數(shù)據(jù)源被鏈接到模板,則文檔的預(yù)覽顯示內(nèi)容數(shù)據(jù)(文 本和圖像)以及模板上的容器。
文檔的預(yù)覽可包括直觀的文檔的結(jié)構(gòu)和每個(gè)容器的繪圖。
工作區(qū)306包括滾動(dòng)欄307、任選的標(biāo)尺308和文檔模板309。 文檔模板309可包括多個(gè)頁面。
用戶可指定文檔模板309的頁面大小。每個(gè)文檔的頁面的數(shù)量可 根據(jù)可變數(shù)據(jù)的量改變。如果可變數(shù)據(jù)的量超過一個(gè)頁面,則自動(dòng)創(chuàng) 建其它頁面。
每個(gè)頁面上的邊界線是指示頁面上可打印的對(duì)象的最大寬度的 頁邊空白310。
圖3的示例是單頁大小的文檔模板309。在文檔模板309上顯示 的對(duì)象是容器407和408、未固定的側(cè)邊部分410和使多個(gè)容器相關(guān) 的鏈接412。
容器是構(gòu)成文檔模板的一部分的、用戶可將內(nèi)容數(shù)據(jù)(文本數(shù)據(jù) 或圖像數(shù)據(jù))輸入其中的區(qū)域。每個(gè)容器的位置可依賴于與其它容器 或?qū)ο蟮年P(guān)系而改變。用戶界面103顯示容器,并使用戶能夠移動(dòng)或 調(diào)整每個(gè)容器。
更具體地說,容器包括設(shè)置、可視化表示、交互和編輯操作的集合。
用戶可將固定的或可變的內(nèi)容數(shù)據(jù)注入容器。用戶可從數(shù)據(jù)源獲 得可變內(nèi)容。在本示例性實(shí)施例中,可變內(nèi)容并不包括動(dòng)畫或其它活 動(dòng)內(nèi)容,這是因?yàn)檫@些數(shù)據(jù)并不適合于打印。
被分配給固定內(nèi)容的容器在每個(gè)文檔中都會(huì)生成相同的輸出結(jié) 果。但是,可變?nèi)萜鞯牟季謺?huì)改變被分配給固定內(nèi)容的容器的位置。
文檔創(chuàng)建處理包括將數(shù)據(jù)源的內(nèi)容數(shù)據(jù)注入(并入)容器,并顯 示具有被從數(shù)據(jù)源注入的內(nèi)容數(shù)據(jù)的容器。具有被注入的內(nèi)容數(shù)據(jù)的
容器可以例如被打印或在顯示部件144上被顯示。
每個(gè)容器具有交互式用戶界面,例如圖形用戶界面(GUI),其 使用戶能夠編輯容器或改變顯示設(shè)置。盡管顯示部件144可顯示界面 的元件,但是界面的元件并不可打印。用戶界面103顯示容器的一些 裝飾性功能(包括背景色或字體),并且還顯示使用戶能夠設(shè)置、編 輯和查看容器的界面元件。
約束條件的設(shè)置是控制被注入容器的內(nèi)容數(shù)據(jù)的輸出所必需的。 用戶可改變約束條件以使用相同的文檔模板輸出不同文檔。示例性約 束條件是容器的大小設(shè)置,例如"在此容器內(nèi)的內(nèi)容的高度不超過4 英寸"。另一個(gè)示例性約束條件是容器的位置設(shè)置,例如"容器內(nèi)的內(nèi) 容的左側(cè)邊部分的水平位置在任何文檔顯示中總是相同的,,。下文是用 于使用GUI設(shè)置約束條件的示例性方法。
類似于識(shí)別在頁面上限定的圖像的位置的位置信息,指定固定內(nèi) 容的位置的內(nèi)容位置文件夾在數(shù)字打印技術(shù)中是公知的。
用戶可設(shè)置容器的位置和大小,并且還可編輯或查看容器。下面 的根據(jù)本實(shí)施例的用于顯示和編輯容器的方法被專門應(yīng)用于可變數(shù)據(jù) 打印。
容器被用于確定內(nèi)容數(shù)據(jù)的大小和位置。當(dāng)用戶使用相同文檔模 板生成多個(gè)文檔的布局時(shí),容器可被用作使用戶能夠指定和查看多個(gè) 文檔的可能布局和約束條件的用戶界面。
兩類典型的容器是文本容器和圖像容器。被注入文本容器的內(nèi)容 數(shù)據(jù)是文本數(shù)據(jù)。被注入圖像容器的內(nèi)容數(shù)據(jù)是圖像數(shù)據(jù)。內(nèi)容數(shù)據(jù)
可以是固定數(shù)據(jù)或可變數(shù)據(jù)。
為了創(chuàng)建新的文本容器或新的圖像容器,用戶可通過在文本容器
工具按鈕或圖像容器工具按鈕被選擇或按下的狀態(tài)下在文檔模板309 上拖動(dòng),創(chuàng)建矩形區(qū)域。
此外,當(dāng)合適的工具活動(dòng)時(shí),用戶可點(diǎn)擊文檔模板309以創(chuàng)建新 的容器。在此情況下,新創(chuàng)建的容器具有默認(rèn)大小,或者對(duì)話框可出 現(xiàn)以使用戶能夠確定容器的尺寸。
容器的側(cè)邊部分限定了與文檔圖像相關(guān)的內(nèi)容的顯示中的虛擬 邊界線。在使用容器作為用戶界面時(shí),容器的左側(cè)邊部分確定了任何 文檔內(nèi)的與該容器有關(guān)的內(nèi)容的最左側(cè)(即,可顯示的左邊緣)。類 似地,容器的高度確定了任何文檔內(nèi)的與該容器有關(guān)的內(nèi)容的高度 (即,可顯示的高度)的限制。
在本示例性實(shí)施例中,布局編輯應(yīng)用121可根據(jù)通過用戶界面 103輸入的用戶的指令改變?nèi)萜鞯膫?cè)邊部分或大小。
下文給出限制內(nèi)容的布局的布局規(guī)則。
如果用戶選擇的設(shè)置規(guī)定容器的寬度被固定,則容器的右側(cè)和左 側(cè)側(cè)邊部分使用實(shí)線顯示。與此容器相關(guān)的內(nèi)容的寬度在所有文檔中 相同。但是,容器的高度可根據(jù)相關(guān)內(nèi)容數(shù)據(jù)的量改變。
如果用戶選擇的設(shè)置規(guī)定容器的高度被固定,則使用實(shí)線顯示容 器的上側(cè)和下側(cè)側(cè)邊部分。與此容器相關(guān)的內(nèi)容的高度在所有文檔中 相同。但是,容器的寬度可根據(jù)相關(guān)內(nèi)容數(shù)據(jù)的量改變。
如果用戶使其它容器與固定容器的側(cè)邊部分相關(guān),則被固定的容 器的位置可被強(qiáng)制改變以調(diào)整兩個(gè)容器之間的位置關(guān)系。如果用戶使 其它容器與容器的上部和下部側(cè)邊部分相關(guān),則容器可沿垂直方向移 動(dòng)以調(diào)整兩個(gè)容器之間的位置關(guān)系。如果用戶使其它容器與容器的右 側(cè)和左側(cè)側(cè)邊部分相關(guān),則容器可沿水平方向移動(dòng)以調(diào)整兩個(gè)容器之 間的位置關(guān)系。下文將參照?qǐng)D6A到6C說明用于使多個(gè)容器相關(guān)的示 例性方法。
下面是容器被設(shè)置為"可變"的情況。 如果容器的寬度被設(shè)置為可變,則容器的右側(cè)和左側(cè)側(cè)邊部分使 用虛線顯示。與此容器相關(guān)的內(nèi)容的寬度在每個(gè)文檔中可改變。
如果容器的高度被設(shè)置為可變,則容器的上部和下部側(cè)邊部分使 用虛線顯示。與此容器相關(guān)的內(nèi)容的高度在每個(gè)文檔中可改變。
容器的側(cè)邊部分的長度如果被設(shè)置為可變,則可根據(jù)與此容器相
關(guān)的內(nèi)容數(shù)據(jù)改變。布局編輯應(yīng)用121在根據(jù)用于限制側(cè)邊部分的最 大長度和最小長度的設(shè)置限定的框架內(nèi)調(diào)整容器的側(cè)邊部分的長度。
如果用戶使其它容器與可變?nèi)萜鞯膫?cè)邊部分相關(guān),則容器的位置 可改變以調(diào)整兩個(gè)容器之間的位置關(guān)系。
圖4示出其側(cè)邊部分根據(jù)上述規(guī)則被繪制的容器的示例性狀態(tài)。 總的來說,容器的每個(gè)側(cè)邊部分的可視狀態(tài)是被顯示用于幫助設(shè)計(jì)文 檔模板的輔助元素,因此不可在記錄紙上打印。
容器401具有被設(shè)置為可變的四個(gè)側(cè)邊部分。容器402具有被設(shè) 置為固定的上部側(cè)邊部分。容器403具有被設(shè)置為固定的下部側(cè)邊部 分。容器404具有被設(shè)置為固定的上部和下部側(cè)邊部分。容器405具 有被 沒置為固定的左側(cè)側(cè)邊部分。容器406具有,皮設(shè)置為固定的上部 和下部側(cè)邊部分。這樣,布局編輯應(yīng)用121使用實(shí)線顯示各個(gè)容器401 到416的固定的側(cè)邊部分,并使用虛線顯示可變的側(cè)邊部分。
圖5A示出具有可變寬度的容器501。在此情況下,固定的側(cè)邊 部分503使用實(shí)線表示而可變的側(cè)邊部分504使用虛線表示。縮放圖 標(biāo)505是任選的、指示相鄰側(cè)邊部分504可變的指示器。
圖5B示出具有可變的寬度和高度的另一個(gè)容器501。圖5C示出 其側(cè)邊部分的沿垂直方向和水平方向的位置可變的再一個(gè)容器501。
<鏈接設(shè)置方法>
圖6A到6C示出示例性的鏈接設(shè)置UI。
如圖6A所示,如果用戶希望設(shè)置鏈接,則用戶在指示了進(jìn)行鏈 接設(shè)置的狀態(tài)下使用鼠標(biāo)光標(biāo)603點(diǎn)擊容器601(即, 一個(gè)目標(biāo)容器)。 然后,如圖6B所示,如果用戶希望使選擇的容器601與容器602相 關(guān),則用戶將鼠標(biāo)指針移動(dòng)到容器602上并點(diǎn)擊容器602。圖6B內(nèi)所
示的線604是連接用戶在容器601上的點(diǎn)擊位置(即,第一點(diǎn)擊操作) 與鼠標(biāo)指針在容器602上的當(dāng)前位置的線。線604使用戶能夠查看鏈 接設(shè)置的結(jié)果。如圖6C所示,如果用戶點(diǎn)擊容器602 (即,第二次點(diǎn) 擊操作),則布局編輯應(yīng)用121在兩個(gè)相關(guān)容器601和602之間設(shè)置 鏈接605。
容器601的右側(cè)側(cè)邊部分和容器602的左側(cè)側(cè)邊部分是用虛線指 示的可變的側(cè)邊部分(606)。在圖6C所示的狀態(tài)下,布局編輯應(yīng)用 121可根據(jù)被注入容器601的內(nèi)容數(shù)據(jù)的量向右移動(dòng)容器601的右側(cè) 側(cè)邊部分。類似地,布局編輯應(yīng)用121可向左移動(dòng)容器602的左側(cè)側(cè) 邊部分。左側(cè)和右側(cè)容器一旦通過該鏈接連接,則布局編輯應(yīng)用121 可在保持鏈接大小的同時(shí)調(diào)整左側(cè)容器601和右側(cè)容器602之間的相 互大小關(guān)系。
圖7A是示出示例性布局計(jì)算處理的流程圖。主機(jī)101的處理器 135執(zhí)行根據(jù)本示例性實(shí)施例的流程圖的每個(gè)步驟的處理。
在步驟S701,布局編輯應(yīng)用121根據(jù)用戶指令選擇預(yù)覽模式。 如果用戶選擇布局模式,則布局編輯應(yīng)用121創(chuàng)建容器,使容器相互 關(guān)聯(lián),并創(chuàng)建模板的布局。
在預(yù)覽模式下,布局編輯應(yīng)用121從數(shù)據(jù)庫將每條記錄的內(nèi)容數(shù) 據(jù)插入被創(chuàng)建的模板的布局,并預(yù)覽內(nèi)容數(shù)據(jù)被插在其中的每個(gè)容器 的布局結(jié)果。
在預(yù)覽模式下,布局編輯應(yīng)用121執(zhí)行布局計(jì)算以將記錄的多個(gè) 內(nèi)容數(shù)據(jù)插入容器。用戶可以選擇預(yù)覽模式,其不僅用于顯示計(jì)算出 的模板的布局,而且還用于打印圖像。
在步驟S702,當(dāng)用戶選擇預(yù)覽模式時(shí),布局編輯應(yīng)用121獲得 作為預(yù)覽對(duì)象的記錄,并將該記錄的內(nèi)容數(shù)據(jù)注入容器。
在步驟S703,布局編輯應(yīng)用121執(zhí)行布局計(jì)算處理。布局計(jì)算 包括確定在記錄的內(nèi)容數(shù)據(jù)被注入每個(gè)容器時(shí)所需的容器大小。
在步驟S704,布局編輯應(yīng)用121顯示在步驟S703內(nèi)計(jì)算的布局結(jié)果。
在步驟S705,布局編輯應(yīng)用121確定用戶是否指示預(yù)覽其它記 錄。如果布局編輯應(yīng)用121確定用戶沒有指示預(yù)覽其它記錄(步驟S705 內(nèi)否),則處理流程前進(jìn)到步驟S707。在步驟S707,布局編輯應(yīng)用 121終止預(yù)覽模式。如果布局編輯應(yīng)用121確定用戶指示預(yù)覽其它記 錄(步驟S705內(nèi)是),則處理流程前進(jìn)到步驟S706。在步驟S706, 布局編輯應(yīng)用121選擇其它記錄,并然后執(zhí)行步驟S703到S705的上 述處理。如果用戶指示進(jìn)行打印處理,則布局編輯應(yīng)用121連續(xù)計(jì)算 將被打印的每條記錄的布局。換句話說,布局編輯應(yīng)用121跳過步驟 S705和S707的處理,并且當(dāng)針對(duì)所有記錄的打印操作完成之后,終 止此程序的處理。
圖7B是示出在圖7A的步驟S703內(nèi)執(zhí)行的布局計(jì)算處理的細(xì)節(jié) 的流程圖。圖8A到8C示出計(jì)算出的布局的示例性顯示。
在步驟S710,布局編輯應(yīng)用121獲得通過上述鏈接相互關(guān)聯(lián)的 容器的集合。布局編輯應(yīng)用121對(duì)通過鏈接相關(guān)的容器的每個(gè)集合執(zhí) 行布局計(jì)算處理。在步驟S711,布局編輯應(yīng)用121從步驟S710內(nèi)獲 得的容器集合中選擇一個(gè)容器集合(即,布局計(jì)算的目標(biāo))。
在步驟S712,布局編輯應(yīng)用121計(jì)算并優(yōu)化在步驟S711內(nèi)選擇 的容器集合的布局。作為示例性的步驟S712內(nèi)的處理,布局編輯應(yīng) 用121確定可使得被安置在容器內(nèi)的內(nèi)容數(shù)據(jù)所需的大小與從布局計(jì) 算獲得的容器大小的結(jié)果之間的差最小的最優(yōu)容器大小。
在步驟S713,布局編輯應(yīng)用121確定S712內(nèi)優(yōu)化的布局結(jié)果是 否符合布局規(guī)則。如果布局編輯應(yīng)用121確定布局結(jié)果不服從布局規(guī) 則(步驟S713內(nèi)否),則處理流程返回步驟S712。步驟S713內(nèi)描述 的布局規(guī)則包括用戶為創(chuàng)建文檔模板設(shè)置的約束條件。例如,用戶可 設(shè)置關(guān)于容器的大小、容器的位置、容器的每個(gè)側(cè)邊部分的狀態(tài)和鏈 接的長度的約束條件。如果計(jì)算出的布局服從規(guī)則,則每個(gè)組件的布 局可被認(rèn)為完成。在步驟S714,布局編輯應(yīng)用121確定對(duì)于步驟S710 內(nèi)獲得的所有容器集合是否都已經(jīng)完成步驟S711到S713的處理。通 過圖7B內(nèi)所示的布局計(jì)算處理,布局編輯應(yīng)用121獲得整個(gè)頁面的布局。
圖8A示出通過將記錄的內(nèi)容數(shù)據(jù)插入容器確定的示例性布局, 其包括固定側(cè)邊部分801和802、可變側(cè)邊部分803、指示可變側(cè)邊部 分803的可移動(dòng)方向的箭頭804和805以及鏈接806。
在此狀態(tài)下,用戶可改變各個(gè)容器內(nèi)的記錄。例如,用戶可將具 有不同大小的其它記錄的內(nèi)容數(shù)據(jù)注入每個(gè)容器。圖8B示出與圖8A 的狀態(tài)重疊的新內(nèi)容的大小,其中虛線807指示被插入各個(gè)容器的內(nèi) 容的區(qū)域。
圖8C示出布局計(jì)算的結(jié)果。布局編輯應(yīng)用121計(jì)算每個(gè)容器的 大小,從而計(jì)算出的結(jié)果具有與被插入每個(gè)容器的內(nèi)容的大小相似的 差,并且還服從上述規(guī)則。如圖8C所示,圖8B內(nèi)插入的內(nèi)容的大小 (807)和在計(jì)算之后的內(nèi)容的大小(808)具有相似的差。
根據(jù)基于相似的差執(zhí)行的布局計(jì)算處理,只要如圖8A到8C所 示僅沿水平方向執(zhí)行布局計(jì)算,則就不會(huì)出現(xiàn)問題。但是,如果如圖 33內(nèi)所示地沿垂直和水平兩個(gè)方向執(zhí)行布局計(jì)算,則可能會(huì)出現(xiàn)問 題。
根據(jù)圖33內(nèi)所示的示例,二維布局可沿水平和垂直兩個(gè)方向調(diào) 整。使用圖7B內(nèi)所示的布局計(jì)算方法,布局編輯應(yīng)用121首先執(zhí)行 沿水平方向的調(diào)整,接下來執(zhí)行沿垂直方向的調(diào)整。即,布局編輯應(yīng) 用121調(diào)整水平大小,以便兩個(gè)容器3301和3302根據(jù)上述過程被安 置在設(shè)置范圍"D"內(nèi)。然后,布局編輯應(yīng)用121調(diào)節(jié)垂直大小,以便 容器3302和3303被安置在i殳置范圍"G"內(nèi)。 、
但是,如果首先執(zhí)行水平調(diào)整并接下來執(zhí)行垂直調(diào)整,則布局結(jié) 果可能與用戶希望的基本布局不同。
因此,為了獲得類似于基本圖案的每個(gè)容器的布局,布局編輯應(yīng) 用121可獲得基本圖案和被調(diào)整的布局之間的寬度差和高度差,并然 后將獲得的寬度差的平方與獲得的高度差的平方相加。布局編輯應(yīng)用 121可針對(duì)每個(gè)容器重復(fù)上述計(jì)算。容器的基本圖案可用布局設(shè)計(jì) 值一諸如容器大小和容器的高寬比一限定。然后,布局編輯應(yīng)用121計(jì)算可使每個(gè)容器的差(水平方向+垂 直方向)的平方和最小的每個(gè)容器的寬度和高度。通過使用上述最小 平方方法執(zhí)行布局調(diào)整,布局編輯應(yīng)用121可確定與用戶設(shè)置的基本 布局相似的最優(yōu)布局結(jié)果。
置于兩個(gè)容器3301和3302之間的柔性鏈接3304具有根據(jù)被注 入各個(gè)容器的內(nèi)容數(shù)據(jù)的量可變的鏈接大小。布局編輯應(yīng)用121在與 這種布局調(diào)整部件相關(guān)聯(lián)時(shí)可根據(jù)被分配的數(shù)據(jù)大小調(diào)整多個(gè)局部顯 示區(qū)域(容器)的定位(位置)。
上述最小平方方法僅是布局調(diào)整算法的示例。布局調(diào)整算法可包 括立方數(shù)據(jù)或四次冪數(shù)據(jù)。
彈性鏈接3304具有在基于被分配給每個(gè)容器的內(nèi)容數(shù)據(jù)執(zhí)行的 布局計(jì)算處理內(nèi)可改變的鏈接長度。根據(jù)傳統(tǒng)的固定鏈接,如果將被 安置在容器3301和3302內(nèi)的內(nèi)容數(shù)據(jù)的大小大于各個(gè)容器的當(dāng)前大 小,則由于傳統(tǒng)的固定鏈接不能改變其長度,所以內(nèi)容數(shù)據(jù)的大小被 強(qiáng)制減小。但是,彈性鏈接3304可在設(shè)置范圍內(nèi)擴(kuò)展或縮短。如果如 上所述被插入的內(nèi)容數(shù)據(jù)的大小較大,則彈性鏈接3304的長度縮短, 從而內(nèi)容數(shù)據(jù)可被安置在擴(kuò)展的容器內(nèi)而內(nèi)容數(shù)據(jù)的大小保持不變。
圖9示出示例性的多記錄及其布局方法。多記錄指示一個(gè)文檔包 括多條被插入的記錄的狀態(tài)。根據(jù)普通的文檔模板, 一條記錄對(duì)應(yīng)于 一個(gè)文檔。
但是,除非出現(xiàn)中斷(brake)(即,參考項(xiàng)的變化點(diǎn)),否則對(duì)應(yīng) 于稍后參照?qǐng)D13說明的子模板的多記錄會(huì)被連續(xù)注入相同文檔的容 器。因此, 一個(gè)文檔可包括被以此方式插入的多條記錄。因此,希望
對(duì)應(yīng)于子模板的可變數(shù)據(jù)的多記錄數(shù)據(jù)庫不同于對(duì)應(yīng)于普通文檔模板 的可變數(shù)據(jù)的數(shù)據(jù)庫。
圖9內(nèi)所示的示例包括文檔模板901、頁面卯2、子模板903和 數(shù)據(jù)庫904。數(shù)據(jù)庫904存儲(chǔ)1-7號(hào)記錄。如果執(zhí)行一條記錄/一個(gè)文 檔的可變打印,則可由七條記錄創(chuàng)建七個(gè)文檔。
另一方面,支持多記錄的可變打印執(zhí)行以下處理。
首先,用戶選擇確定斷點(diǎn)的特定項(xiàng)。在圖9內(nèi)所示的示例中,現(xiàn) 在假設(shè)用戶指定字段名(Name)。
兩條或多條記錄如果在被指定的項(xiàng)內(nèi)相同,則被安置在相同的文 檔上。根據(jù)圖9所示的示例,1-4號(hào)記錄具有相同的字段名"Tom"。 因此,可變打印處理包括將1-4號(hào)記錄的內(nèi)容數(shù)據(jù)定位在相同文檔模 板上,并對(duì)它們執(zhí)行布局計(jì)算。
5-7號(hào)記錄具有相同的字段名"Nancy"??勺兇蛴√幚硎褂孟嗤?的文檔模板將5-7號(hào)記錄的內(nèi)容數(shù)據(jù)定位在不同的文檔上。即,布局 編輯應(yīng)用121首先完成關(guān)于"Tom"的文檔,并接下來創(chuàng)建關(guān)于"Nancy" 的文檔。這樣,根據(jù)多記錄布局系統(tǒng),布局編輯應(yīng)用121可響應(yīng)于特 定項(xiàng)的改變而靈活地創(chuàng)建新文檔。
圖IO是示出在文檔創(chuàng)建模式下布局編輯應(yīng)用121執(zhí)行的示例性 處理的流程圖。圖11示出示例性的用于圖10的處理的UI。如果用戶 輸入新模板創(chuàng)建指令,則布局編輯應(yīng)用121顯示圖11的屏幕(除了矩 形1104、 1105和1106之外)。布局編輯應(yīng)用121響應(yīng)于用戶的指令 開始圖10的過程。
在步驟S1001,當(dāng)用戶按下圖11內(nèi)所示的圖標(biāo)1103時(shí),布局編 輯應(yīng)用121轉(zhuǎn)換到流動(dòng)區(qū)域創(chuàng)建模式。
在步驟S1002,布局編輯應(yīng)用121通過用鼠標(biāo)在頁面邊緣區(qū)域 1102上進(jìn)行拖動(dòng),顯示用戶已經(jīng)指示的矩形流動(dòng)區(qū)域1106。
在步驟S1003,布局編輯應(yīng)用121將鼠標(biāo)拖動(dòng)的矩形區(qū)域的位置 /大小信息存儲(chǔ)在存儲(chǔ)部件136內(nèi)。被存儲(chǔ)的信息被稱為流動(dòng)區(qū)域1106 的位置/大小信息(即,作為模板數(shù)據(jù)的一部分)。類似地,布局編輯 應(yīng)用121將容器1104和1105的位置/大小信息作為模板數(shù)據(jù)的一部分 存儲(chǔ)在存儲(chǔ)部件136內(nèi)。流動(dòng)區(qū)域1106的表示可在矩形UI的顏色或 線型方面與容器1104和1105相區(qū)別。
在步驟S1004,布局編輯應(yīng)用121 ^使多記錄字段與^L創(chuàng)建的流動(dòng) 區(qū)域相關(guān)。例如,如果特定數(shù)據(jù)庫存儲(chǔ)將被插入流動(dòng)區(qū)域的目標(biāo)內(nèi)容 數(shù)據(jù),則布局編輯應(yīng)用121可使數(shù)據(jù)庫名與被創(chuàng)建的流動(dòng)區(qū)域相關(guān)。
在此情況下,布局編輯應(yīng)用121指定對(duì)象流動(dòng)區(qū)域,并根據(jù)預(yù)定的操 作流程輸入必要的信息。存儲(chǔ)部件136存儲(chǔ)該輸入信息作為模板數(shù)據(jù) 的多記錄信息。
在步驟S1005,布局編輯應(yīng)用121確定用戶是否請(qǐng)求設(shè)置被創(chuàng)建 的流動(dòng)區(qū)域。如果用戶請(qǐng)求設(shè)置(步驟S1005內(nèi)是),則處理流程前 進(jìn)到步驟S1006。在步驟S1006,布局編輯應(yīng)用121顯示屬性對(duì)話框 (圖12)。例如,當(dāng)用戶將鼠標(biāo)指針移動(dòng)到流動(dòng)區(qū)域上并點(diǎn)擊該流動(dòng) 區(qū)域時(shí),布局編輯應(yīng)用121可確定用戶希望輸入設(shè)置倌息。
然后,在步驟S1007,布局編輯應(yīng)用121識(shí)別用戶使用顯示的屬 性對(duì)話框輸入的內(nèi)容,并設(shè)置設(shè)置信息。存儲(chǔ)部件136存儲(chǔ)該設(shè)置信 息。
如果布局編輯應(yīng)用121完成流動(dòng)區(qū)域創(chuàng)建和設(shè)置過程,則處理流 程前進(jìn)到步驟S1008。在步驟S1008,布局編輯應(yīng)用121確定用戶是 否請(qǐng)求預(yù)覽布局。如果用戶請(qǐng)求預(yù)覽布局(步驟S1008內(nèi)是),則處 理流程前進(jìn)到步驟S1009。在步驟S1009,布局編輯應(yīng)用121轉(zhuǎn)換到 預(yù)覽模式,并根據(jù)與圖7B的流程圖類似的過程執(zhí)行布局計(jì)算處理。
在步驟SIOIO,布局編輯應(yīng)用121如稍后將參照?qǐng)D34說明地那 樣計(jì)算在步驟S1003內(nèi)設(shè)置的流動(dòng)區(qū)域的布局。在步驟SlOll,布局 編輯應(yīng)用121顯示布局結(jié)果。
即,主機(jī)具有用戶可以為其設(shè)置提取條件的流動(dòng)區(qū)域。當(dāng)布局編 輯應(yīng)用121從數(shù)據(jù)庫提取內(nèi)容數(shù)據(jù)(即,布局計(jì)算的目標(biāo))時(shí),布局 編輯應(yīng)用121參考該提取條件。主機(jī)將子模板與被提取的內(nèi)容數(shù)據(jù)一 起定位在流動(dòng)區(qū)域內(nèi),并確定布局計(jì)算。
圖12示出示例性的使用戶能夠?qū)α鲃?dòng)區(qū)域執(zhí)行各種設(shè)置(屬性 設(shè)置)的設(shè)置對(duì)話框。當(dāng)布局編輯應(yīng)用121執(zhí)行圖10內(nèi)所示的步驟 S1006的處理時(shí),布局編輯應(yīng)用121顯示圖12的設(shè)置屏幕。
首先,用戶選擇作為將與該流動(dòng)區(qū)域相關(guān)的目標(biāo)的子模板或條件 式的單選按鈕1202。如果用戶選擇子模板的單選按鈕1202,則用戶從 列表框1203中指定將被用于該流動(dòng)區(qū)域的子模板的名稱。
如果用戶選擇條件式的單選按鈕1202,則用戶從列表框1204中 指定將被用于該流動(dòng)區(qū)域的條件式的名稱。用戶可使用唯一的UI在 當(dāng)前被編輯的文檔模板內(nèi)的預(yù)定位置處或在該模板外獨(dú)立地創(chuàng)建子模 板或條件式。圖15示出使用戶能夠設(shè)置條件式的示例性UI。但是, 作為另一種方法,用戶可訪問存儲(chǔ)期望的子模板或條件式的另一個(gè)文 件,并可使用設(shè)置對(duì)話框選擇(指定)該文件。
本示例性實(shí)施例使得用戶可在文檔模板的每個(gè)流動(dòng)區(qū)域內(nèi)創(chuàng)建 多個(gè)子模板和條件式??蓞⒄瘴ㄒ坏拿Q從對(duì)應(yīng)的列表框中選擇子模 板和條件式的每一個(gè)是有用的。
此外,圖12的設(shè)置對(duì)話框包括選擇字段1205,該選擇字段使用 戶能夠指定當(dāng)子模板被注入流動(dòng)區(qū)域時(shí)的流向(即,內(nèi)容的排列方向)。 設(shè)置字段1206內(nèi)的數(shù)值限定了流動(dòng)內(nèi)容沿垂直方向的間隔。設(shè)置字段 1207內(nèi)的數(shù)值限定了流動(dòng)內(nèi)容沿水平方向的間隔。
用戶可在圖12的設(shè)置對(duì)話框上選擇"一般類型流動(dòng)區(qū)域"或"表 格格式流動(dòng)區(qū)域,,的單選按鈕1208。如果用戶選擇"表格格式流動(dòng)區(qū) 域",則布局編輯應(yīng)用121根據(jù)表格格式對(duì)流動(dòng)區(qū)域執(zhí)行布局處理。
此外,圖12的設(shè)置對(duì)話框包括字段1209,該字段使用戶能夠在 用戶選擇表格格式布局時(shí)指定子數(shù)據(jù)庫名稱,這是因?yàn)楸砀窀袷讲季?處理通過參考與主數(shù)據(jù)庫不同的子數(shù)據(jù)庫而^l得信息。在此實(shí)施例中, 假設(shè)子模板構(gòu)成了主數(shù)據(jù)庫內(nèi)的字段并且可用數(shù)據(jù)庫的文件名識(shí)別該 子模板。但是,其它方法可不使用文件名來指定子數(shù)據(jù)庫。
字段1210使用戶能夠設(shè)置流動(dòng)區(qū)域的每個(gè)單元內(nèi)的縮放(放大/ 縮小)方法。字段1211使用戶能夠設(shè)置子模板在單元內(nèi)的定位(位置)。
用戶可按下OK按鈕1212來最終確定被確定的上述設(shè)置的內(nèi)容, 或者按下取消按鈕1213來清除所有設(shè)置數(shù)據(jù)。
圖34是示出示例性的流動(dòng)區(qū)域布局計(jì)算處理的流程圖,其對(duì)應(yīng) 于圖10內(nèi)所示的步驟SIOIO的處理。根據(jù)圖34的過程,為一個(gè)文檔 模板設(shè)置一個(gè)流動(dòng)區(qū)域。
在步驟S3401,布局編輯應(yīng)用121打開與流動(dòng)區(qū)域相關(guān)的數(shù)據(jù)庫。
在步驟S3402,布局編輯應(yīng)用121把將被注入該流動(dòng)區(qū)域的記錄(即, 布局對(duì)象)的總數(shù)輸入存儲(chǔ)器內(nèi)設(shè)置的變量"n"。在步驟S3403,布局 編輯應(yīng)用121確定變量n是否為0,即記錄(即,布局對(duì)象)的數(shù)量 是否為0。如果變量n為0 (步驟S3403內(nèi)是),則布局編輯應(yīng)用121 終止此程序的處理。如果變量n不為0 (步驟S3403內(nèi)否),則處理 前進(jìn)到步驟S3404。
接下來,在步驟S3404,布局編輯應(yīng)用121向指示當(dāng)前正被處理 的或已經(jīng)被處理的記錄的總數(shù)的變量k輸入1。在步驟S3405,布局 編輯應(yīng)用121向指示流動(dòng)區(qū)域內(nèi)布置的子模板的總數(shù)的變量Num輸 入1。
在步驟S3406,布局編輯應(yīng)用121從數(shù)據(jù)庫獲得第k條記錄數(shù)據(jù)。 如果布局編輯應(yīng)用121接收到告知數(shù)據(jù)庫內(nèi)不存在對(duì)應(yīng)數(shù)據(jù)的通知, 則處理流程前進(jìn)到步驟S3413。
在步驟S3407,布局編輯應(yīng)用121確定用戶是否已經(jīng)使用圖15 內(nèi)所示的設(shè)置屏幕,為流動(dòng)區(qū)域(目標(biāo)區(qū)域)設(shè)置任何條件式。如已 經(jīng)對(duì)于多記錄說明的那樣,滿足被分配的提取條件的所有記錄均被注 入同一的流動(dòng)區(qū)域。滿足提取條件(即,條件式)的記錄對(duì)應(yīng)于與流 動(dòng)區(qū)域相關(guān)的數(shù)據(jù)。即,布局編輯應(yīng)用121從數(shù)據(jù)庫獲得滿足提取條 件的內(nèi)容數(shù)據(jù)。
如果布局編輯應(yīng)用121確定用戶已經(jīng)為流動(dòng)區(qū)域設(shè)置條件式(步 驟3407內(nèi)是),則處理流程前進(jìn)到步驟S3408。在步驟S3408,布局 編輯應(yīng)用121確定S3406內(nèi)獲得的數(shù)據(jù)是否滿足當(dāng)前被設(shè)置的條件 式。如果確定結(jié)果在步驟S3407內(nèi)是"否"或者在步驟S3408內(nèi)是"是", 則處理流程前進(jìn)到步驟S3409。在步驟S3409,布局編輯應(yīng)用121執(zhí) 行用于將第k條記錄內(nèi)包含的內(nèi)容數(shù)據(jù)注入子模板的容器內(nèi)的布局處 理。
如果數(shù)據(jù)庫可使用與流動(dòng)區(qū)域相關(guān)的條件式搜索,則布局編輯應(yīng) 用121可在步驟S3406內(nèi)參照條件式提取記錄。在此情況下,根據(jù)條 件式被提取的任何記錄均滿足被分配給流動(dòng)區(qū)域的條件。如果用戶還
可設(shè)置用于精細(xì)地搜索滿足條件式的記錄的條件,則布局編輯應(yīng)用
121在步驟S3406內(nèi)根據(jù)這些條件提取記錄。在此情況下,步驟S3408 的確定基本是必需的。如果數(shù)據(jù)庫不可搜索,則布局編輯應(yīng)用121在 步驟S3406內(nèi)連續(xù)獲得記錄。
在布局編輯應(yīng)用121完成子模板布局處理(即,用于將記錄注入 子模板的容器的處理)之后,處理流程前進(jìn)到步驟S3410。在步驟 S3410,布局編輯應(yīng)用121將變量Num加l。在步驟S3411,布局編 輯應(yīng)用121將變量k加l以移動(dòng)到下一條記錄。
如果布局編輯應(yīng)用121確定步驟S3406內(nèi)獲得的數(shù)據(jù)不滿足當(dāng)前 設(shè)置的條件式(步驟S3408內(nèi)否),則處理流程前進(jìn)到步驟S3411以 獲得下一條記錄。即,如果獲得的記錄的數(shù)據(jù)不滿足條件,則布局編 輯應(yīng)用121取消布局處理。
在步驟S3412,布局編輯應(yīng)用121確定變量k是否小于記錄的總 數(shù)"n"。如果變量k小于n (步驟S3412內(nèi)是),則處理流程返回步驟 S3406以重復(fù)對(duì)第k個(gè)數(shù)據(jù)的處理。如果變量k等于或大于n (步驟 S3412內(nèi)否),則布局編輯應(yīng)用121終止用于使用子模板計(jì)算記錄的 布局的處理。處理流程前進(jìn)到步驟S3413以開始用于將已經(jīng)經(jīng)過布局 處理的子模板定位在流動(dòng)區(qū)域內(nèi)的處理。
在步驟S3413,布局編輯應(yīng)用121從存儲(chǔ)部件136獲得流動(dòng)區(qū)域 的大小。在步驟S3414,布局編輯應(yīng)用121從存儲(chǔ)部件136獲得每個(gè) 子模板的默認(rèn)大小。
在步驟S3415,布局編輯應(yīng)用121才艮據(jù)稍后參照?qǐng)D35和36說明 的示例性方法計(jì)算受到步驟S3409的布局處理的子模板的大小。在步 驟S3416,布局編輯應(yīng)用121顯示布局結(jié)果。
圖35示出在內(nèi)容數(shù)據(jù)可被完全布置在子模板的有限區(qū)域內(nèi)的情 況下的示例性的子模板大小確定方法。
包含兩個(gè)容器3502和3053的子模板3507被定位在有限區(qū)域 3501內(nèi)。有限區(qū)域3501是子模板3507可在其中擴(kuò)展的固定區(qū)域。
記錄的內(nèi)容數(shù)據(jù)3504和另 一條記錄的內(nèi)容數(shù)據(jù)3505符合被分配
給該流動(dòng)區(qū)域的提取條件。內(nèi)容數(shù)據(jù)3504被注入容器3502。內(nèi)容數(shù) 據(jù)3505被注入容器3503。兩個(gè)容器3502和3503通過大小為"l"的鏈 接相關(guān)。
有限區(qū)域3501的大小為"10"。每個(gè)內(nèi)容數(shù)據(jù)3504和3505的大 小為"3",其小于有限區(qū)域3501的大小。換句話說,內(nèi)容數(shù)據(jù)3504 和3505可被完全包含在有限區(qū)域3501內(nèi),并且各個(gè)內(nèi)容數(shù)據(jù)的大小 保持相同。
當(dāng)內(nèi)容數(shù)據(jù)3504和3505被注入子才莫板時(shí),子模板的大小3506 為"7"。
圖36示出在內(nèi)容數(shù)據(jù)不能被完全包含在子模板的有限區(qū)域內(nèi)的 情況下的示例性的子模板大小確定方法。
類似于圖35,包含兩個(gè)容器3502和3503的子模板3507被定位 在圖36的有限區(qū)域3501內(nèi)。
記錄的內(nèi)容數(shù)據(jù)3604和另 一條記錄的內(nèi)容數(shù)據(jù)3605符合被分配 給該流動(dòng)區(qū)域的提取條件。內(nèi)容數(shù)據(jù)3604被注入容器3502。內(nèi)容數(shù) 據(jù)3605被注入容器3503。
有限區(qū)域3501的大小為"10"。內(nèi)容數(shù)據(jù)3604的大小為"7"而內(nèi) 容數(shù)據(jù)3605的大小為"6"。換句話說,內(nèi)容數(shù)據(jù)3604和3605的總大 小為"13",其超過了有限區(qū)域3501的大小。換句話說,如果各個(gè)內(nèi)容 數(shù)據(jù)的大小保持相同,則內(nèi)容數(shù)據(jù)3604和3605不能被全部布置在有 限區(qū)域3501內(nèi)。
因此,布局編輯應(yīng)用121才艮據(jù)參照?qǐng)D7B的流程圖說明的方法確 定每個(gè)容器的大小。
子模板3507包括通過長度為"l"的鏈接相關(guān)的兩個(gè)容器3502和 3503。有限區(qū)域3501是子模板3507可在其中擴(kuò)展的固定區(qū)域。
如上所述,兩個(gè)內(nèi)容數(shù)據(jù)3604和3605的總大小為"13",這超過 了子模板3507的最大大小(=10)。如果內(nèi)容數(shù)據(jù)被強(qiáng)行注入每個(gè)容 器,則強(qiáng)行操作會(huì)生成很大的壓力(即,布局內(nèi)的負(fù)荷)。
即,內(nèi)容數(shù)據(jù)3604的實(shí)際大小(理想大小)為"7",而內(nèi)容數(shù)據(jù)
3605的實(shí)際大小(理想大小)為"6"。
更具體地說,如果保持理想大小,則將內(nèi)容數(shù)據(jù)插入每個(gè)容器所 需的垂直大小為13 (=7+6)。但是子模板3507的可變大小不能超過 10。
因此,布局編輯應(yīng)用121在兩個(gè)容器3502和3503之間分配上述 應(yīng)力。根據(jù)示例性實(shí)施例的自動(dòng)布局系統(tǒng)使用可使施加在每個(gè)容器上 的應(yīng)力最小的最小平方方法計(jì)算應(yīng)力的分配。
如果"a"代表計(jì)算出的容器3502的大小而"b"代表計(jì)算出的容器 3503的大小,則下面的公式表示了等于各個(gè)容器的應(yīng)力的平方和的成 本k。
k= ( a-7 ) 2+ ( b國6 ) 2 (1)
根據(jù)自動(dòng)布局系統(tǒng),每個(gè)容器具有相同的優(yōu)先級(jí),并且下列等式 限定了使成本k最小的條件。 a-7=b-6 (2)
此外,計(jì)算出的布局的大小滿足下列等式。 a+b+l (鏈接大小)=10 (3)
布局編輯應(yīng)用121計(jì)算每個(gè)容器的最優(yōu)大小以便滿足等式(2) 和(3)。根據(jù)圖36內(nèi)所示的示例,當(dāng)容器3502的大小為5而容器 3503的大小為4時(shí),布局編輯應(yīng)用121獲得的作用在每個(gè)容器上的應(yīng) 力為2。
子模板3507的大小為"10",其相當(dāng)于包圍所確定的容器3502和 3503的布局區(qū)域的外接矩形(圖36內(nèi)的3606 )。
即,考慮到內(nèi)容數(shù)據(jù)的所需大小,布局編輯應(yīng)用121確定在分配 內(nèi)容數(shù)據(jù)時(shí)子模板內(nèi)設(shè)置的每個(gè)容器(局部顯示區(qū)域)的最優(yōu)大小。 然后,布局編輯應(yīng)用121根據(jù)確定的容器大小確定子模板的優(yōu)選大小。
如參照?qǐng)D35和36內(nèi)所示的示例說明的那樣,布局編輯應(yīng)用121 根據(jù)被注入子模板內(nèi)的容器的內(nèi)容的大小,確定每個(gè)子模板的大小。 因此,各個(gè)子模板可能具有不同的大小。
如果多個(gè)子模板的大小相互不同,并且被簡單地排列而大小沒有 做任何修改,則輸出結(jié)果可能遠(yuǎn)非類似于在垂直和水平方向的每一個(gè) 上具有良好平衡的表格的組織良好的布局。
圖13示出子模板的示例性布局。圖14是示出圖34的步驟S3409 的詳細(xì)處理的流程圖。
子模板包括任意數(shù)量的圖像和/或文本容器。每個(gè)子模板包括用 戶可向其分配記錄的數(shù)據(jù)(字段)的容器。子模板便于用戶重復(fù)使用 相同文檔內(nèi)的相同布局。
類似于上述的圖像或文本容器,每個(gè)子模板包括使一個(gè)容器與另 一個(gè)容器相關(guān)的鏈接。
因此,布局編輯應(yīng)用121可根據(jù)布局對(duì)象的內(nèi)容數(shù)據(jù)適當(dāng)?shù)馗淖?每個(gè)子模板的布局/大小。圖13的子模板1301和1304的示例包括圖 像容器1302和1305、文本容器1303和1306以及鏈接1307。因?yàn)槊?個(gè)圖像數(shù)據(jù)和文本數(shù)據(jù)具有不同的大小,所以布局編輯應(yīng)用121對(duì)每 條記錄執(zhí)行布局計(jì)算處理。
然后,布局編輯應(yīng)用121顯示最優(yōu)的布局結(jié)果。 圖14示出根據(jù)本實(shí)施例的示例性子模板布局處理。 在步驟S1401,布局編輯應(yīng)用121從數(shù)據(jù)庫獲得布局目標(biāo)數(shù)據(jù)。 在步驟S1402,布局編輯應(yīng)用121獲得被分配給子模板的每個(gè)容器的 內(nèi)容數(shù)據(jù)的大小。更具體地說,如果用戶界面103與數(shù)據(jù)庫相關(guān),則 用戶界面103可通過訪問并解釋數(shù)據(jù)庫內(nèi)的數(shù)據(jù)獲得數(shù)據(jù)大小。布局 編輯應(yīng)用121可同時(shí)執(zhí)行步驟S1401和S1402的處理,在步驟S1402 的處理中,布局編輯應(yīng)用121可通過分析在步驟S1401內(nèi)獲得的數(shù)據(jù) 的信息獲得內(nèi)容數(shù)據(jù)的大小。存儲(chǔ)部件136存儲(chǔ)獲得的內(nèi)容數(shù)據(jù)的大 小信息。
在步驟S1403,布局編輯應(yīng)用121基于在步驟S1402獲得的數(shù)據(jù) 大小,對(duì)每個(gè)容器執(zhí)行布局計(jì)算處理。在步驟S1404,布局編輯應(yīng)用 121根據(jù)參照?qǐng)D7A和7B說明的方法,執(zhí)行布局優(yōu)化處理,并獲得類 似于圖35和36內(nèi)所示的布局的優(yōu)化布局結(jié)果。
在步驟S1405,布局編輯應(yīng)用121確定在步驟S1404內(nèi)優(yōu)化的布 局。在步驟S1406,布局編輯應(yīng)用121將布局目標(biāo)數(shù)據(jù)注入對(duì)應(yīng)的容 器。在步驟S1407,布局編輯應(yīng)用121顯示布局?jǐn)?shù)據(jù)。存儲(chǔ)部件136 臨時(shí)存儲(chǔ)在步驟S1405內(nèi)確定的布局。
如果在文檔完成時(shí)執(zhí)行的顯示包括步驟S1407的顯示內(nèi)容,則布 局編輯應(yīng)用121可省略步驟S1407的處理。
下面參照?qǐng)D15說明用于設(shè)置子模板的條件式的示例性方法。
圖15的設(shè)置屏幕使用戶能夠向相同流動(dòng)區(qū)域分配多個(gè)子模板。 用戶可使子模板或條件式與流動(dòng)區(qū)域相關(guān)。在本示例性實(shí)施例中,條 件式具有從數(shù)據(jù)庫中提取滿足預(yù)定條件的內(nèi)容的功能,并且可被稱為 提取條件。布局編輯應(yīng)用121可創(chuàng)建具有用戶可為其設(shè)置希望的提取 條件的流動(dòng)區(qū)域的模板。
如果用戶使子模板與流動(dòng)區(qū)域相關(guān),則布局編輯應(yīng)用121將獲得 的記錄注入相關(guān)子模板的容器。可選地,當(dāng)用戶使子模板與流動(dòng)區(qū)域 相關(guān)時(shí),布局編輯應(yīng)用121可設(shè)置條件式,并僅將滿足條件式的記錄 注入與流動(dòng)區(qū)域相關(guān)的子模板。
條件式包括在驗(yàn)證中被參考的子模板的識(shí)別信息。圖15示出使 用戶能夠設(shè)置條件式的示例性UI。布局編輯應(yīng)用121對(duì)記錄被注入其 中的子模板執(zhí)行布局計(jì)算處理。當(dāng)布局計(jì)算處理完成時(shí),布局編輯應(yīng) 用121將子模板定位在流動(dòng)區(qū)域內(nèi)。
圖15內(nèi)所示的示例性UI 1501包括文本框1502的輸入?yún)^(qū)域和一 對(duì)基本元素(即,IF語句1503和ELSE語句1504)。文本框1502 使用戶能夠輸入條件式的名稱。IF語句1503和ELSE語句1504限定 了確定條件。
IF語句1503的輸入?yún)^(qū)域包括使用戶能夠選擇字段(即,確定對(duì) 象)的列表框1505、使用戶能夠設(shè)置用于該確定的邏輯式的列表框 1506、以及使用戶能夠輸入用于該確定的值的文本框1507。
此外,IF語句1503的輸入?yún)^(qū)域包括兩個(gè)處理語句1508和1504。 處理語句1508使用戶能夠指定這樣的子模板,即,如果記錄滿足確定 條件,則該記錄可被插入該子模板。處理語句1504使用戶能夠指定這
樣的子模板,即,如果記錄不滿足確定條件,則該記錄可被插入該子
模板???506內(nèi)的邏輯式可包括各種條件表達(dá)式,例如"EQUAL (等 于),,、"NOT_EQUAL (不等于)"和"LESS—THAN (小于),,。
此外,IF語句1503的輸入?yún)^(qū)域包括AND/OR (與/或)組合框 1509,該組合框使用戶能夠在IF語句中進(jìn)一步設(shè)置復(fù)雜的條件式。
此外,ELSE_IF (否則—如果)語句添加按鈕1510允許用戶設(shè)置 復(fù)雜的條件分支。
如果用戶按下按鈕1510,則布局編輯應(yīng)用121在IF語句1503 和ELSE語句1504之間新加入ELSE—IF語句。ELSE—IF語句的內(nèi)容 和操作與IF語句類似。當(dāng)IF語句不為真時(shí),布局編輯應(yīng)用121根據(jù) ELSE_IF語句執(zhí)行確定。如果ELSE一IF語句不為真,則布局編輯應(yīng) 用121根據(jù)其它ELSE一IF語句繼續(xù)執(zhí)行確定,并最終根據(jù)ELSE (否 則)語句執(zhí)行確定。刪除按鈕1511使用戶能夠刪除選擇的ELSE一IF 語句。如果IF語句或ELSE—IF語句被評(píng)價(jià)為真,則布局編輯應(yīng)用121 執(zhí)行對(duì)應(yīng)于真語句的USE (使用)處理語句。用戶可在USE處理語 句內(nèi)輸入(選擇)子模板名稱。
如上所述,當(dāng)用戶輸入條件式時(shí),布局編輯應(yīng)用121自動(dòng)選擇滿 足包含多個(gè)值的每條記錄的條件的子模板。然后,本示例性實(shí)施例可 從相同的條件式獲得多種布局。此外,如果用戶使條件式與流動(dòng)區(qū)域 相關(guān),則布局編輯應(yīng)用121可將具有各種布局的兩個(gè)或多個(gè)子模板定 位在相同流動(dòng)區(qū)域內(nèi)。
用戶可在完成條件的全部輸入時(shí)按下OK按鈕1514。如果用戶 按下OK按鈕1514,則存儲(chǔ)部件136存儲(chǔ)設(shè)置信息(即,用戶使用 UI設(shè)置的子模板條件)。在此情況下,存儲(chǔ)部件136可存儲(chǔ)與圖15 的UI上描述(選擇)的文本相同的、表示子模板條件式的文本文件, 或在被比較的條件匹配時(shí)可識(shí)別子模板的任何其它信息。
如上所述,條件式包括用戶可指定以從數(shù)據(jù)庫提取內(nèi)容數(shù)據(jù)(即, 布局目標(biāo))的條件以及當(dāng)該條件被滿足時(shí)將被使用的子模板。因此, 存儲(chǔ)部件136存儲(chǔ)指示被提取的內(nèi)容數(shù)據(jù)和被識(shí)別的子模板之間的關(guān)
系的信息。
用戶使用圖12內(nèi)所示的設(shè)置屏幕1201設(shè)置的表格格式流動(dòng)區(qū)域 從與模板接收的主數(shù)據(jù)庫不同的子數(shù)據(jù)庫接收記錄內(nèi)包含的內(nèi)容數(shù) 據(jù)。圖16示出示例性的子數(shù)據(jù)庫。
圖16內(nèi)所示的子數(shù)據(jù)庫包括根據(jù)文本文件格式描述的信息/數(shù) 據(jù)。標(biāo)題部分1601指定流動(dòng)區(qū)域被分成包括兩列和三行的多個(gè)區(qū)域 (即,包括2x3個(gè)單元的表格)。
真實(shí)數(shù)據(jù)部分1602指示被注入流動(dòng)區(qū)域的真實(shí)數(shù)據(jù)。
真實(shí)數(shù)據(jù)部分1602包括描述字段名的前導(dǎo)行和描述真實(shí)數(shù)據(jù)的 后續(xù)行,它們均根據(jù)逗號(hào)分隔值(CSV)格式被描述。圖16使用表達(dá) "/* */,,來添加關(guān)于每個(gè)數(shù)據(jù)的注釋,但是在實(shí)際應(yīng)用中這種描述并不 是必需的。子數(shù)據(jù)庫可使用可指示被劃分的流動(dòng)區(qū)域的數(shù)量并描述被 注入流動(dòng)區(qū)域的真實(shí)數(shù)據(jù)的任何其它格式。根據(jù)CSV格式,字段的一 部分描述了代表行和列的數(shù)量的數(shù)據(jù),并且該字段的剩余部分描述了 真實(shí)數(shù)據(jù)。作為另一種有用的格式,可擴(kuò)展標(biāo)記語言(XML )格式可 容易地描述必要的信息。
當(dāng)數(shù)據(jù)庫的格式允許用戶指定行和列的數(shù)量時(shí), 一個(gè)流動(dòng)區(qū)域可 實(shí)現(xiàn)多種表示而無需編輯模板。
即,根據(jù)用戶的偏好,流動(dòng)區(qū)域可具有包括5行和10列的表格 表示,或者包括10行和5列的表格表示,而同時(shí)模板本身保持不變。 這是使用子數(shù)據(jù)庫的巨大優(yōu)點(diǎn)。但是,作為受限的示例,圖12內(nèi)所示 的流動(dòng)區(qū)域?qū)傩栽O(shè)置屏幕可包括使用戶能夠指定固定數(shù)量的行和列的 輸入元素。
圖17是示出根據(jù)本示例性實(shí)施例的表格格式流動(dòng)區(qū)域的布局計(jì) 算處理的主流程圖。圖18到21是布局計(jì)算處理的子流程圖。這些流 程圖說明了對(duì)具有用戶使用圖12的上述設(shè)置屏幕已設(shè)置的表格格式 屬性的流動(dòng)區(qū)域執(zhí)行的示例性表格格式布局處理。示例性布局處理方 法并不局限于上文所述的實(shí)施例,并且可使用任何其它合適的方法來 獲得類似的結(jié)果。
在步驟S1701,布局編輯應(yīng)用121從子數(shù)據(jù)庫獲得構(gòu)成布局目標(biāo) 的行和列的信息。例如,布局編輯應(yīng)用121獲得行數(shù)和列數(shù)或被劃分 的單元的總數(shù)。
在步驟S1702,布局編輯應(yīng)用121對(duì)被定位在內(nèi)容數(shù)據(jù)被注入其 中的流動(dòng)區(qū)域內(nèi)的子模板的每個(gè)容器執(zhí)行布局處理。圖18是示出步驟 S1702內(nèi)執(zhí)行的布局處理的細(xì)節(jié)的流程圖。
在步驟S1711,布局編輯應(yīng)用121訪問數(shù)據(jù)庫并確定是否存在將 被定位在子模板內(nèi)的任何記錄。如果布局編輯應(yīng)用121確定仍存在剩 余記錄(步驟S1711內(nèi)的是),則處理流程前進(jìn)到步驟S1712。在步 驟S1712,布局編輯應(yīng)用121從子數(shù)據(jù)庫提取記錄。即,布局編輯應(yīng) 用121獲得將被定位在子模板內(nèi)的數(shù)據(jù)。
在步驟S1713,布局編輯應(yīng)用121根據(jù)類似于圖7內(nèi)所述的方法 的布局計(jì)算方法,將被提取的記錄的內(nèi)容數(shù)據(jù)注入子模板的容器,并 獲得類似于圖35和36內(nèi)所示的示例的布局結(jié)果。
在步驟S1714,布局編輯應(yīng)用121確定在步驟S1713內(nèi)生成的子 模板布局結(jié)果的位置(即,行數(shù)和列數(shù))。然后,布局編輯應(yīng)用121 使所確定的位置與子模板布局結(jié)果相關(guān)。存儲(chǔ)部件136存儲(chǔ)該位置與 子模板布局結(jié)果之間的關(guān)系。更具體地說,布局編輯應(yīng)用121考慮定 位方向和數(shù)據(jù)庫的指示內(nèi)容。
例如,布局編輯應(yīng)用121沿Z方向定位子模板。如果用戶指定三 行和兩列的表格格式,則布局編輯應(yīng)用121將被布置有第一記錄的子 模板定位在第一行的第一列內(nèi)。隨后,布局編輯應(yīng)用121將被布置有 第二記錄的子模板定位在第一行的第二列內(nèi)。然后,布局編輯應(yīng)用121 將被布置有第三記錄的子模板定位在第二行的第一列內(nèi)。即,在步驟 S1714,存儲(chǔ)部件136存儲(chǔ)第一記錄子模板與其位置信息(即,第一 行的第一列)之間的關(guān)系。
在步驟S1711,布局編輯應(yīng)用121確定是否存在將被定位在被設(shè) 置的行和列內(nèi)的任何記錄。如果仍存在任何剩余記錄(步驟S1711內(nèi) 是),則布局編輯應(yīng)用121重復(fù)步驟S1712到S1714的上述處理。
更具體地說,如果布局編輯應(yīng)用121在步驟S1701內(nèi)從子數(shù)據(jù)庫 獲得行數(shù)/列數(shù)信息(即,三行和兩列),則布局編輯應(yīng)用121將總共 六個(gè)子模板定位在該流動(dòng)區(qū)域內(nèi)。因此,在步驟S1711,布局編輯應(yīng) 用121確定是否已經(jīng)獲得六個(gè)記錄。
在完成圖18的處理之后,布局編輯應(yīng)用121生成對(duì)應(yīng)于被設(shè)置 的行數(shù)和列數(shù)的多個(gè)子模板的布局結(jié)果。存儲(chǔ)部件136存儲(chǔ)獲得的布 局結(jié)果與行/列信息之間的關(guān)系。
圖22到24示出代表圖17的處理內(nèi)容的示例。每個(gè)示例具有三 行和兩列的表格格式。圖22示出當(dāng)圖17的步驟S1702的處理(即, 圖18的處理)結(jié)束時(shí),被存儲(chǔ)在存儲(chǔ)部件136內(nèi)的六個(gè)子模板的布局 結(jié)果1801到1806。附在每個(gè)子模板后的注解(例如,第一行的第一 列)指示與圖18內(nèi)的步驟S1714的處理的每個(gè)子模板布局結(jié)果相關(guān) 地存儲(chǔ)的行/列號(hào)。
現(xiàn)在返回參照?qǐng)D17的流程圖,在步驟S1703和S1704中,布局 編輯應(yīng)用121獲得被定位在每一行和每一列內(nèi)的子模板的最大布局高 度(圖20內(nèi)的S1721到S1723和圖21內(nèi)的S1731到S1733 )。圖23 示出這樣的示例,根據(jù)該示例子模板(a) 1801和子模板(b) 1802 被定位在第一行內(nèi)。子模板(a) 1801高于子模板(b) 1802。因此, 第一行的最大布局高度等于子模板(a) 1801的垂直大小。類似地, 第二行的最大布局高度等于子模板(d) 1804的垂直大小。第三行的 最大布局高度等于子模板(e) 1805的垂直大小。
即,每一行的最大布局高度限定了每一行沿垂直方向的"理想大小"。
通常,在被注入容器的內(nèi)容數(shù)據(jù)的表示中,希望的顯示并不會(huì)缺 少內(nèi)容數(shù)據(jù)的任何部分(在沒有改變大小的情況下)。因此,被確定 的每一行的高度相當(dāng)于被定位在每一行內(nèi)的布局結(jié)果的最大高度是有 用的。
因此,在本示例性實(shí)施例中,最高的子模板布局結(jié)果的高度是確 定每一行/每一列的大小的決定因素。但是,如果情況不允許則可不使
用此規(guī)則。
因此,布局編輯應(yīng)用121僅參考圖23內(nèi)所示的每個(gè)布局結(jié)果的 "高度",獲得每個(gè)單元的理想大小。接下來,布局編輯應(yīng)用121與獲 得的沿垂直方向的理想大小相比較地調(diào)整每個(gè)單元的高度。
首先,布局編輯應(yīng)用121獲得用于虛擬布局計(jì)算的容器結(jié)構(gòu)。圖 25和26示出用于虛擬布局計(jì)算的示例性容器結(jié)構(gòu)。
圖25內(nèi)所示的示例性容器結(jié)構(gòu)包括經(jīng)由鏈接1904與紙張邊緣 1902相關(guān)的流動(dòng)區(qū)域1903?,F(xiàn)在假設(shè)流動(dòng)區(qū)域1903可容納沿垂直方 向排列的三個(gè)子模板(即,三行)。
如圖26所示,布局編輯應(yīng)用121通過三個(gè)容器(1908-1910)和 使兩個(gè)或多個(gè)容器相關(guān)的鏈接表示該流動(dòng)區(qū)域的垂直方向,其中每個(gè) 容器具有僅可沿垂直方向改變的任意大小。在圖17的步驟S1705內(nèi), 布局編輯應(yīng)用121生成容器結(jié)構(gòu)的表示(例如,圖26),并將其存儲(chǔ) 在存儲(chǔ)部件136內(nèi)。
布局編輯應(yīng)用121將具有在步驟S1703內(nèi)計(jì)算出的理想垂直尺寸 1905到1907 (即,每一行的最大布局高度)的內(nèi)容數(shù)據(jù)插入在步驟 S1705內(nèi)存儲(chǔ)的容器結(jié)構(gòu)。
然后,布局編輯應(yīng)用121根據(jù)圖7A和7B內(nèi)所示的布局計(jì)算方 法對(duì)插入的內(nèi)容執(zhí)行布局計(jì)算處理。結(jié)果,布局編輯應(yīng)用121參考圖 26內(nèi)所示的鏈接和容器結(jié)構(gòu),計(jì)算各個(gè)容器的最優(yōu)高度1911到1913。 圖27示出表格格式的計(jì)算處理結(jié)果。
在步驟S1706,布局編輯應(yīng)用121存儲(chǔ)在上述計(jì)算中獲得的高度 信息作為每個(gè)單元沿垂直方向的調(diào)整結(jié)果。
參照?qǐng)D28更詳細(xì)地說明上述布局計(jì)算。在本示例性實(shí)施例中, 布局編輯應(yīng)用121基于表格上的每一項(xiàng)具有相似的優(yōu)先級(jí)(強(qiáng)度)的 假設(shè)執(zhí)行布局計(jì)算處理。
在圖28中,固定鏈接2004使三個(gè)容器(即,容器A2001到容器 C2003 )彼此相關(guān)。彈性鏈接2005使容器C2003與紙張邊緣相關(guān)。
盡管如圖28內(nèi)所示的固定鏈接2004具有很大的長度,但是在根
據(jù)表格格式實(shí)際表示它時(shí),固定鏈接2004的長度為0。即使固定鏈接 2004被認(rèn)為在相同布局結(jié)構(gòu)內(nèi)不具有長度,布局計(jì)算也可得到相同的 結(jié)果。
通過鏈接2004相關(guān)的三個(gè)容器A到C的垂直大小總共為60,其 相當(dāng)于形成表格的流動(dòng)區(qū)域的總高度。在此布局中每個(gè)容器的垂直大 小可變。彈性鏈接2005的一端連接到固定邊緣。彈性鏈接2005的長 度為10,該長度可減小到0。
如果內(nèi)容數(shù)據(jù)A,2006到內(nèi)容數(shù)據(jù)C,2008被強(qiáng)行插入圖28內(nèi)的 容器A2001到容器C2003,則此插入生成4艮大的應(yīng)力(即,布局內(nèi)的 負(fù)荷)。
即,每個(gè)內(nèi)容數(shù)據(jù)具有實(shí)際大小(理想大小)。內(nèi)容數(shù)據(jù)A,的 實(shí)際大小為20。內(nèi)容數(shù)據(jù)B,的實(shí)際大小為40。內(nèi)容數(shù)據(jù)C,的實(shí)際大 小為30。在本示例性實(shí)施例中,實(shí)際大小相當(dāng)于在圖17的步驟S1703 內(nèi)獲得的"垂直"大小,其是被插入每個(gè)單元的子模板的布局尺寸之一。 內(nèi)容數(shù)據(jù)A,到C,對(duì)應(yīng)于圖26內(nèi)所示的理想高度1905到1907。
如果保持理想大小,則垂直大小90 ( =20+40+30 )是將內(nèi)容數(shù)據(jù) 布置在各個(gè)容器內(nèi)所必需的。但是,如上所述,內(nèi)容A到C的總長度 (=60)和彈性鏈接2005的長度(=10)限制了該布局。
因?yàn)閺椥枣溄?005可縮短到0而沒有任何應(yīng)力,所以容器A到 C可用的最大大小總共為70 (=60+10)。因此,將內(nèi)容數(shù)據(jù)2006到 2008強(qiáng)行布置在容器2001到2003內(nèi)生成的應(yīng)力為20=90-( 60+10 )。
接下來,布局編輯應(yīng)用121在三個(gè)容器之中劃分上述應(yīng)力。布局 編輯應(yīng)用121使用可使施加在每個(gè)容器上的應(yīng)力最小的最小平方方法 計(jì)算應(yīng)力分配。
如果a、 b和c中的每一個(gè)代表每個(gè)容器的被計(jì)算出的大小,則 下列公式表示等于各個(gè)容器的應(yīng)力的平方和的成本k。
k= ( a-20 ) 2+ ( b-40 ) 2+ ( c-30 ) 2 ( 4 )
根據(jù)本示例性實(shí)施例的自動(dòng)布局系統(tǒng),每個(gè)容器具有相同的優(yōu)先 級(jí),并且下列等式限定了使成本k最小的條件。a-20=b-40=c-30 ( 5 )
此外,被計(jì)算出的布局的大小滿足下列等式。
a+b+c= (60+10 ) ( 6 )
布局編輯應(yīng)用121計(jì)算可滿足等式(5 )和(6 )的每個(gè)容器的最 優(yōu)大小。布局編輯應(yīng)用121獲得的、作用在每個(gè)容器A到C上的應(yīng)力 為6.666。圖28示出計(jì)算出的布局結(jié)果"A"到C" ( 2009到2011)。
如果保持圖26內(nèi)所示的各個(gè)單元的理想垂直尺度l卯5到1907, 則三個(gè)子模板不能被完全包含在流動(dòng)區(qū)域內(nèi)。但是,根據(jù)圖28所示的 方法,布局編輯應(yīng)用121可在考慮每個(gè)單元的理想垂直大小的情況下 實(shí)現(xiàn)最優(yōu)的子模板布局。
即,布局編輯應(yīng)用121從每一行內(nèi)排列的多個(gè)子模板中提取具有 最大垂直大小的子模板。然后,布局編輯應(yīng)用121基于每個(gè)被提取的 子模板的垂直大小和流動(dòng)區(qū)域的垂直大小確定每一行內(nèi)的單元區(qū)域的 垂直大小。每個(gè)單元區(qū)域代表流動(dòng)區(qū)域的被劃分的區(qū)域。
接下來,在圖17的步驟S1707和S1708中,布局編輯應(yīng)用121
根據(jù)類似于沿垂直方向的計(jì)算的方法,基于子模板布局結(jié)果獲得沿列 (水平)方向的最大布局大小。即,布局編輯應(yīng)用121可根據(jù)類似的
處理獲得每個(gè)單元的水平寬度調(diào)整結(jié)果。
即,布局編輯應(yīng)用121從每一列內(nèi)排列的多個(gè)子模板中提取具有 最大水平大小的子模板。然后,布局編輯應(yīng)用121基于每個(gè)被提取的 子模板的水平大小以及流動(dòng)區(qū)域的水平大小,確定每一列內(nèi)的單元區(qū) 域的水平大小。
在完成圖17的步驟S1701到S1708的處理之后,布局編輯應(yīng)用 121合并計(jì)算出的值(即,每一行內(nèi)的高度以及每一列內(nèi)的寬度的調(diào) 整結(jié)果)并確定每個(gè)單元的大小。
在步驟S1709,布局編輯應(yīng)用121使每個(gè)單元的信息(即,每個(gè) 單元的大小以及在流動(dòng)區(qū)域內(nèi)的位置)與對(duì)應(yīng)于每個(gè)單元的子模板布 局結(jié)果相關(guān)。存儲(chǔ)部件136存儲(chǔ)與子模板布局結(jié)果相關(guān)的每個(gè)單元的 信息。即,在步驟S1706,布局編輯應(yīng)用121計(jì)算每一行內(nèi)的子模板(即,獲得的內(nèi)容數(shù)據(jù)被定位在其中的沿行方向排列的子模板)的垂
直大小。在步驟S1708,布局編輯應(yīng)用121計(jì)算每一列內(nèi)的子模板(即, 獲得的內(nèi)容數(shù)據(jù)被定位在其中的沿列方向排列的子模板)的水平大小。
然后,布局編輯應(yīng)用121基于步驟S1706和S1708的計(jì)算結(jié)果, 確定單元區(qū)域(即,流動(dòng)區(qū)域的被劃分的區(qū)域)的區(qū)域大小。通過圖 17的處理,布局編輯應(yīng)用121可使沿列方向(即,垂直方向)排列的 每個(gè)區(qū)域的水平大小相等,還可使沿行方向(即,水平方向)排列的 每個(gè)區(qū)域的垂直大小相等。布局編輯應(yīng)用121將流動(dòng)區(qū)域劃分成具有 被確定的區(qū)域大小的多個(gè)區(qū)域。
存儲(chǔ)部件136存儲(chǔ)流動(dòng)區(qū)域的大小、各個(gè)單元的寬度/高度信息 以及內(nèi)容數(shù)據(jù)被注入其中的子模板。
在步驟S1710,布局編輯應(yīng)用121基于從步驟S1701到S1709的 上述處理得到的信息顯示最終布局結(jié)果。圖19是示出步驟S1710的 布局結(jié)果顯示處理的細(xì)節(jié)的流程圖。
在步驟S1742,布局編輯應(yīng)用121從存儲(chǔ)部件136獲得被最終確 定的子模板的布局。在步驟S1743,布局編輯應(yīng)用121從存儲(chǔ)圖17的 步驟S1709內(nèi)的信息的存儲(chǔ)部件136獲得與各個(gè)子模板相關(guān)的每個(gè)單 元的位置。
在步驟S1744,布局編輯應(yīng)用121獲得用戶可通過圖12的設(shè)置 屏幕設(shè)置的顯示方法和定位方法。在步驟S1745,布局編輯應(yīng)用121 將第 一子模板定位在與此子模板相關(guān)的單元位置。
如果子模板的大小與相關(guān)單元的大小不匹配,則布局編輯應(yīng)用 121在步驟S1744內(nèi)執(zhí)行縮放(放大/縮小)處理和移位處理。在步驟 S1741,布^編輯應(yīng)用121確定對(duì)所有單元的處理是否已經(jīng)完成。如 果對(duì)所有單元的處理還未完成(步驟S1741內(nèi)否),則處理流程前進(jìn) 到步驟S1742以重復(fù)上述處理。
即,布局編輯應(yīng)用121確定每個(gè)子模板的大小,以便子模板一定 能被包含在被確定的單元區(qū)域內(nèi)。布局編輯應(yīng)用121顯示包含被定位 在每個(gè)子模板內(nèi)的內(nèi)容數(shù)據(jù)的輸出結(jié)果。
圖24示出布局編輯應(yīng)用121在步驟S1710內(nèi)可獲得的示例性顯 示結(jié)果。根據(jù)圖24內(nèi)所示的示例性布局,盡管子模板的高寬比可改變, 但是每個(gè)單元可完全包含所有子模板。
更具體地說,布局編輯應(yīng)用121縮小大的子模板U)和(e), 從而每個(gè)單元可完全包含所有子模板。布局編輯應(yīng)用121放大小的子 模板(c)和(f),從而每個(gè)子模板具有最小的空白空間。
根據(jù)另一種縮放(放大/縮小)方法,布局編輯應(yīng)用121可"保持 每個(gè)子模板的原始大小","在保持子模板的高寬比的同時(shí)放大/縮小子 模板","在改變子模板的高寬比的同時(shí)將所有子模板定位在單元內(nèi)", 或者"在改變文本數(shù)據(jù)的高寬比的同時(shí)(同時(shí)保持圖像數(shù)據(jù)的高寬比) 將所有子模板定位在單元內(nèi)"。
如果選擇的縮放方法是"保持每個(gè)子模板的原始大小",則當(dāng)單元 不能包含子模板的一部分時(shí),布局編輯應(yīng)用121切除(削減)此部分。 另一方面,單元內(nèi)會(huì)仍有大的未用空間。類似地,如果選擇的縮放方
法是"在保持子模板的高寬比的同時(shí)放大/縮小子模板,,,單元可包括很 大的未用空間。
如果縮放方法被固定為"保持每個(gè)子模板的原始大小"或"在保持 子模板的高寬比的同時(shí)放大/縮小子模板",則布局編輯應(yīng)用121允許 用戶設(shè)置用于在單元內(nèi)移動(dòng)子模板以獲得優(yōu)選的顯示結(jié)果的移位方 法。
示例性的移位方法可包括"向左移動(dòng)"、"向右移動(dòng)"、"向上移動(dòng)"、 "向下移動(dòng)"、"移至垂直中心"、"移至水平中心"和它們的組合。
在實(shí)際使用中,用戶可在考慮將被創(chuàng)建的每個(gè)文檔的希望的外觀 的情況下確定縮放(放大/縮小)方法和移位方法。
如果選擇的縮放方法為"在改變文本數(shù)據(jù)的高寬比的同時(shí)(同時(shí) 保持圖像數(shù)據(jù)的高寬比)將所有子模板定位在單元內(nèi)",則布局編輯應(yīng) 用121保持圖像數(shù)據(jù)的高寬比并改變文本數(shù)據(jù)的高寬比,以便所有子 模板的總大小與單元的大小一致。
如上所述,根據(jù)本示例性實(shí)施例,當(dāng)用戶指示進(jìn)行表格格式布局
時(shí),布局編輯應(yīng)用121確定每一行內(nèi)的理想單元的垂直大小,并且還 確定每一列內(nèi)的理想單元的水平大小。然后,布局編輯應(yīng)用121調(diào)整 每個(gè)單元的大小,以便每個(gè)單元的大小類似于理想單元的大小并且所 有單元可被全部包含在流動(dòng)區(qū)域內(nèi)。布局編輯應(yīng)用121在流動(dòng)區(qū)域內(nèi) 設(shè)置被調(diào)整的單元。然后,布局編輯應(yīng)用121將子模板定位在單元內(nèi)。 因此,本示例性實(shí)施例實(shí)現(xiàn)了可反映內(nèi)容數(shù)據(jù)的所需大小以及沿垂直 方向和水平方向的所需比率的最優(yōu)表格格式布局。 第二示例性實(shí)施例
用于將子模板定位在單元內(nèi)的優(yōu)選方法并不局限于第一示例性 實(shí)施例內(nèi)所述的方法。例如,根據(jù)內(nèi)容數(shù)據(jù)將兩個(gè)或更多個(gè)單元用于 單個(gè)子模板可能是有用的,并且可實(shí)現(xiàn)多種表示。為此,第二示例性 實(shí)施例說明了 一種能夠?qū)⒍鄠€(gè)單元用于一個(gè)子模板的布局的技術(shù)。
為了顯示組合(連接或集成)單元,本示例性實(shí)施例使用戶能夠 指定表示一條記錄的兩個(gè)或更多個(gè)相鄰單元。圖29示出根據(jù)XML格 式描述指定方法的示例性數(shù)據(jù)庫的一部分。圖29的示例性數(shù)據(jù)庫在一 對(duì)〈record〉標(biāo)簽之間包括記錄。每條記錄在一對(duì)〈cell—usage〉標(biāo)簽之間 包括關(guān)于單元使用的描述,其中〈horizontal〉行指定沿水平方向排列 的單元的數(shù)量,而〈verticah行指定沿垂直方向排列的單元的數(shù)量。即, 圖29內(nèi)所示的示例指示如標(biāo)號(hào)2卯1指示的那樣沿水平方向使用兩個(gè) 單元,以及如標(biāo)號(hào)2902指示的那樣沿垂直方向使用兩個(gè)單元。圖29 的數(shù)據(jù)庫包括^ata〉塊,其中〈Datal〉表示此記錄內(nèi)包含的字段名。
圖30是示出用于根據(jù)數(shù)據(jù)庫內(nèi)描述的指令將流動(dòng)區(qū)域劃分成多 個(gè)單元的處理的流程圖。
在本示例性實(shí)施例中,布局編輯應(yīng)用121從左至右依次定位子模 板,并從上至下依次重復(fù)子模板。但是,布局編輯應(yīng)用121可使用用 于將子模板定位在流動(dòng)區(qū)域內(nèi)的任何其它的定位方法。
在步驟S2101,布局編輯應(yīng)用121從子數(shù)據(jù)庫獲得單元的數(shù)量 (即,流動(dòng)區(qū)域內(nèi)的且沿垂直和水平方向布置的多個(gè)被劃分的區(qū)域的 數(shù)量)。更具體地說,布局編輯應(yīng)用121訪問子數(shù)據(jù)庫的內(nèi)容,并參 考〈cell一usage〉標(biāo)簽之間描述的信息獲得指定的單元數(shù)量。例如,從圖 29的子數(shù)據(jù)庫中,布局編輯應(yīng)用121識(shí)別沿垂直和水平方向的每一個(gè) 指定的單元數(shù)量都是"2"。
在步驟S2102,布局編輯應(yīng)用121生成標(biāo)記的二維數(shù)組D,其中 每個(gè)標(biāo)記指示對(duì)應(yīng)的單元的使用狀態(tài)。布局編輯應(yīng)用121將所有標(biāo)記 值初始化為指示"空,,的"O"。然后,布局編輯應(yīng)用121將當(dāng)前的處理位 置設(shè)置為[l,l。根據(jù)圖22內(nèi)所示的示例,沿垂直方向的所需單元數(shù)量 為3,而沿水平方向的所需單元數(shù)量為2。因此,布局編輯應(yīng)用121 生成標(biāo)記的2x3數(shù)組D,并將所有標(biāo)記值初始化為0。
在步驟S2103,布局編輯應(yīng)用121確定數(shù)據(jù)庫內(nèi)是否仍存在任何 未被處理的記錄。如果布局編輯應(yīng)用121確定數(shù)據(jù)庫內(nèi)仍存在至少一 條記錄(步驟S2103內(nèi)的是),則處理流程前進(jìn)到步驟S2104。在步 驟S2104,布局編輯應(yīng)用121從子數(shù)據(jù)庫獲得記錄(處理對(duì)象)。
在步驟S2105,布局編輯應(yīng)用121確定數(shù)組D的所有標(biāo)記是否都 為0。數(shù)組D包括對(duì)應(yīng)于指定的單元數(shù)量的多個(gè)標(biāo)記。例如,如果記 錄(布局對(duì)象)沿水平方向需要兩個(gè)單元而沿垂直方向需要2個(gè)單元, 則在步驟S2105,布局編輯應(yīng)用121確認(rèn)對(duì)應(yīng)于當(dāng)前處理位置[1,1以 及此位置[1,1后的另外三個(gè)位置[2,1、[1,2、[2,2的標(biāo)記。
如果布局編輯應(yīng)用121確定所有標(biāo)記為0(步驟S2105內(nèi)的是), 則處理流程前進(jìn)到步驟S2106。在步驟S2106,布局編輯應(yīng)用121將 每個(gè)標(biāo)記改變?yōu)橹甘?使用過"的"l"。在步驟S2107,布局編輯應(yīng)用 121使用過的單元的數(shù)量與記錄信息相關(guān),并且存儲(chǔ)部件136存儲(chǔ)它 們。
如果布局編輯應(yīng)用121確定至少一個(gè)標(biāo)記不為0 (步驟S2105內(nèi) 的否),則處理流程前進(jìn)到步驟S2108。在步驟S2108,布局編輯應(yīng) 用121將當(dāng)前處理位置移動(dòng)到下一個(gè)單元。在步驟S2109,布局編輯 應(yīng)用121確定對(duì)應(yīng)于當(dāng)前處理位置的單元是否為空(標(biāo)記=0)。如果 布局編輯應(yīng)用121確定對(duì)應(yīng)于當(dāng)前處理位置的單元不為空(步驟S2109 內(nèi)的否),則處理流程返回步驟S2108以重復(fù)上述處理。
在步驟S2110,布局編輯應(yīng)用121將當(dāng)前處理位置移動(dòng)到下一個(gè) 單元(即,下一個(gè)開始點(diǎn))。在步驟S2111,布局編輯應(yīng)用121確定 對(duì)應(yīng)于當(dāng)前處理位置的單元是否為空(標(biāo)記=0)。如果布局編輯應(yīng)用 121確定對(duì)應(yīng)于當(dāng)前處理位置的單元不為空(步驟S2111內(nèi)的否), 則處理流程返回步驟S2110以重復(fù)上述處理。如果布局編輯應(yīng)用121 確定對(duì)應(yīng)于當(dāng)前處理位置的單元為空(步驟S2111內(nèi)的是),則處理 流程返回步驟S2102以執(zhí)行用于設(shè)置當(dāng)前單元位置的處理。
在完成圖30的處理之后,布局編輯應(yīng)用121根據(jù)第一示例性實(shí) 施例內(nèi)說明的處理方法顯示子模板以及將基于在步驟S2107內(nèi)存儲(chǔ)的 單元信息而布置的記錄。
圖31示出從圖30的上述處理獲得的處理結(jié)果的示例。
在圖31中,流動(dòng)區(qū)域3101包括多個(gè)單元區(qū)域,該單元區(qū)域根據(jù) 第一示例性實(shí)施例的處理被劃分為具有合適的單元大小。
在圖31中顯而易見,每條記錄的布局需要通過第二示例性實(shí)施 例的處理而確定的一個(gè)或多個(gè)單元(3102)。
例如,沿水平方向組合的兩個(gè)單元構(gòu)成用于記錄l、記錄5和記 錄7的內(nèi)容數(shù)據(jù)的每個(gè)子模板。即,記錄l的布局沿垂直方向需要一 個(gè)單元而沿水平方向需要兩個(gè)單元。
此外,沿垂直方向組合的兩個(gè)單元構(gòu)成用于記錄6的內(nèi)容數(shù)據(jù)的 子模板。即,記錄6的布局沿垂直方向需要兩個(gè)單元而沿水平方向需 要一個(gè)單元。
如果根據(jù)本示例性實(shí)施例的處理方法不可用于設(shè)置大小相互不 同的子模板,則可強(qiáng)調(diào)每個(gè)優(yōu)惠商品的內(nèi)容數(shù)據(jù),這是因?yàn)楫?dāng)內(nèi)容數(shù) 據(jù)的大小增加時(shí),子模板的大小會(huì)相應(yīng)增加。但是,獲得的布局結(jié)果 可能遠(yuǎn)非良好平衡的布局。
另一方面,本示例性實(shí)施例使用戶能夠?qū)⑷我鈹?shù)量的單元用于記 錄的子模板,并可實(shí)現(xiàn)復(fù)雜的且良好平衡的表格格式布局。例如,在 創(chuàng)建廣告時(shí),用戶可通過如圖31內(nèi)所示的那樣為特定項(xiàng)(例如,優(yōu)惠 商品)分配大量的單元來強(qiáng)調(diào)該特定項(xiàng)。第三示例性實(shí)施例
根據(jù)上述第一和第二示例性實(shí)施例,用戶在圖16的標(biāo)題部分 1601內(nèi)的指定確定了記錄被注入其中的子模板的位置。例如,根據(jù)指 示兩列和三行的標(biāo)題部分1601,布局編輯應(yīng)用121確定用于第三條記 錄的子模板的位置是"第二行的第一列"。但是,使用圖16的標(biāo)題部分 1601進(jìn)行措定會(huì)降低用戶的可操作性。
鑒于上文,本示例性實(shí)施例提供了一種被配置成在不使用圖16 的標(biāo)題1601進(jìn)行用戶指定的情況下生成表格格式布局結(jié)果的系統(tǒng)。
圖37示出根據(jù)第三示例性實(shí)施例的示例性數(shù)據(jù)庫,其不包括圖 16內(nèi)所示的行數(shù)/列數(shù)的指定。
圖38示出根據(jù)第三示例性實(shí)施例的使用戶能夠設(shè)置條件式(為 流動(dòng)區(qū)域設(shè)置的提取條件)的UI。圖38的示例性設(shè)置指示如果項(xiàng) "Datal (數(shù)據(jù)1)"是"sca隱r (掃描儀)"或"printer (打印機(jī)),,, 則用戶指定子模板1,并且如果項(xiàng)"Datal"是"multifunction peripheral (多功能外設(shè)),,或"personal computer (個(gè)人計(jì)算機(jī))",則用戶指 定子模板2。
圖39示出根據(jù)第三示例性實(shí)施例的示例性子模板。子模板3卯1 是子模板1,而子模板3902是子模板2,它們由用戶通過使用圖38 內(nèi)示出的操作屏幕來指定。
圖41是示出根據(jù)第三示例性實(shí)施例的布局處理的流程圖。
在步驟S4101,布局編輯應(yīng)用121獲得記錄。在步驟S4102,布 局編輯應(yīng)用121分析獲得的記錄內(nèi)包含的內(nèi)容數(shù)據(jù),并確定該記錄被 定位在其中的子模板。
在步驟S4103,布局編輯應(yīng)用121確定是否存在任何其它滿足用 戶使用圖38內(nèi)所示的UI而設(shè)置的提取條件的記錄。
如果布局編輯應(yīng)用121確定存在記錄(布局對(duì)象)(步驟S4103 內(nèi)的是),則處理流程前進(jìn)到步驟S4104。在步驟S4104,布局編輯 應(yīng)用121獲得下一條記錄,并確定該記錄被定位在其中的子模板。在 步驟S4105,布局編輯應(yīng)用121確定是否存在指示類似于在步驟S4104內(nèi)確定的子模板的子模板的使用的任何信息。
如果布局編輯應(yīng)用121確定沒有使用類似的子模板(步驟S4105 內(nèi)的否),則處理流程前進(jìn)到步驟S4107。在步驟S4107,布局編輯 應(yīng)用121確定將該記錄的子模板定位在新的一行或新的一列內(nèi)。
如果布局編輯應(yīng)用121確定使用了類似的子模板(步驟S4105內(nèi) 的是),則處理流程前進(jìn)到步驟S4106。在步驟S4106,布局編輯應(yīng) 用121確定將該記錄的子模板定位在相同的行或相同的列內(nèi)。
在完成了用于確定每個(gè)子模板的定位(位置)的處理之后,布局 編輯應(yīng)用121執(zhí)行第一和第二示例性實(shí)施例內(nèi)所述的大小確定處理。
此外,用戶可預(yù)先確定相同的子模板沿行和列方向的定位。
通過執(zhí)行圖41的處理,即使當(dāng)沒有在數(shù)據(jù)庫內(nèi)指定行數(shù)和列數(shù) 時(shí),布局編輯應(yīng)用121仍可將相同的子模板定位在相同的行或相同的 列內(nèi),因此可生成圖40內(nèi)所示的表格格式布局結(jié)果。
即,第一和第二示例性實(shí)施例使用戶能夠在數(shù)據(jù)庫內(nèi)指定列數(shù), 并將對(duì)應(yīng)于被指定的列數(shù)的連續(xù)記錄定位在相同的行內(nèi)。例如,如果 被指定的列數(shù)為3,則第一和第二示例性實(shí)施例將三條連續(xù)記錄定位 在相同的行內(nèi)。但是,本示例性實(shí)施例將使用相同或相似的子模板的 記錄定位在相同的行或相同的列內(nèi)。本示例性實(shí)施例可生成表格格式 布局結(jié)果而無需使用在第一實(shí)施例或第二實(shí)施例內(nèi)所述的數(shù)據(jù)庫。
圖42示出根據(jù)本發(fā)明的示例性實(shí)施例的信息處理裝置(主機(jī)) 101的功能模塊。信息處理裝置101被配置成使用戶能夠?yàn)榱鲃?dòng)區(qū)域 設(shè)置提取條件,根據(jù)該提取條件可從數(shù)據(jù)庫中提取內(nèi)容數(shù)據(jù),并確定 包括子模板的流動(dòng)區(qū)域的布局,該被提取的內(nèi)容數(shù)據(jù)可被定位在該子 模板內(nèi)。獲取部件4201被配置成從數(shù)據(jù)庫獲得滿足提取條件的內(nèi)容數(shù) 據(jù)。
第一確定部件4202被配置成基于每一行內(nèi)的垂直子模板大小和 每一列內(nèi)的水平子模板大小,確定構(gòu)成流動(dòng)區(qū)域的每個(gè)單元區(qū)域的區(qū) 域大小,其中通過獲取部件4201獲得的內(nèi)容數(shù)據(jù)被定位在多個(gè)子模板 內(nèi),每一行內(nèi)的垂直子模板大小是選自沿代表水平方向的行方向排列
的多個(gè)子模板,且每一列內(nèi)的水平子模板大小是選自沿代表垂直方向
的列方向排列的多個(gè)子模板。定位部件4203被配置成確定每個(gè)子模板 的大小以便子模板被包含在具有第一確定部件4202確定的區(qū)域大小 的單元區(qū)域內(nèi),并將內(nèi)容數(shù)據(jù)定位在該子模板內(nèi)。
確定部件4204確定包括獲取部件4201獲得的多個(gè)內(nèi)容數(shù)據(jù)的記 錄的布局是否需要多個(gè)單元區(qū)域。第二確定部件4205根據(jù)將被定位在 子模板的局部區(qū)域內(nèi)的內(nèi)容數(shù)據(jù)所需的大小,確定該局部區(qū)域的大小。
劃分部件4206參照第一確定部件4202確定的區(qū)域大小,將流動(dòng) 區(qū)域劃分成多個(gè)單元區(qū)域。第三確定部件4207確定該獲取部件獲得的 內(nèi)容數(shù)據(jù)被定位在其中的子模板。
此外,用于實(shí)現(xiàn)上述示例性實(shí)施例的功能的軟件程序代碼可被提 供給包含各種設(shè)備的系統(tǒng)或裝置。系統(tǒng)或裝置內(nèi)的計(jì)算機(jī)(或CPU 或微處理單元(MPU))可執(zhí)行該程序(即,對(duì)應(yīng)于示例性實(shí)施例的 每個(gè)流程圖的程序)以操作設(shè)備來實(shí)現(xiàn)上述示例性實(shí)施例的功能。因 此,本發(fā)明包括當(dāng)示例性實(shí)施例的功能或過程可由計(jì)算機(jī)實(shí)現(xiàn)時(shí)可安 裝在計(jì)算機(jī)上的程序代碼。
在此情況下,程序代碼本身可實(shí)現(xiàn)示例性實(shí)施例的功能。程序的 等同物如果具有相當(dāng)?shù)墓δ埽瑒t也可使用。此外,本發(fā)明包括通過存 儲(chǔ)程序代碼的存儲(chǔ)(或記錄)介質(zhì)將程序代碼提供給計(jì)算機(jī)。在此情 況下,程序的類型可以是目標(biāo)代碼、解釋程序和OS腳本數(shù)據(jù)中的任 何一個(gè)。提供程序的存儲(chǔ)介質(zhì)可選自軟盤、硬盤、光盤、磁光(MO) 盤、光盤-ROM( CD-ROM )、可記錄CD( CD-R )、可重寫CD( CD-W )、 磁帶、非易失性存儲(chǔ)卡、ROM和DVD (DVD-ROM , DVD-R)中的 任何一個(gè)。
用于提供程序的方法包括當(dāng)因特網(wǎng)上的網(wǎng)站允許每個(gè)用戶將本 發(fā)明的計(jì)算機(jī)程序或具有自動(dòng)安裝功能的程序的壓縮文件下載到用戶 的硬盤或其它記錄介質(zhì)內(nèi)時(shí),使用客戶計(jì)算機(jī)的瀏覽功能訪問該網(wǎng)站。 此外,構(gòu)成本發(fā)明的程序的程序代碼可被分成多個(gè)文件,以便可從不 同的網(wǎng)站下載各個(gè)文件。即,本發(fā)明包括允許大量用戶下載程序文件
以便本發(fā)明的功能或處理可在他們的計(jì)算機(jī)上實(shí)現(xiàn)的萬維網(wǎng)(WWW )
服務(wù)器。
當(dāng)本發(fā)明的程序被分發(fā)給用戶時(shí),將本發(fā)明的程序加密并將被加
密的程序存儲(chǔ)在CD-ROM或相當(dāng)?shù)挠涗浗橘|(zhì)上是一種示例性方法。 被授權(quán)用戶(即,滿足預(yù)定條件的用戶)被允許從因特網(wǎng)的網(wǎng)頁上下 載密鑰信息。用戶可使用獲得的密鑰信息將程序解密,并將程序安裝 在他們的計(jì)算機(jī)上。當(dāng)計(jì)算機(jī)讀取并執(zhí)行安裝的程序時(shí),可實(shí)現(xiàn)上述 示例性實(shí)施例的功能。
此外,在計(jì)算機(jī)上運(yùn)行的操作系統(tǒng)(OS)或其它應(yīng)用軟件可基 于程序的指令執(zhí)行實(shí)際處理的一部分或全部。另外,從存儲(chǔ)介質(zhì)讀出 的程序代碼可被寫入計(jì)算機(jī)內(nèi)配備的功能擴(kuò)展板的存儲(chǔ)器,或可被寫 入連接到計(jì)算機(jī)上的功能擴(kuò)展部件的存儲(chǔ)器。在此情況下,基于程序 的指令,功能擴(kuò)展板或功能擴(kuò)展部件上的中央處理單元(CPU)可執(zhí) 行處理的一部分或全部,從而可實(shí)現(xiàn)上述示例性實(shí)施例的功能。
盡管已經(jīng)參照示例性說明了本發(fā)明,但是應(yīng)理解,本發(fā)明并不局 限于公開的示例性實(shí)施例。下列權(quán)利要求的范圍應(yīng)被給予最寬泛的解 釋以便包含所有修改、等同結(jié)構(gòu)和功能。
權(quán)利要求
1.一種被配置成存儲(chǔ)具有流動(dòng)區(qū)域的模板并通過使用包括子模板的流動(dòng)區(qū)域來確定布局的信息處理裝置,其中,在該流動(dòng)區(qū)域中設(shè)置了從數(shù)據(jù)庫提取內(nèi)容數(shù)據(jù)的提取條件,并且在所述子模板中定位了被提取的內(nèi)容數(shù)據(jù),該信息處理裝置包括獲取部件,被配置成從數(shù)據(jù)庫獲取滿足提取條件的內(nèi)容數(shù)據(jù);第一確定部件,被配置成基于每一行內(nèi)的垂直子模板大小和每一列內(nèi)的水平子模板大小來確定構(gòu)成流動(dòng)區(qū)域的每個(gè)單元區(qū)域的區(qū)域大小,其中該獲取部件獲取的內(nèi)容數(shù)據(jù)被插入多個(gè)子模板,每一行內(nèi)的垂直子模板大小選自沿代表水平方向的行方向排列的多個(gè)子模板,而每一列內(nèi)的水平子模板大小選自沿代表垂直方向的列方向排列的多個(gè)子模板;以及定位部件,被配置成確定每個(gè)子模板的大小以便使這些子模板被包含在具有該第一確定部件確定的區(qū)域大小的單元區(qū)域內(nèi),并將內(nèi)容數(shù)據(jù)插入在這些子模板內(nèi)。
2. 根據(jù)權(quán)利要求l的信息處理裝置,其中所述第一確定部件使 沿代表垂直方向的列方向排列的每個(gè)單元區(qū)域的水平大小相等,并使 沿代表水平方向的行方向排列的每個(gè)單元區(qū)域的垂直大小相等。
3. 根據(jù)權(quán)利要求l的信息處理裝置,其中所述第一確定部件從 沿行方向排列的多個(gè)子模板中提取具有最大垂直大小的子模板,基于 每一行內(nèi)的被提取的垂直子模板大小和流動(dòng)區(qū)域的垂直大小,確定每 一行內(nèi)的單元區(qū)域的垂直大小,從在每一列內(nèi)排列的多個(gè)子模板中提 取具有最大水平大小的子模板,基于每一列內(nèi)的被提取的水平子模板 大小和流動(dòng)區(qū)域的水平大小,確定每一列內(nèi)的單元區(qū)域的水平大小, 并且第一確定部件基于被確定的垂直和水平大小,確定每個(gè)單元區(qū)域 的區(qū)域大小。
4. 根據(jù)權(quán)利要求l的信息處理裝置,其中所述定位部件改變每 個(gè)子模板的大小以便使該子模板被包含在具有所述第一確定部件確定的區(qū)域大小的對(duì)應(yīng)的單元區(qū)域內(nèi),并將這些子模板定位在這些單元區(qū) 域內(nèi)。
5. 根據(jù)權(quán)利要求l的信息處理裝置,其中當(dāng)任意子模板被定位 在任意區(qū)域內(nèi)時(shí),所述定位部件改變每個(gè)任意子模板的大小以便每個(gè) 任意子模板的大小符合對(duì)應(yīng)的任意區(qū)域的大小,并將該任意子模板定 位在該任意區(qū)域內(nèi)。
6. 根據(jù)權(quán)利要求5的信息處理裝置,其中當(dāng)所述定位部件改變 每個(gè)任意子模板的大小以便每個(gè)任意子模板的大小符合對(duì)應(yīng)的任意區(qū) 域的大小時(shí),該定位部件改變子模板的大小而不需保持其高寬比,并 且在保持子模板內(nèi)包含的圖像數(shù)據(jù)用的局部區(qū)域的圖像數(shù)據(jù)的高寬比 的同時(shí)改變子模板的大小。
7. 根據(jù)權(quán)利要求l的信息處理裝置,還包括確定部件,被配 置成確定包括所述獲取部件獲得的多個(gè)內(nèi)容數(shù)據(jù)的記錄的布局是否需 要兩個(gè)或更多個(gè)單元區(qū)域,其中當(dāng)該確定部件確定該布局需要兩個(gè)或 更多個(gè)單元時(shí),該定位部件使用所需數(shù)量的多個(gè)單元區(qū)域來定位子模板。
8. 根據(jù)權(quán)利要求l的信息處理裝置,還包括第二確定部件, 被配置成根據(jù)將被定位在子模板的局部區(qū)域內(nèi)的內(nèi)容數(shù)據(jù)所需的大 小,確定該局部區(qū)域的大小,其中該第二確定部件根據(jù)被確定的該局 部區(qū)域的大小,確定子模板的大小。
9. 根據(jù)權(quán)利要求l的信息處理裝置,還包括劃分部件,被配 置成參考所述第一確定部件確定的區(qū)域大小,將流動(dòng)區(qū)域劃分成多個(gè) 單元區(qū)域。
10. 根據(jù)權(quán)利要求l的信息處理裝置,還包括第三確定部件, 被配置成確定所述獲取部件獲得的內(nèi)容數(shù)據(jù)被定位在其中的子模板, 其中當(dāng)該第三確定部件確定的子模板具有多種類型時(shí),該定位部件將 類似的子模板定位在相同的行或相同的列內(nèi)。
11. 一種用于信息處理裝置的方法,該信息處理裝置被配置成存 儲(chǔ)具有流動(dòng)區(qū)域的模板并通過使用包括子模板的流動(dòng)區(qū)域來確定布 局,其中,在該流動(dòng)區(qū)域中設(shè)置了從數(shù)據(jù)庫提取內(nèi)容數(shù)據(jù)的提取條件,并且在所述子模板中定位了被提取的內(nèi)容數(shù)據(jù),所述方法包括從數(shù)據(jù)庫獲取滿足提取條件的內(nèi)容數(shù)據(jù);基于每一行內(nèi)的垂直子模板大小和每一列內(nèi)的水平子模板大小 來確定構(gòu)成流動(dòng)區(qū)域的每個(gè)單元區(qū)域的區(qū)域大小,其中所獲得的內(nèi)容 數(shù)據(jù)被插入多個(gè)子模板,每一行內(nèi)的垂直子模板大小選自沿代表水平 方向的行方向排列的多個(gè)子模板,而每一列內(nèi)的水平子模板大小選自 沿代表垂直方向的列方向排列的多個(gè)子模板;確定每個(gè)子模板的大小以便該子模板被包含在具有該被確定的 區(qū)域大小的單元區(qū)域內(nèi);以及將內(nèi)容數(shù)據(jù)插入在子模板內(nèi)。
12. 根據(jù)權(quán)利要求11的方法,還包括使沿垂直列方向排列的 每個(gè)單元區(qū)域的水平大小相等,并使沿水平行方向排列的每個(gè)單元區(qū) 域的垂直大小相等。
13. 根據(jù)權(quán)利要求11的方法,還包括從沿行方向排列的多個(gè) 子模板中提取具有最大垂直大小的子模板,基于每一行內(nèi)的被提取的 垂直子模板大小和流動(dòng)區(qū)域的垂直大小,確定每一行內(nèi)的單元區(qū)域的 垂直大小,從每一列內(nèi)排列的多個(gè)子模板中提取具有最大水平大小的 子模板,基于每一列內(nèi)的被提取的水平子模板大小和流動(dòng)區(qū)域的水平 大小,確定每一列內(nèi)的單元區(qū)域的水平大小,并且基于被確定的垂直 和水平大小,確定每個(gè)單元區(qū)域的區(qū)域大小。
14. 根據(jù)權(quán)利要求ll的方法,還包括改變每個(gè)子模板的大小, 以便該子模板被包含在具有被確定的區(qū)域大小的對(duì)應(yīng)的單元區(qū)域內(nèi), 并將該子模板定位在該單元區(qū)域內(nèi)。
15. 根據(jù)權(quán)利要求11的方法,還包括當(dāng)任意子模板被定位在 任意區(qū)域內(nèi)時(shí),改變每個(gè)任意子模板的大小,以便每個(gè)任意子模板的 大小符合對(duì)應(yīng)的任意區(qū)域的大小,并將該任意子模板定位在該任意區(qū) 域內(nèi)。
16. 根據(jù)權(quán)利要求15的方法,其中當(dāng)改變每個(gè)任意子模板的大 小以便每個(gè)任意子模板的大小符合對(duì)應(yīng)的任意區(qū)域的大小時(shí),所述方法還包括改變子模板的大小而不需保持其高寬比,并且在保持子模 板內(nèi)包含的圖像數(shù)據(jù)用的局部區(qū)域的高寬比的同時(shí)改變?cè)撟幽0宓拇?小。
17. 根據(jù)權(quán)利要求11的方法,還包括確定包括多個(gè)內(nèi)容數(shù)據(jù) 的記錄的布局是否需要兩個(gè)或更多個(gè)單元區(qū)域,并且當(dāng)確定該布局需 要兩個(gè)或更多個(gè)單元時(shí),使用所需數(shù)量的多個(gè)單元區(qū)域來定位子模板。
18. 根據(jù)權(quán)利要求11的方法,還包括根據(jù)將被定位在子模板 的局部區(qū)域內(nèi)的內(nèi)容數(shù)據(jù)所需的大小,確定該局部區(qū)域的大小,并根 據(jù)被確定的該局部區(qū)域的大小而確定子模板的大小。
19. 根據(jù)權(quán)利要求11的方法,還包括參考該被確定的每個(gè)單 元區(qū)域的區(qū)域大小,將流動(dòng)區(qū)域劃分成多個(gè)單元區(qū)域。
20. 根據(jù)權(quán)利要求11的方法,還包括確定所獲得的內(nèi)容數(shù)據(jù) 被定位在其中的子模板,并且當(dāng)該子模板具有多種類型時(shí),將類似的 子模板定位在相同的行或相同的列內(nèi)。
全文摘要
公開了一種信息處理裝置、控制方法以及計(jì)算機(jī)可讀介質(zhì),其中,自動(dòng)布局處理包括基于沿行方向排列的子模板的垂直大小和沿列方向排列的子模板的水平大小確定區(qū)域大小,并將每個(gè)子模板定位在對(duì)應(yīng)的區(qū)域內(nèi)。
文檔編號(hào)G06F17/21GK101183353SQ20071016947
公開日2008年5月21日 申請(qǐng)日期2007年11月16日 優(yōu)先權(quán)日2006年11月17日
發(fā)明者尾坂齊 申請(qǐng)人:佳能株式會(huì)社