KR100821449B1 - 레이아웃 조정 방법 및 장치 - Google Patents

레이아웃 조정 방법 및 장치 Download PDF

Info

Publication number
KR100821449B1
KR100821449B1 KR1020050008081A KR20050008081A KR100821449B1 KR 100821449 B1 KR100821449 B1 KR 100821449B1 KR 1020050008081 A KR1020050008081 A KR 1020050008081A KR 20050008081 A KR20050008081 A KR 20050008081A KR 100821449 B1 KR100821449 B1 KR 100821449B1
Authority
KR
South Korea
Prior art keywords
link
partial regions
layout
size
container
Prior art date
Application number
KR1020050008081A
Other languages
English (en)
Other versions
KR20050078236A (ko
Inventor
고바시가즈후미
하라겐따
마끼노준
Original Assignee
캐논 가부시끼가이샤
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 캐논 가부시끼가이샤 filed Critical 캐논 가부시끼가이샤
Publication of KR20050078236A publication Critical patent/KR20050078236A/ko
Application granted granted Critical
Publication of KR100821449B1 publication Critical patent/KR100821449B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/103Formatting, i.e. changing of presentation of documents
    • G06F40/106Display of layout of documents; Previewing
    • FMECHANICAL ENGINEERING; LIGHTING; HEATING; WEAPONS; BLASTING
    • F26DRYING
    • F26BDRYING SOLID MATERIALS OR OBJECTS BY REMOVING LIQUID THEREFROM
    • F26B5/00Drying solid materials or objects by processes not involving the application of heat
    • FMECHANICAL ENGINEERING; LIGHTING; HEATING; WEAPONS; BLASTING
    • F26DRYING
    • F26BDRYING SOLID MATERIALS OR OBJECTS BY REMOVING LIQUID THEREFROM
    • F26B21/00Arrangements or duct systems, e.g. in combination with pallet boxes, for supplying and controlling air or gases for drying solid materials or objects
    • F26B21/001Drying-air generating units, e.g. movable, independent of drying enclosure
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/166Editing, e.g. inserting or deleting
    • G06F40/186Templates
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04RLOUDSPEAKERS, MICROPHONES, GRAMOPHONE PICK-UPS OR LIKE ACOUSTIC ELECTROMECHANICAL TRANSDUCERS; DEAF-AID SETS; PUBLIC ADDRESS SYSTEMS
    • H04R25/00Deaf-aid sets, i.e. electro-acoustic or electro-mechanical hearing aids; Electric tinnitus maskers providing an auditory perception

Abstract

본 발명은 할당된 데이터에 기초하여 화상이 시각적으로 묘화되는 복수의 부분 영역의 페이지 내의 레이아웃을 표현하는 레이아웃 정보에 기초하여 페이지의 레이아웃을 결정하는 레이아웃 조정 방법을 개시한다. 본 레이아웃 조정 방법에서는, 소정 방향으로 배열된 복수의 부분 영역이 그룹화되어 있는 영역 집합에 대하여, 상기 소정 방향의 전체 크기와 상기 부분 영역 사이의 거리의 가변 범위가 레이아웃 정보에 포함된다. 레이아웃 정보와 각 부분 영역에 대응하는 데이터는 메모리로부터 취득된다. 영역 집합에 포함된 복수의 부분 영역 각각에 대하여, 할당된 데이터를 묘화하는데 적합한 크기가 계산된다. 계산된 각 부분 영역의 크기와 상기 전체 크기에 기초하여, 적어도 부분 영역 사이의 거리가 상기 가변 범위 내에서 변경됨으로써 상기 영역 집합의 레이아웃이 조정된다.
링크, 부분 영역, 레이아웃, 영역 집합, 컨테이너

Description

레이아웃 조정 방법 및 장치{LAYOUT ADJUSTMENT METHOD AND APPARATUS}
도 1은 실시예에 따른 가변 프린트 시스템의 구성을 나타내는 블록도.
도 2는 도 1에 도시한 호스트 컴퓨터의 개략 구성을 나타내는 블록도.
도 3은 가변 데이터 프린트의 개요를 설명하기 위한 도면.
도 4는 실시예에 따른 가변 프린트 시스템의 또다른 구성을 나타내는 블록도.
도 5는 실시예에 따른 메뉴바, 툴바, 워크 에리어, 플로팅 팔레트를 포함하는 유저 인터페이스의 일례를 나타내는 도면.
도 6은 유저 인터페이스에서의 컨테이너의 표시예를 나타내는 도면.
도 7a 내지 도 7d는 실시예에 따른 컨테이너 룰을 설명하기 위한 도면.
도 8은 실시예에 따른 링크의 작성 처리를 설명하기 위한 흐름도.
도 9a 내지 도 9c는 링크 작성시의 유저 인터페이스의 천이예를 나타내는 도면.
도 10은 가변 링크에 의해서 컨테이너를 배치한 경우의 유저 인터페이스에서의 표시예를 나타내는 도면.
도 11은 실시예에 따른 링크의 설정 대화창을 나타내는 도면.
도 12는 실시예에 따른 유저 인터페이스에 의해 가변 링크를 설정하는 처리 를 설명하기 위한 흐름도.
도 13은 실시예에 따른 레이아웃 엔진에 의한 레이아웃 계산 처리를 나타내는 흐름도.
도 14는 실시예에 따른 레이아웃 엔진에 의한 레이아웃 계산 처리를 나타내는 흐름도.
도 15는 실시예에 따른 레이아웃 계산 처리시의 컨테이너의 집합을 설명하기 위한 도면.
도 16a 내지 도 16c는 실시예에 따른 레이아웃 계산을 설명하기 위한 도면.
도 17은 실시예에 따른 레이아웃 계산 처리의 상세 내용을 설명하기 위한 흐름도.
도 18a 내지 도 18c는 실시예에 따른 레이아웃 계산 처리를 설명하기 위한 도면.
도 19는 고정 링크에 의한 레이아웃 결과의 일례를 나타내는 도면.
도 20은 가변 링크에 의한 레이아웃 결과의 일례를 나타내는 도면.
도 21은 또다른 실시예에 따른 가변 링크 툴에 의한 컨테이너 레이아웃을 나타내는 도면.
〈도면의 주요 부분에 대한 부호의 설명〉
100: 가변 프린트 시스템
101: 호스트 컴퓨터
103: 유저 인터페이스
105: 레이아웃 엔진
107: 네트워크
109: 프린트 서버
111: 통신 채널
113: 프린터
115: 파일 서버
117: 데이터베이스 서버
119: 데이터베이스
121: 레이아웃 편집 애플리케이션
123: 통신 채널
본 발명은 텍스트 및 화상을 포함하는 문서의 작성, 편집 및 인쇄 기술에 관한 것으로, 보다 구체적으로는 가변 데이터 문서의 작성, 편집 및 인쇄에 관한 것이다.
최근, 상품의 다품종화로 상품의 수명(service life)이 짧아지고 인터넷 이용의 보급에 따라 맞춤 서비스를 지향하는 소비자의 수도 늘어남에 따라, CRM(Customer Relationship Management), 원투원(0ne-to-0ne) 마케팅의 필요성이 크게 주목받고 있다. 이들 방법은 고객 만족도를 높이고 신규 고객을 개척하고 및 네트워킹하는데 매우 효과적이다.
원투원 마케팅은 일종의 데이터베이스 마케팅이다. 고객의 연령, 성별, 취미, 기호, 구매 이력 등의 개인 속성 정보를 데이터베이스로서 저장한다. 이 정보의 내용을 분석하여 고객의 필요에 맞는 제안을 제시한다. 그 대표적인 방법이 가변 프린트이다. 특히, 최근의 DTP(DeskTop Publishing) 기술의 진전과 디지털 프린터의 보급에 따라, 문서를 고객마다 맞춤화하여 출력하는 가변 프린트 시스템이 개발되었다. 이러한 가변 프린트 시스템에서는, 고객마다 다른 양의 컨텐트가 최적으로 레이아웃되는 맞춤화된 문서를 작성하는 것이 요구된다.
일반적으로, 이러한 맞춤화된 문서를 가변 프린트 시스템으로 작성할 때에는 문서 상에 컨테이너가 레이아웃된다. 컨테이너는 컨텐트(묘화 내용)를 묘화하기 위한 부분 영역이며 필드 영역이라고 부르기도 한다. 보다 구체적으로, 문서 상에 컨테이너를 레이아웃하여 데이터베이스와 레이아웃을 서로 연관시킨다(데이터베이스의 각 컨텐트를 각 컨테이너와 연관시킨다). 이러한 조작에 의해 맞춤화된 문서(다큐먼트)가 작성된다. 본 명세서에서는 이러한 문서를 가변 데이터 문서라고 하기로 한다.
이러한 가변 프린트 시스템에서는, 레이아웃된 각 컨테이너에 고객마다 서로다른 컨텐트를 삽입하는 것이 가능하다. 따라서, 컨텐트에 삽입되는 데이터의 크기는 가변적이다. 컨테이너의 크기가 고정된 경우에는 다음과 같은 문제가 발생한다. 예를 들어, 컨테이너의 크기보다도 큰 크기의 텍스트 데이터가 삽입된 경우에는 모든 텍스트를 그 컨테이너 내에 표시할 수 없게 된다. 또한, 컨테이너의 크기 보다도 큰 크기의 화상 데이터가 삽입된 경우에는 그 화상의 일부가 누락된다. 이러한 문제를 오버플로우라고 부른다.
또한, 컨텐트가 화상 데이터인 경우에는, 상기 화상을 축소시켜 컨테이너 내에 묘화할 수도 있다. 그러나, 화상이 과도하게 작아질 수 있다. 또한, 고정된 컨테이너의 크기보다도 크기가 큰 텍스트 데이터가 삽입되는 경우에는, 텍스트의 폰트 크기를 축소시켜 상기 컨테이너 내에 모든 텍스트를 표시할 수도 있다. 그러나, 폰트 크기를 조절하는 경우에는, 폰트 크기가 너무 작아져 문서 전체의 밸런스가 깨지거나 문서의 판독이 어려워질 수도 있다.
일본 특허공개 평7-129658호 공보의 "레이아웃 디자인 장치"에는 상기한 문제를 해결하기 위한 자동 레이아웃의 기술이 개시되어 있다. 이 기술에서는 컨테이너의 크기가 커진 경우에, 인접한 컨테이너와의 간격이 유지되도록 인접한 컨테이너의 크기를 축소시키고 있다.
그러나, 일본 특허공개 평7-129658호 공보에서는, 인접한 컨테이너와의 간격이 고정되어 있다. 본 명세서에서 인접한 컨테이너들 사이의 연관을 링크라고 부르기로 한다. 인접한 컨테이너들 사이의 간격(거리)을 링크의 길이라고 부르기로 한다. 일본 특허공개 평7-129658호 공보와 마찬가지로, 컨테이너들 사이에 링크가 설정되고 그 링크의 길이가 고정되어 있다고 가정하기로 한다. 이 경우 쌍방의 컨테이너의 크기를 최적의 크기가 되도록 확대하려고 하는 경우에도, 컨테이너들 사이의 링크의 크기가 고정되어 있기 때문에, 컨테이너의 크기를 이상적인 크기가 되 도록 하는 것이 불가능할 수도 있다. 링크는 삽입되는 데이터량에 따라 컨테이너들을 최적의 크기로 확대시키는 경우에 컨테이너들이 중첩되지 않도록 하기 위한 것이다. 그러나, 링크의 길이가 고정되어 있다. 이 때문에, 예를 들어 링크가 설정되어 있는 컨테이너 A 및 B를 최적의 크기가 되도록 확대시키고자 하는 경우에도, 컨테이너 A와 B 사이에는 항상 링크의 길이만큼의 거리가 존재하게 된다. 따라서, 컨테이너 A 및 B가 레이아웃되는 페이지 영역의 크기와의 관계로 인해, 이들 컨테이너 A 및 B의 확대가 어느 정도 억제된다.
반대로, 컨테이너에 삽입되는 데이터량이 적다고 가정해 보자. 링크의 크기가 고정되어 있기 때문에 컨테이너 A와 B 사이의 거리는 일정하게 유지되므로, 컨테이너 A 및 B의 축소가 제한되고 컨테이너의 크기가 필요 이상으로 커질 수도 있다. 즉, 컨테이너의 크기를 최적화할 수 없다. 예를 들어 화상의 존재로 인해 비율을 유지하기 위해 컨테이너의 크기가 부주의하게 확대될 수도 있다. 또한, 예를 들어 컨테이너의 크기보다도 작은 크기의 텍스트(문자 수가 기대한 것보다 적음)가 삽입된 경우에는, 컨테이너 영역에 비하여 좁은 영역에 문자가 배치될 수도 있다. 이 경우, 컨테이너에 공백이 생기고 레이아웃의 외관이 나빠지게 된다.
전술한 바와 같이, 사용자는 컨테이너 크기가 최적이 되는 것을 우선시하여, 컨테이너들 사이의 링크 길이가 어느 정도 단축되거나 증대되는 자동 레이아웃을 기대할 수도 있다. 그러나, 링크 길이를 고정하고 있는 종래기술에서는 이러한 자동 레이아웃을 실현할 수 없다.
본 발명의 일 태양에 따르면, 페이지의 레이아웃을 결정하는 레이아웃 조정 방법이 제공되며, 본 방법은 데이터가 삽입되는 부분 영역의 크기와 위치의 기본 패턴을 설정하는 부분 영역 설정 단계와, 상기 부분 영역 설정 단계에서 설정된 복수의 부분 영역을 페이지 내에 레이아웃하여 기본 레이아웃을 결정하는 기본 레이아웃 단계와, 상기 부분 영역 설정 단계에서 설정된 부분 영역 사이에, 상기 부분 영역 사이의 거리의 가변 범위를 나타내는 링크를 설정하는 링크 설정 단계와, 상기 부분 영역 설정 단계에서 설정된 부분 영역의 크기와 상기 부분 영역에 삽입되는 데이터에 기초하여, 상기 삽입되는 데이터를 묘화하는데 적합한 크기를 각 부분 영역마다 계산하는 계산 단계와, 상기 계산 단계에서 계산된 각 부분 영역의 크기와 상기 기본 레이아웃 단계에서 결정된 기본 레이아웃에 기초하여, 상기 링크 설정 단계에서 설정된 상기 가변 범위 내에서 상기 부분 영역 사이의 거리를 변경하여 상기 페이지 내의 레이아웃을 조정하는 조정 단계를 포함한다.
본 발명의 또다른 태양에 따르면, 페이지의 레이아웃을 결정하는 레이아웃 조정 장치가 제공되며, 본 장치는 데이터가 삽입되는 부분 영역의 크기와 위치의 기본 패턴을 설정하는 부분 영역 설정 수단과, 상기 부분 영역 설정 수단에 의해 설정된 복수의 부분 영역을 페이지 내에 레이아웃하여 기본 레이아웃을 결정하는 기본 레이아웃 수단과, 상기 부분 영역 설정 수단에 의해 설정된 부분 영역 사이에, 상기 부분 영역 사이의 거리의 가변 범위를 나타내는 링크를 설정하는 링크 설정 수단과, 상기 부분 영역 설정 수단에 의해 설정된 부분 영역의 크기와 상기 부분 영역에 삽입되는 데이터에 기초하여, 상기 삽입되는 데이터를 묘화하는데 적합 한 크기를 각 부분 영역마다 계산하는 계산 수단과, 상기 계산 수단에 의해 계산된 각 부분 영역의 크기와 상기 기본 레이아웃 수단에 의해 결정된 기본 레이아웃에 기초하여, 상기 링크 설정 수단에 의해 설정된 상기 가변 범위 내에서 상기 부분 영역 사이의 거리를 변경하여 상기 페이지 내의 레이아웃을 조정하는 조정 수단을 포함한다.
본 발명에 따르면, 할당된 데이터에 기초하여 화상을 표시하기 위한 부분 영역(컨테이너) 사이의 거리(링크 길이)를 유연하게 변경할 수 있도록 함으로써, 서로 다른 때에 삽입되는 데이터량에 따라서 각 부분 영역의 크기가 적절하게 되도록 하는 자동 레이아웃 조정을 실현할 수 있다.
본 발명의 다른 특징 및 장점들은 첨부 도면을 참조한 하기의 상세한 설명으로부터 보다 명료해 질 것이며, 도면에 있어서는 유사한 부분에 대해 동일 내지 유사한 참조부호로써 지칭한다.
〈실시예〉
이하, 첨부 도면을 참조하여 본 발명의 바람직한 실시예를 상세히 설명한다.
《제1 실시예》
<시스템 구성>
먼저, 도 1 및 도 2를 참조하여, 본 실시예의 가변 프린트 시스템의 구성을 설명한다. 도 1은 가변 데이터 문서를 인쇄하기 위한 가변 프린트 시스템(100)의 구성예를 나타내는 블록도이다. 또한, 도 2는 도 1에 도시한 호스트 컴퓨터(101)의 구성을 보다 상세히 나타낸 블록도이다. 본 실시예에서 설명할 가변 프린트 처 리는 레이아웃 조정 장치로서 기능하는 호스트 컴퓨터(101)(범용 컴퓨터 모듈 포함)에 의해 실행된다. 시스템(100) 상에서 실행가능한 레이아웃 편집 애플리케이션 프로그램(121)(본 발명의 레이아웃 조정 프로그램)의 소프트웨어는 호스트 컴퓨터(101)에 의해 전체 또는 일부분이 실행된다. 특히, 레이아웃 편집을 위한 처리나 가변 데이터 문서의 인쇄를 위한 처리는 호스트 컴퓨터(101)에 의해 실행되는 소프트웨어에 의해 실현된다.
레이아웃 편집 애플리케이션 프로그램(121)은 컴퓨터 판독가능 매체에 저장된다. 레이아웃 편집 애플리케이션 프로그램(121)은 컴퓨터 판독가능 매체로부터 호스트 컴퓨터(101)의 메모리(136)에 판독되어 실행된다. 이러한 소프트웨어나 컴퓨터 프로그램을 저장한 컴퓨터 판독가능 매체는 컴퓨터 프로그램 제품이다. 이러한 컴퓨터 프로그램 제품이 컴퓨터에 의해 사용하는 경우, 문서의 레이아웃 편집 또는 가변 프린트에 적합한 장치가 제공되게 된다.
도 2에 도시한 바와 같이, 호스트 컴퓨터(101)에는 입출력 인터페이스(143)를 통하여 입력 장치로서 기능하는 키보드(132)와, 마우스(133) 등의 포인팅 디바이스가 접속된다. 또한, 출력 장치로서 기능하는 디스플레이 장치(144)가 비디오 인터페이스(137)를 통하여 접속된다. 로컬 프린터(145) 등을 입출력 인터페이스(138)를 통해 접속할 수도 있다. 또한, 입출력 인터페이스(138)는 컴퓨터 모듈(101)을 네트워크(107)에 접속하는 기능도 갖는다. 이러한 구성에 의해, 호스트 컴퓨터(101)를 네트워크를 통하여 시스템(100) 내의 다른 컴퓨터 장치에 접속할 수 있다. 네트워크(107)의 전형적인 예로는 LAN(local area network) 또는 WAN(wide area network)을 들 수 있다.
또한, 도 2에 도시한 바와 같이, 호스트 컴퓨터(101)는 적어도 1개의 프로세서 유닛(135), 예컨대 반도체의 RAM 또는 ROM을 포함하는 메모리 유닛(136)을 포함하고 있다. 저장 디바이스(139)는 프로그램을 저장하는 컴퓨터 판독가능 매체와의 데이터 송신/수신이 가능한 하드디스크 드라이브(140)나 플로피(등록상표) 디스크 드라이브(141)를 포함한다. 또한, 도 2에는 도시하고 있지 않지만, 저장 디바이스(139)로서 자기 테이프 드라이브를 사용하는 것도 가능하다. CD-ROM 드라이브(142)는 불휘발성의 데이터 소스로서 제공된다(물론, CD-ROM에 의해서 컴퓨터 프로그램을 제공할 수도 있다).
일반적으로, 호스트 컴퓨터(101)는 GNU/LINUX 또는 마이크로소프트 Windows(등록상표)와 같은 오퍼레이팅 시스템의 형태나 관련 기술분야에 공지된 컴퓨터 시스템의 통상의 오퍼레이팅 모드에 따른 방법에 의해서 상호접속 버스(134)를 통하여 통신을 행하는 컴퓨터 모듈(101)의 컴포넌트(135∼143)를 이용한다. 즉, 상술한 컴포넌트(135∼143)는 버스(134)를 통하여 통신 가능하게 접속되어 있고, 호스트 컴퓨터(101)에 인스톨된 오퍼레이팅 시스템에 의해 이용된다.
도 2에 도시한 호스트 컴퓨터(101)의 예로는 IBM 호환 PC이나 SUN의 Sparcstation 또는 이들을 포함한 컴퓨터 시스템을 생각할 수 있다.
<레이아웃 편집 애플리케이션의 개요>
본 실시예에서 레이아웃 애플리케이션 프로그램(121)은 하드디스크 드라이브(140)에 상주하고 프로세서(135)에 의해 실행이나 판독이 제어된다. 레이아웃 편 집 애플리케이션(121)의 프로그램과 네트워크(107)로부터 페치된(fetched) 데이터를 저장하는 데에는 하드디스크 드라이브(140) 및 반도체 메모리(136)를 사용한다.
일례로서, 레이아웃 편집 애플리케이션(121)의 부호화된 프로그램은, CD-ROM이나 플로피(등록상표) 디스크에 저장되어, 대응하는 드라이브(142 또는 141)를 통하여 판독되고 하드디스크 드라이브(140)에 인스톨된다. 또다른 예로서, 레이아웃 편집 애플리케이션 프로그램(121)은 네트워크(107)로부터 호스트 컴퓨터(101)에 판독되고, 하드디스크 드라이브(140)에 인스톨될 수도 있다. 소프트웨어는 자기 테이프, ROM, 집적회로, 광자기 디스크, 또는 호스트 컴퓨터(101)와 다른 디바이스 사이의 적외선을 이용한 무선통신, PCMCIA 카드와 같은 컴퓨터 판독가능 카드, 또는 인터넷이나 인트라네트를 포함하는 웹사이트 상의 다른 적당한 컴퓨터와의 전자 메일 통신을 이용하여 호스트 컴퓨터(101)에 판독될 수 있다. 이들은 컴퓨터 판독가능 매체의 예이다. 물론, 다른 컴퓨터 판독가능 매체가 사용될 수도 있다.
도 1에 있어서, 본 실시예의 레이아웃 편집 애플리케이션(121)은 컴퓨터가 가변 프린트(가변 데이터 프린트(VDP)라고도 함)를 실행하도록 하며, 2개의 소프트웨어 컴포넌트, 즉 레이아웃 엔진(105) 및 유저 인터페이스(103)를 포함하고 있다. 레이아웃 엔진(105)은 부분 영역인 컨테이너(사각형의 범위)에 제공된 크기나 위치의 제한에 따라서, 데이터베이스(119)에 저장되어 있는 가변 데이터의 각 레코드를 판독하고, 판독한 데이터와 컨테이너의 제한에 기초하여, 판독한 데이터가 삽입되는 컨테이너의 크기와 위치를 계산하는 소프트웨어 컴포넌트이다. 본 실시예에서 레이아웃 엔진(105)은 컨테이너에 할당된 데이터를 묘화하여, 가변 데이터 문서의 화상을 생성하는 처리도 행한다. 그러나, 본 발명이 이것에 국한되는 것은 아니다. 레이아웃 엔진(105)은 각 부분 영역(컨테이너)의 크기와 위치를 결정하는 애플리케이션으로서 동작하여 프린터 드라이버(미도시)에 묘화 정보를 출력한다. 따라서, 프린터 드라이버가 가변 데이터 문서의 화상 묘화 처리를 행하여 인쇄 데이터를 생성할 수도 있다. 유저 인터페이스(103)는 사용자가 컨테이너의 레이아웃이나 속성을 설정할 수 있도록 하여, 사용자가 문서 템플릿을 작성하도록 한다. 또한, 유저 인터페이스(103)는 문서 템플릿 내의 각 컨테이너와 데이터 소스를 연관시키는 메커니즘을 제공한다. 유저 인터페이스(103)와 레이아웃 엔진(105)은 통신 채널(123)을 통하여 서로 통신한다.
도 3은 본 실시예에 따른 가변 데이터 프린트의 개략을 설명하는 도면이다. 레이아웃 편집 애플리케이션(121)의 유저 인터페이스 모듈(103)(이하, 유저 인터페이스(103)라고 함)을 통한 사용자로부터의 조작 지시에 따라 복수의 컨테이너(181∼183)가 페이지에 레이아웃된다. 다음으로, 각 컨테이너에 위치 및 크기에 관한 제약 조건을 부여함으로써 문서 템플릿(180)이 작성된다. 또한, 유저 인터페이스(103)는 문서 템플릿(180)을 데이터 소스(190)와 연관시키고, 각 컨테이너를 데이터 소스(190) 내의 데이터 필드와 연관시킨다. 각 컨테이너와 데이터 소스(190) 내의 데이터 필드 사이의 연관을 나타내는 연관 정보는 문서 템플릿 내에 기술된다. 상기 문서 템플릿은 HDD(140)에 저장된다. 또한, 데이터 소스(190)는 각 레코드에 대해 항목 데이터가 기재되어 있는 파일이다. 데이터 소스(190)는 HDD(140)에 저장되어 있다. 레이아웃 엔진(105)은 사용자로부터의 인쇄 지시 또는 미리보기 지시에 따라서 데이터 소스(190)로부터의 연관 정보에 의해 연관된 데이터를 판독하여, 각 레코드에 대한 문서 템플릿의 각 컨테이너(181∼183)에 데이터를 삽입하고(예를 들어, 데이터 레코드 1의 데이터 필드 A∼C를 컨테이너(181∼183)에 삽입), 삽입된 데이터에 따라서 각 컨테이너의 크기를 조정(레이아웃 조정)한다. 미리보기 지시가 입력된 경우는, 레이아웃 조정된 문서 화상을 생성하여 비디오 디스플레이(144)의 화면에 미리보기로서 표시 출력한다. 인쇄 지시가 입력된 경우는, 레이아웃 엔진(105) 또는 프린터 드라이버를 이용하여 생성한 문서 화상을 프린트 서버(109)에 인쇄 데이터로서 출력한다. 데이터 레코드 1, 2, 3, …를 순차 처리함으로써 가변 데이터 프린트가 실현된다.
문서 작성을 위한 데이터 소스(190)는, 예를 들어 데이터베이스 애플리케이션이 실행되고 있는 다른 컴퓨터에 의해서 구성된 데이터베이스 서버(117) 상의 일반 데이터베이스(119)일 수도 있다. 이 경우, 호스트 컴퓨터(101)는 네트워크(107)를 통하여 데이터베이스 서버(117)와 통신함으로써 데이터 소스를 취득할 수 있다. 또한, 레이아웃 편집 애플리케이션(121)에 의해서 작성된, 가변 데이터 프린트를 위한 문서 템플릿(180)은, 호스트 컴퓨터(101) 또는 다른 컴퓨터로 구성되는 파일 서버(115)에 저장된다. 도 3에서 상술한 바와 같이, 레이아웃 편집 애플리케이션(121)의 레이아웃 엔진(105)은, 데이터와 통합된 문서 템플릿을 포함하는 가변 데이터 문서를 작성한다. 이 문서는 호스트 컴퓨터(101)의 로컬 파일 시스템 또는 파일 서버(115)에 저장되거나 프린터(113)에 송신되어 인쇄된다. 프린트 서버(109)는 네트워크에 직접적으로 접속되지 않은 프린터에 네트워크 기능을 제공하 기 위한 컴퓨터이다. 프린트 서버(109)와 프린터(113)는 일반적인 통신 채널(111)을 통하여 접속된다.
<다른 시스템 구성예>
도 4는 도 1과 유사한 블록도이다. 도 4에는 엔진 서버(227)가 추가되어 있다. 엔진 서버(227)에 저장되어 있는 레이아웃 엔진(225)은 레이아웃 엔진(105)과 분리된 버전이다. 엔진 서버(227)로는 일반적인 컴퓨터가 이용된다. 레이아웃 엔진(225)은 인쇄나 다른 용도의 가변 데이터 문서를 작성하기 위해, 파일 서버(115)에 저장된 문서 템플릿과 데이터베이스(119)에 저장된 데이터를 조합한다. 이러한 조작은 유저 인터페이스(103)를 통하여 요구된다.
<레이아웃 편집 애플리케이션의 설명>
이하, 레이아웃 편집 애플리케이션(121)에 대하여 설명한다.
[메인 윈도우]
조작시, 유저 인터페이스(103)는 비디오 디스플레이(144)로 하여금 도 5에 도시한 애플리케이션 윈도우(301)에 의해 형성된 유저 인터페이스 화면을 표시하도록 한다. 이 윈도우(301)는 메뉴바(302), 툴바(303), 워크 에리어(306) 및 옵션의 팔레트(311)를 갖는다. 메뉴바(302)와 툴바(303)는 비표시 상태로 설정하거나 화면 상의 여러 위치로 이동시킬 수 있다. 또한, 워크 에리어(306)의 위치는 마우스(133)의 조작에 의해서 이동시킬 수 있다. 또한, 팔레트(311)는 옵션이다. 커서/포인터 디바이스(313)는 마우스(133)가 지시하는 위치를 나타낸다.
공지된 기술인 메뉴바(302)는 메뉴 옵션 레이어 아래로 연장되는 많은 메뉴 아이템들(304)을 갖는다.
툴바(303)는 애플리케이션이 특정 모드에 의해 비표시 또는 표시 상태로 설정될 수 있는 많은 툴 버튼(305)을 갖는다.
눈금자(308)는 옵션이며 워크 에리어 내의 포인터, 페이지, 라인, 마진 가이드, 컨테이너 또는 오브젝트의 위치를 표시하는데 사용된다.
팔레트(311)는 가변 데이터 라이브러리와 같은 부가적인 기능을 억세스하는데 사용된다. 팔레트(311)는 이동시키거나 크기를 변경하거나 닫기 위한 윈도우 제어 기능을 제공하는 버튼(312)을 갖는다. 팔레트(311)는 선택적으로 워크 에리어의 전면에 표시되거나 또는 오브젝트 뒤에 숨겨질 수 있다. 표시 제어에 의해, 팔레트(311)는 단지 애플리케이션 윈도우(301) 내에만 표시되거나, 애플리케이션 윈도우(301)의 외부에 부분 또는 전체가 표시할 수도 있다.
툴바(303)에는 도 6에 도시한 바와 같이 사용자 선택 가능한 "버튼"이 레이아웃되어 있다.
(1) 선택 툴 버튼(403): 이 버튼은 컨테이너의 변을 선택, 이동, 크기 변경, 고정(lock) 또는 비고정(unlock)하는데 사용된다. 컨테이너는 그 주위의 선택 박스를 드래그함으로써 선택된다. 복수의 컨테이너들이 CTRL 키를 누른 채로 선택되는 경우에, 복수의 컨테이너들이 선택될 수 있다.
(2) 텍스트 컨테이너 툴 버튼(404): 이 버튼은 정적인 또는 가변의 텍스트를 갖는 컨테이너를 작성하는데 사용된다.
(3) 화상 컨테이너 툴 버튼(405): 이 버튼은 정적인 또는 가변의 화상을 갖 는 컨테이너를 작성하는데 사용된다.
(4) 링크 툴 버튼(406): 이 버튼은 컨테이너들을 서로 연관시키기 위한 링크를 작성하는데 사용된다. 이 버튼은 링크의 거리를 제어하는 데에도 사용된다.
도 5에 도시한 레이아웃 편집 애플리케이션(121)의 애플리케이션 윈도우(301)에 있어서, 페이지 내에 컨테이너와 링크가 레이아웃되면, 기본 레이아웃을 결정할 수 있다. 기본 레이아웃은, 가변 데이터 프린트의 기본이 되는 레이아웃이다. 기본 레이아웃 내의 모든 컨테이너가 고정 컨테이너인 경우에는, 모든 레코드의 인쇄 결과는 동일한 레이아웃을 갖는다. 기본 레이아웃 내의 컨테이너가 가변 컨테이너인 경우에는, 각 컨테이너의 크기나 위치가 각 레코드에 대해 삽입된 데이터의 량이나 크기에 따라서 제약 범위(후술함) 내에서 변동하게 된다. 레이아웃 편집 애플리케이션(121)에 의해 작성되는 문서 템플릿은 엄격하게 기본 레이아웃을 결정하는데 사용되는 것이다. 가변 컨테이너가 포함되는 경우에는, 인쇄물의 최종적인 레이아웃은 판독된 데이터에 따라서 조정된다.
[문서 템플릿]
도 5를 참조하면, 워크 에리어(306)는 문서 템플릿의 디자인을 표시 편집하는데 사용된다. 인쇄 대상 문서의 아웃라인은 사용자로 하여금 문서 템플릿을 디자인하도록 하는 과정에서 사용자에게 제시된다. 따라서, 사용자는 데이터 소스(190)와 통합된 문서가 가변 데이터의 양과 크기에 기초하여 어떻게 변화하는지를 용이하게 이해할 수 있다.
문서 템플릿에 데이터 소스가 연관되어 있는 경우, 대응 가변 텍스트 또는 화상은 현재 문서의 미리보기가 획득되도록 각 컨테이너에 레이아웃된다.
문서 템플릿의 작성 모드에서, 문서의 구조 및 문서 템플릿에서의 가변 데이터 컨테이너를 표현하는 비주얼키(예컨대 컨테이너의 프레임 라인, 앵커, 슬라이더 및 링크)는 항상 표시된다. 가변 데이터가 삽입되는 미리보기 모드에서는 커서가 컨테이너 상에서 이동하거나 컨테이너가 선택된 경우에 상기 비주얼키들이 표시된다.
워크 에리어(306)는 스크롤바(307), 옵션의 눈금자(308) 및 문서 템플릿(309)을 포함한다. 문서 템플릿(309)은 복수의 페이지의 존재를 나타낼 수 있다. 문서 템플릿은 도 3에 도시한 문서 템플릿(180)을 나타낸다.
주어진 문서 템플릿의 페이지 크기는 공지기술을 이용하여 사용자에 의해 지정될 수 있다. 예를 들어, "페이지 설정"은 메뉴의 "파일"로부터 선택되어 페이지 크기를 설정하는 대화창을 표시함으로써, 사용자에 의해 지정된 페이지 크기가 반영된다. 각 문서의 실제 페이지 수는 연관된 데이터 소스 내의 가변 데이터에 따라서 변할 수 있다. 이는 가변 데이터의 양에 따라서 크기가 변하는 가변 테이블과 같은 필드가 문서 템플릿 내에 설정되어 있고, 1 페이지 내에 들어갈 수 없는 가변 데이터가 판독된 경우에는, 추가의 페이지가 자동적으로 판독된다.
각 페이지에 도시한 경계(310)는 페이지 상에 인쇄 가능한 오브젝트의 최대 폭을 나타내는 임의의 페이지 마진이다.
도 6은 1 페이지의 문서 템플릿(309) 상에 표시할 수 있는 오브젝트들의 예를 나타낸 도면이다. 오브젝트는 컨테이너(407, 408), 임의의 적용 앵커 아이콘 (409), 고정 변(411 및 414), 비고정 변(410), 링크 및 슬라이더(413)를 포함한다. 앵커 아이콘(409)은 컨테이너의 사각형의 코너 또는 변, 또는 컨테이너의 중앙에 설정될 수 있다. 앵커 아이콘(409)이 설정되는 경우, 설정된 점의 위치는 고정된다. 즉, 도 6에 도시된 예에서는, 앵커 아이콘(409)은 컨테이너(407)의 상부 좌측 코너에 설정된다. 가변 데이터가 컨테이너(407)에 삽입되고, 가변 데이터의 화상 크기 또는 텍스트 량이 큰 경우에는, 컨테이너는 우측 및 아래 방향으로 확대될 수 있다. 앵커 아이콘(409)이 변에 설정되어 있는 경우에는 그 변은 고정된다. 나머지 3개 변의 방향으로 컨테이너를 확대할 수도 있다. 앵커 아이콘(409)이 컨테이너의 중앙에 설정되어 있는 경우에는, 컨테이너의 중심부가 고정된다. 컨테이너는 컨테이너 사각형의 중앙 위치를 변화시키지 않고 4개 방향으로 확대될 수 있다. 링크(412)(후술함)는 컨테이너들(407, 408)이 서로 연관되어 있음을 나타낸다. 링크(412)는 이 링크에 설정되어 있는 길이(범위가 지정될 수 있음)를 유지하면서, 컨테이너(408)를 우측 방향으로 이동시킬 수 있음을 나타낸다. 슬라이더(413)는 컨테이너가 그 슬라이더들이 설정되어 있는 변들과 수평 방향으로 이동될 수 있음을 나타낸다.
[컨테이너]
이하, 컨테이너에 대해 설명한다. 컨테이너는 고정 또는 가변 텍스트나 화상이 가변 데이터 파일로부터 문서 템플릿에 삽입되어 묘화된 공간(부분 영역이라 함)이다. 컨테이너는 도 6에 도시된 바와 같이 다른 컨테이너 또는 오브젝트와 함께 레이아웃된다. 컨테이너의 이동, 크기 조정, 및 재작성은 유저 인터페이스 윈 도우를 통해 사용자로부터의 조작 명령에 기초하여 마우스(133)를 조작함으로써 수행된다.
보다 정확하게, 컨테이너는 한 세트의 설정, 시각적 표현, 인터렉션 및 편집 조작을 갖는다. 아래에서는 본 실시예에 따른 컨테이너의 정의를 설명한다.
(1) 컨테이너는 고정 또는 가변의 컨텐트를 갖는다. 가변 컨텐트는 데이터 소스로부터 취득한 데이터가 문서마다, 즉 각 레코드마다 변할 수 있기 때문에 동적인 것으로 생각할 수 있다. 그러나, 본 실시예에서는 애니메이션화된 컨텐트나 다른 방법에 의해 시간에 따라 변화하는 컨텐트는 인쇄에 적합하지 않기 때문에 가변 컨텐트로 간주되지 않는다. 고정 컨텐트는 컨테이너를 사용하여 작성되는 모든 문서에서 동일하게 표시된다. 그러나, 고정 컨텐트와 가변 컨텐트 사이에 링크가 설정되어 있는 경우, 고정 컨텐트가 가변 컨텐트의 영향을 받아 각 문서에서의 위치가 다른 바뀔 수도 있다.
(2) 컨테이너는 컨텐트에 적용되는 배경색, 경계 및 폰트 스타일 등의 텍스트 설정과 같은 장식 기능을 가지고 있다. 이러한 설정을 컨테이너 속성이라고 한다. 컨테이너 속성은 각 컨테이너마다 설정할 수 있다. 컨테이너는 다른 컨테이너와 동일한 컨테이너 속성을 갖도록 설정할 수도 있다.
(3) 컨테이너는 문서 작성시 데이터 소스로부터의 데이터와 통합된다. 장식 기능은 모든 고정 컨텐트에 대한 통상의 인쇄 출력물에서 시각적으로 인지될 수 있다. 가변 컨텐트는 데이터 소스로부터 특정 데이터의 디스플레이를 제공한다. 이러한 컨테이너의 표현은 비디오 디스플레이(144)의 화면에 인쇄 또는 표시되거나 인쇄 및 표시가 모두 될 수도 있다.
(4) 컨테이너는 도 6에 도시한 바와 같이 비주얼키로서 유저 인터페이스를 구비한다. 컨테이너는 예를 들어 컨테이너의 편집 또는 디스플레이 설정을 위한 인터렉티브 유저 인터페이스(GUI)를 구비한다. 유저 인터페이스(GUI)의 각 요소는 디스플레이 유닛(144)의 스크린 상에 표시되지만 문서에는 인쇄되지 않는다. 유저 인터페이스(103)는 배경색 및 폰트와 같은 컨테이너의 장식 기능의 일부를 표시하고 컨테이너 설정을 편집 및 표시할 수 있도록 하는 기능을 구비한다.
[컨테이너의 제약]
각 컨테이너는 각 문서에 의해 표시된 컨텐트를 결합하는 방식을 제어함에 있어서 제약을 갖는다. 이러한 제약들(고정 또는 가변 컨텐트와 컨테이너의 연관을 포함)은 사용자가 하나의 문서 템플릿으로부터 다수의 문서를 작성하도록 제어하는 주요 방법으로서 이용된다. 제약의 예로는 "이 컨테이너의 컨텐트의 최대 높이는 4인치이다"를 들 수 있다. 제약의 또다른 예로는 "컨테이너의 컨텐트의 좌측 에지는 각 문서에서 동일한 수평 위치에 표시되어야 한다"를 들 수 있다. 본 명세서에 기술되는 내용은 GUI를 이용하여 표시 및 편집하기 위한 각종 제약들을 나타낸다.
페이지 상에서 정의된 장소를 갖는 화상과 같이 고정 컨텐트의 레이아웃을 지정하는 컨텐트 위치 홀더는 디지털 인쇄 기술에서 공지되어 있다. 각 컨테이너는 위치와 크기를 갖는다. 컨테이너는 공지 기술의 방법에 의해 편집 및 표시된다. 이하의 설명에서는 가변 데이터 인쇄에 특화한 방법에 있어서의 표시 및 편집 에 초점을 두기로 한다.
컨테이너를 이용하는 경우, 사용자는 문서에서의 컨텐트의 크기(묘화 크기)나 위치를 지정할 수 있다. 많은 종류의 문서가 하나의 문서 템플릿으로부터 작성되므로, 컨테이너에 다수의 가능성과 제약이 설정된다. 이들의 설정(지정) 및 표시하기 위해 소정의 유저 인터페이스가 이용된다.
하나의 컨테이너의 변들은 문서에 표시된 연관된 컨텐트의 가상의 경계를 정의한다. 따라서, 컨테이너의 좌측 변은 각 문서에서 연관된 컨텐트가 표시되는 영역의 맨좌측에서와 마찬가지 경우이다. 마찬가지로, 컨테이너의 높이는 작성된 문서와 연관된 컨텐트의 높이의 제약과 마찬가지 경우이다. 본 명세서에서 이들은 유저 인터페이스(103)를 참조함으로써 컨테이너의 변 또는 크기를 얘기할 때 명확하게 구별된다.
아래의 설명에서, 컨텐트의 표시를 제한하는데 사용되는 임의의 값을 정의하는 용어 "고정"은 모든 문서에서 동일한 방식으로 적용한다.
(1) 컨테이너의 폭이 고정된 경우, 연관된 컨텐트에 할당되는 폭은 모든 문서에서 동일하다.
(2) 컨테이너의 높이가 고정된 경우, 연관된 컨텐트에 할당되는 높이는 모든 문서에서 동일하다.
(3) 거리(링크 길이)가 고정된 경우, 지정된 거리는 모든 문서에서 제약이 된다.
(4) 컨테이너의 좌우 변이 고정된 경우, 페이지에 관한 변의 수평 위치는 모 든 문서에서 동일하다. 그러나, 컨테이너의 높이 또는 수직 방향의 위치는 변할 수 있다. 예를 들어, 컨테이너의 좌변이 고정된 경우, 연관된 컨텐트의 좌변은 모든 문서에서 동일한 수평 위치에서 표시된다. 그러나, 컨텐트는 어떤 문서에서는 페이지의 상측에 표시되고 다른 문서에서는 페이지의 하측에 표시될 수도 있다.
(5) 컨테이너의 상부 및 하부 변들이 고정된 경우, 페이지 내의 변들의 수직 위치는 모든 문서에서 동일하다. 그러나, 컨테이너의 폭이나 수평 위치는 각 문서마다 변할 수 있다.
(6) 컨테이너의 수직축은 컨테이너의 우측 및 좌측 변들에 평행하고, 그 사이의 중간 위치에 배치되는 가상의 수직선이다. 컨테이너의 수직축이 고정되어 있는 경우, 컨테이너의 좌측 및 우측 변의 수평 위치의 평균(즉, 좌측 변과 우측 변 사이의 중심 위치)은 모든 문서에서 동일하다. 이 제약에서 컨테이너의 폭은 변할 수 있다. 그러나, 좌측 및 우측 변들이 수직축에 대해 가장 가까운지 먼지에 무관하게 모든 문서에서 동일한 수직 위치에 위치한다. 컨테이너의 높이 및 수직 위치는 이러한 제약에 영향을 받지 않는다.
(7) 마찬가지로, 수평축이 고정되어 있는 경우, 컨테이너의 상부 및 하부 변들의 평균은 동일한 수직 위치에 배치된다. 그러나, 컨테이너의 수평 위치 및 폭은 이러한 제약에 영향을 받지 않는다.
(8) 수평축 및 수직축 모두가 고정되어 있는 경우, 컨테이너의 중심 위치가 고정된다. 그러나, 폭 및 높이는 이 제약에 영향을 받지 않는다.
(9) 컨테이너의 코너 위치나 컨테이너 변의 중간 위치 또는 컨테이너의 중심 위치가 고정되어 있는 경우, 그 위치는 모든 문서에서 동일하다. 예를 들어, 컨테이너의 상부 좌측 코너가 고정되어 있는 경우, 레이아웃된 컨테이너의 상부 좌측 위치는 모든 문서에서 동일하다.
(10) 수직 변 또는 수직축은 페이지의 좌측 또는 우측 변, 좌측 또는 우측 페이지 마진, 또는 다른 수평 위치와 연관하여 고정될 수 있다. 마찬가지로, 수평 변 또는 수평축은 페이지의 상부 또는 하부 변, 상부 또는 하부 페이지 마진, 또는 다른 수직 위치와 연관하여 고정될 수 있다.
"고정"의 반대말은 "가변"이며, "가변"인 경우 컨테이너의 변, 축, 코너 또는 중간 위치, 또는 문서 제약이 문서들 간에서(기록들 간에서) 변화할 수 있다. 예를 들어, 페이지에서, 가변 데이터의 크기 또는 양에 따라, 동적으로 레이아웃이 변경되는 것이 예상된다. 그러나, 사용자는 특정 컨테이너의 크기 또는 위치를 고정하거나, 또는 페이지의 코너에서의 컨테이너의 4개의 코너들을 고정하기를 원할 수 있다. 이를 위해, 레이아웃 편집 애플리케이션(121)은 각 컨테이너(부분 영역)에 대해, 변, 축, 코너 또는 중간 위치 등을 고정할지, 아니면 변경할지를 적절하게 설정할 수 있다. 그러므로, 사용자는 문서 템플릿(180)의 기본 레이아웃을 결정할 때 원하는 기본 레이아웃을 작성할 수 있다.
[컨테이너 표시 및 편집]
(신규 컨테이너 생성 방법)
컨테이너들은 두가지 유형, 즉 텍스트 컨테이너 및 화상 컨테이너로 분류된다. 텍스트 컨테이너는 텍스트 및 임베딩된 화상을 갖는다. 화상 컨테이너는 화 상만을 갖는다.
도 6에 도시된 바와 같이, 텍스트 컨테이너 툴(404) 또는 화상 컨테이너 툴(405) 상에서 마우스(133)를 클릭하여, 템플릿(309) 상으로 사각형을 드래그함으로써, 신규 텍스트 컨테이너 또는 화상 컨테이너가 문서 템플릿(309) 상에 생성된다.
다른 방법으로, 적절한 툴(404 또는 405)을 활성화하여, 문서 템플릿(309) 상에서 마우스(133)를 클릭함으로써 컨테이너를 생성할 수도 있다. 이 경우, 마우스(133)의 클릭 동작에 의해 디폴트 크기를 갖는 컨테이너가 템플릿에 삽입된다. 또한, 신규 컨테이너의 크기를 설정하기 위한 대화창 박스 또는 프롬프트가 제공된다. 컨테이너 크기는 여러가지 방법으로 설정될 수 있다. 예를 들어, 컨테이너의 크기는 자동적으로 미리 정의되거나, 계산된 스키마에 의해서 작성되어 레이아웃될 수도 있다. 생성된 컨테이너가 마우스와 같은 입력 수단에 의해 선택되고 마우스의 우측 버튼을 클릭함으로써 그 속성이 표시되는 경우, 컨테이너의 속성 대화창이 표시되어 컨테이너의 제약을 설정할 수 있다. 컨테이너 속성 대화창 UI(부분 영역 설정 수단에 대응함)에는, 앞서 기술된 각종의 제약들이 설정될 수 있다. 컨테이너의 속성 대화창에서는, 컨테이너의 크기(폭 및 높이) 및 위치를 설정할 수 있다. 가변 크기를 설정하기 위해서는, 컨테이너의 기본 패턴(기본 크기 및 기준 위치)를 설정한다. 또한, 최대 컨테이너 크기(폭 및 높이) 및 최소 컨테이너 크기(폭 및 높이)를 설정할 수 있다.
[컨테이너의 표시 방법]
도 7a 내지 도 7d는 컨테이너의 변들에 대한 표시 룰을 설명하기 위한 도면 이다.
애플리케이션(121)은 컨테이너의 변의 상태를 표현하기 위해, 실선(503) 또는 점선(504)을 사용하여 변을 표현한다. 또한, 애플리케이션(121)은 앵커(변 근처에 그려진 506, 507, 509로 표시된 선, 형상, 아이콘), 핸들(이동, 수정을 위해 변 또는 형상에 또는 그 근처에 그려진 제어 점들(502)), 슬라이더(변의 양 측에 그려진 짧은 평행선, 도 6의 413), 확대/축소 아이콘(505), 및 색을 사용한다.
도 7a 내지 도 7d에 도시된 컨테이너 디스플레이 방법의 룰은 다음과 같다.
(1) 고정 변은 실선으로 그린다.
(2) 폭이 고정되어 있는 경우, 좌측 및 우측 변들을 실선으로 그린다.
(3) 높이가 고정되어 있는 경우, 상부 및 하부 변들을 실선으로 그린다.
(4) 축은 그리지 않는다.
(5) 상기 룰 (1) 내지 (3)에 따라 그려지지 않은 각각의 변 근처에 확대/축소 아이콘을 그린다. 그 변들은 점선으로 그린다.
(6) 수직변과 수평변의 쌍 또는 수직축과 수평축의 쌍이 고정되어 있는 경우, 그들 간의 교차점에 앵커를 그린다.
(7) 고정된 변에 앵커가 그려져 있지 않은 경우, 에지의 중심에 슬라이더를 그린다.
(8) 수직변과 수평변의 쌍 또는 수직축과 수평축의 쌍에 앵커도 슬라이더도 그려져 있지 않은 경우, 그들 간의 교차점에 핸들을 그린다.
상술한 바와 같이, 상술된 룰 (1), (2), (3)에 의해 정의된 선들은 고정되거 나 제한되며, 실선으로 그린다. 룰 (5)에 의해 정의된 가변 변은 점선으로 그린다. 룰(6), (7), (8)에 의해 정의된 고정 점들에는 앵커가 표현된다. 일부 고정된 변들에는 슬라이더가 표현된다. 나머지 점들에는 핸들이 표현된다.
상술된 룰에서, 후에 사용자가 설정한 제약에 대해 보다 높은 우선순위가 부여된다. 즉, 후에 다른 제약이 설정되어 상술된 룰에 따라 그려져야 하는 변에 영향을 미칠 수 있는 경우, 실선이나 점선의 드로잉 내용이 변경된다.
가변 변이 그려지는 위치는 컨테이너의 컨텐트에 의존한다. 후술되는 바와 같이, "동적 교정 처리"가 사용되며, 이는 컨텐트가 문서 템플릿과 통합되어 유저 인터페이스에 의해 가시화됨을 나타낸다. 유저 인터페이스에서 가변 변의 레이아웃 위치를 결정하기 위한 다른 수단을 사용할 수도 있다. 예를 들어, 모든 문서에서 평균된 컨테이너 크기(컨텐트 에리어)를 이용하여 유저 인터페이스 내의 가변 변의 레이아웃 위치를 결정할 수도 있다.
이들 컨텐트 표현은 컨테이너의 각 변의 상태를 표시하는 그래픽 수단을 제공한다. 그 표현은 다음과 같이 해석될 수 있다.
(1) 도 6의 변 410과 같이, 점선은 컨테이너의 컨텐트에 의존하여 문서 내의 변의 위치가 변화하는 것을 의미한다.
(2) 실선은 해당 변이 고정되어 있거나(변 411) 또는 컨테이너의 폭 또는 높이가 고정되어 있기 때문에 상기 변이 제한됨을 의미한다(컨테이너(408)에서 4개 변이 실선으로 되어 있어 그 폭과 높이가 고정되어 있다).
(3) 앵커는 변 및 축이 교차하는 지점이 고정되어 있는 것을 의미한다. 그 러므로, 앵커점은 모든 문서에서 수평 및 수직 위치에서 나타나게 된다. 앵커는 당연히 고정되어 있다. 도 6의 아이콘 409는, 변 414가 교차하는 위치가 고정되어 있음을 나타내는 앵커 아이콘의 예이다.
(4) 슬라이더는 연관된 변의 길이가 고정되어 있지만 병행 이동할 가능성이 있는 것을 의미한다. 예를 들어, 도 6에서 슬라이더(413)는 컨테이너(408)의 컨텐트가 문서 내의 특정한 다이어그램으로 표현되는 위치의 좌측 또는 우측에 표시될 수도 있다. 예를 들어, 컨테이너(408)와 연관되어 있는 컨테이너(407)(이들 컨테이너 사이에 링크가 설정됨)에 삽입되는 데이터의 화상 크기 또는 텍스트량이 적은 경우에는, 컨테이너(407)의 크기가 작아진다. 이 때문에, 컨테이너(408)는 좌측 방향으로 슬라이드(병행 이동)하여 레이아웃된다. 컨테이너(407)의 크기가 커지는 경우에는, 반대로 컨테이너(408)는 우측 방향으로 슬라이드하여 레이아웃되게 된다.
이들 아이콘 및 변의 일부 또는 모두는, 어떤 툴, 어떤 컨테이너를 선택/하이라이트 또는 액티브로 할까에 의해서, 묘화되거나 되지 않기도 한다. 일반적으로, 컨테이너의 변 및 아이콘은 문서 템플릿 디자인에 있어서 보조 툴이기 때문에, 인쇄물에는 묘화되지 않는다.
상술한 바와 같이, 컨테이너의 폭과 높이의 기본값, 최소값, 최대값을 포함한 기본 패턴의 설정은 2차적인 대화창에 표시된다.
도 7a를 참조하면, 컨테이너(501)에 있어서 폭과 높이는 고정되어 있지 않다(가변이다). 고정된 변(503)은 실선으로 표현된다. 가변의 변(504)은 점선으로 표현된다. 확장/수축 아이콘(505)은 인접하는 변(504)이 가변인 것을 나타낸다. 다른 형태의 표시자를 대신 또는 추가로 사용할 수도 있다.
도 7b를 참조하면, 컨테이너(501)에 있어서 폭과 높이는 가변이다. 앵커 아이콘(506)이 추가되어 변들(503)이 교차하는 코너의 위치가 고정되어 있음을 명시적으로 표현하고 있다.
도 7c를 참조하면, 컨테이너(501)에 있어서 폭과 높이는 가변이다. 이 상태에서, 컨테이너는 앵커 아이콘(507)에 의해 지시된 중심점으로부터 동등하게 연장된다. 즉, 컨테이너(501)는 앵커 아이콘(507)을 중심으로 확대 또는 축소가 가능하다. 확대/축소에 있어서, 앵커 아이콘(507)이 항상 컨테이너(501)의 중심점에 배치되도록 레이아웃이 조정된다.
도 7d를 참조하면, 컨테이너(501)의 상부 변(508)은 고정되어 있지만, 폭과 높이는 모두 가변이다. 상부 변(508)의 중심에 배치된 앵커 아이콘(509)은 고정되어 있다. 컨테이너(501)의 좌변과 우변(502)은 앵커 아이콘(509)을 통하여 수직으로 연장하는 중심축(수직축)을 중심으로 확대 및 축소된다.
[링크 설정 방법]
다음으로, 컨테이너들을 서로 연관시키는 링크의 설정에 대하여 설명한다. 도 8은 링크의 설정 방법을 도시한 흐름도이다. 도 9a 내지 도 9c는 링크 설정시의 유저 인터페이스(UI)의 천이예를 나타내고 있다. 도 8 및 도 9a 내지 도 9c를 참조하여 컨테이너에 링크를 설정하는 방법을 설명한다.
먼저, 단계 S601에 있어서, 레이아웃 편집 애플리케이션(121)은 유저 인터페 이스 화면의 워크 에리어(306)에서의 편집을 위해 선택된 문서 템플릿을 표시한다. 링크 설정을 위해, 링크 설정을 위한 컨테이너(적어도 2개)를 문서 템플릿 상에 작성해야 한다. 도 9a 내지 도 9c에서는, 단계 S601에서 2개의 컨테이너가 작성되고 링크가 설정된 경우의 유저 인터페이스의 천이예를 나타내고 있다.
다음으로, 단계 S602에 있어서, 레이아웃 편집 애플리케이션(121)은, 전술한 링크 툴이 선택 상태(도 6의 버튼(406)의 클릭에 의해 선택 상태로 됨)로 되어 있는지를 판단한다. 단계 S602에서 NO인 경우, 필요에 따라 다른 처리가 실행되며(단계 S609), 단계 S602로 복귀한다.
도 9a를 참조하면, 컨테이너(601, 602)는 고정되어 있는 변만을 갖는다. 참조부호 603과 604는 도 6의 409와 동일한 앵커를 나타내며, 참조부호 605는 마우스 포인터를 나타낸다. 링크 툴 버튼(406)이 선택 상태로 되어 있을 때, 사용자는 링크를 설정해야 하는 2개의 컨테이너 중의 한쪽(컨테이너(601)를 클릭하여 컨테이너를 선택한다. 이 조작에 따라서, 레이아웃 편집 애플리케이션(121)의 유저 인터페이스(103)는 제1 컨테이너가 지정된 것을 인식하고(단계 S603), 선택된 컨테이너를 특정하는 정보를 보유한다. 또한, 이후의 마우스 커서의 이동에 따른 궤적을 화면에 표시하도록 한다(단계 S604). 예를 들어, 도 9b에 있어서의 선분(606)은 도 9a의 상태에서의 클릭 위치와 현재의 마우스 커서의 위치를 연관한 선을 나타낸다. 이 UI에 의해 링크를 설정할 위치를 사용자에게 명시적으로 제공할 수 있다.
다음으로, 사용자는, 도 9b에 도시한 바와 같이, 다른 한쪽의 컨테이너(컨테이너(602))로 마우스 포인터를 이동시켜 이를 클릭한다. 이 조작에 따라서, 유저 인터페이스(103)는 제2 컨테이너가 지정된 것을 인식한다(단계 S605). 레이아웃 편집 애플리케이션(121)은, 단계 S604에서 유지한 제1 컨테이너와 단계 S605에서 지정 컨테이너로서 인식된 제2 컨테이너 사이에 링크를 설정한다(단계 S606).
사용자에 의해 선택된 2개의 컨테이너(601, 602) 사이에 링크가 설정되면, 링크 UI(607)가 표시된다(단계 S607). 또한, 링크가 설정되면, 컨테이너의 표시 상태는 도 9c의 상태가 된다(단계 S608). 즉, 링크가 설정되면, 컨테이너의 UI가 자동적으로 변경된다. 이 경우, 링크에 의해서 서로 연관되어 있는 변들이 가변 변으로 변경되어 점선으로 도시되게 된다. 도 9c를 참조하면, 변(608)은 점선으로 도시되고 있다. 즉, 전술한 바와 같이 변(608)은 가변의 변이다.
또한, 도 9c에 도시한 바와 같이, 링크 설정에 의해 컨테이너의 변이 가변으로 되므로 컨테이너의 변의 상태는 자동적으로 변화된다. 이는 링크 설정에도 불구하고 모든 변이 고정되는 경우에 생길 수 있는 모순을 방지하기 위함이다. 또한, 참조부호 609는 도 7a 내지 도 7c의 아이콘 505와 마찬가지로, 링크 설정에 의해, 컨테이너가 변화할 수 있는 방향을 사용자에게 시각적으로 보여주는 마크이다. 도 9c의 예에서는, 좌측 컨테이너의 우변과 우측 컨테이너의 좌변이 가변인 상태로 변화한다. 이것은 일례일 뿐이다. 예를 들어, 우측 컨테이너가 도 6의 슬라이더(413)를 갖는 설정으로 변화할 수도 있다.
[가변 길이의 링크 설정]
도 10은 가변 링크의 설정을 위한 유저 인터페이스를 나타낸 것이다. 도 6과 같이, 유저 인터페이스는 애플리케이션 윈도우(301)와 툴바(303)를 갖는다. 도 10의 상태에서는, 문서 템플릿(309) 상에 컨테이너(1203)와 컨테이너(1204)가 존재한다. 컨테이너는 앵커 아이콘(1201, 1202)과 고정된 변(1205, 1206, 1212, 1213)을 포함한다. 컨테이너들(1203, 1204) 사이에는 가변 크기의 링크(1209)가 있어, 컨테이너들(1203, 1204)을 연관하고 있다. 컨테이너(1203)와 컨테이너(1204)의 사이에는 링크가 설정되어 있기 때문에 컨테이너(1203)의 우변(1207)과 컨테이너(1204)의 좌변(1208)은 점선으로 표현되어 있다. 이 때문에, 컨테이너에 는 표시자(1210, 1211)가 표시되어 변(1207)과 변(1208)이 가변인 것을 나타내고 있다.
도 11은 본원의 특징적 구성인 링크 설정 수단에 있어서의 유저 인터페이스 화면을 나타낸 것이다. 도 11은 링크(1209)의 정보를 설정하기 위한 대화창(701)의 일례이다. 이 대화창은 타이틀바(702), 툴버튼(703), 대화창의 개폐 버튼(704), 각종 정보 설정 에리어(709)를 포함한다. 이 대화창에서는, 링크 타입을 가변 길이(707) 또는 고정 길이(706) 중에서 택일적으로 선택할 수 있다. 링크 타입이 "가변"인 경우에는 링크의 길이의 최소값(최소 거리 710), 최대값(최대 거리 712), 및 기준값(거리 711)을 설정할 수 있다. 도 11의 대화창(701)은 도 8 및 도 9a 내지 도 9c에서 설명한 링크의 설정 조작에 의해서 2개의 컨테이너 사이에 링크가 설정되고 이 설정된 링크가 클릭 등의 조작에 의해서 선택되었을 때에 표시된다. 또는, 링크를 설정한 직후에, 상기 링크에 관한 대화창(701)이 자동적으로 표시되도록 할 수도 있다. 컨테이너들 사이의 거리의 기준값(711)은, 데이터를 삽입했을 때에 각 컨테이너의 크기가 변경되지 않는 경우에 이용되는 링크의 길이이다.
도 12는, 본 실시예의 유저 인터페이스(103)에 의한 가변 링크의 설정 수순을 설명하는 흐름도이다. 예를 들어, 도 15의 컨테이너 A와 컨테이너 B 사이에 도 8 및 도 9a 내지 도 9c에서 설명한 수순으로 링크를 설정하면, 우선 고정 크기의 링크가 설정된다. 그리고, 이 링크를 선택하여 도 12에 도시하는 처리를 실행하면, 상기 링크는 고정 크기의 링크(1506)(도 15)의 상태에서 가변 크기의 링크(1209)(도 12)로 천이시킬 수 있다.
먼저, 마우스에 의해 원하는 링크(예를 들어 링크(1506))를 선택 상태로 하고, 링크 속성을 표시하기 위한 소정의 조작이 행해진다. 그러면, 레이아웃 편집 애플리케이션(121)의 유저 인터페이스(103)는 상기 조작을 링크 속성의 표시 지시의 입력으로서 인식한다(단계 S801). 링크 속성의 표시 지시를 인식하면, 유저 인터페이스(103)에는 선택 상태의 링크(이하, 대상 링크라 함)에 대응한 속성 대화창(701)(도 11)이 표시되며, 링크 속성이 표시된다(단계 S802). 또한, 링크는 컨테이너의 기본 패턴의 설정과 마찬가지로, 마우스의 우측 버튼을 클릭하거나 또는 키보드의 특정 키를 조작하는 등 임의의 조작에 의해 선택될 수 있다.
단계 S802에서 표시되는 대화창(701)에는 선택된 링크의 현재의 상태가 도시된다. 본 예에서는, 링크(1506)가 선택되었으므로 이 단계에서는 링크 크기가 고정되어 있다. 링크 타입(705)으로서, 고정 길이가 선택되었음을 나타내는 고정 길이(706)가 표시된다.
이 대화창(701)에 있어서 링크를 고정 크기로부터 가변 크기로 변경하기 위해, 링크 타입(705)으로서 가변 링크(707)가 선택된다. 이에 따라 링크 거리(708)에 배열되어 있는 최대 거리(712), 최소 거리(710), 거리(711)가 유효하게 되고, 수치의 설정이 가능하게 된다. 사용자는 링크의 가변 크기를 설정하기 위해 그 링크의 길이의 최대값을 최대 거리(712)에, 최소값을 최소 거리(710)에, 현재의 값을 거리(711)에 설정하게 된다.
설정을 끝내면, 사용자는 일반적인 대화창 개폐 버튼(704)을 클릭하여 상기 설정의 적용을 지시한다. 유저 인터페이스(103)가 이 지시를 검출하면, 단계 S803로부터 단계 S804로 처리를 진행하여, 상기 대상 링크에 설정 상태를 반영한다.
단계 S804에서 레이아웃 편집 애플리케이션(121)은 대상 링크가 고정 크기인지 가변 크기인지를 판정한다. 고정 크기가 지정되어 있으면 단계 S808로 진행하여, 대상 링크를 "고정 크기"로 설정한다. 단계 S807에서 대상 링크의 표시 상태를 "고정 링크"를 나타내는 "실선"으로 변경한다.
단계 S804에서 가변 크기가 지정되어 있으면, 단계 S805로 진행한다. 레이아웃 편집 애플리케이션(121)은 대상 링크를 "가변 크기"로 설정한다. 단계 S806에서 상기 대화창(701)에 설정된 대상 링크의 현재값(기준값), 최대값, 최소값을 등록한다. 단계 S807에서 대상 링크의 표시 상태를 "가변 링크"를 나타내는 "점선"으로 변경한다. 그 결과, 도 10의 링크(1209)에 도시된 상태로 링크의 UI 표시가 변경된다. 상기 대화창(701)의 설정 정보는 메모리에 저장된다.
거리(711)에 설정되는 현재값으로는, 현재 레이아웃되어 있는 컨테이너의 사이의 거리가 디폴트값으로서 자동 입력되도록 할 수 있다.
이상, 유저 인터페이스(103)에 의한 문서 템플릿 레이아웃 편집에 대하여 설명했다. 이하, 데이터 소스가 각 컨테이너에 삽입된 경우의 데이터 크기(묘화 크 기)에 따른 컨테이너 레이아웃의 조정 처리에 대하여 설명한다.
<레이아웃 엔진에 의한 레이아웃 계산 처리>
[레이아웃 계산 방법의 전체 흐름]
본 실시예의 레이아웃 편집 애플리케이션은, 유저 인터페이스(103)를 이용하여 컨테이너가 작성되며, 이 컨테이너들을 서로 연관시킴으로써 레이아웃(링크 설정)이 작성되는 레이아웃 모드와, 레이아웃 엔진(105)에 의해 작성한 레이아웃에 데이터 소스의 각 레코드를 삽입하여, 실제로 레코드가 삽입된 후의 레이아웃 결과를 미리보기하는 미리보기 모드를 갖는다. 미리보기 모드에 있어서, 실제의 레코드가 삽입되어, 전술한 우선순위에 따라서 레이아웃을 계산한다. 단, 미리보기 모드에서는 표시를 위한 레이아웃이 계산된다. 실제로 인쇄하는 경우에도, 레이아웃은 레이아웃 엔진(105)이 각 컨테이너에 데이터를 삽입하도록 함으로써 계산된다. 이 때의 계산 방법은 미리보기 모드와 동일하다.
도 13은 레이아웃 계산 흐름을 나타낸 것이다. 먼저, 미리보기 모드가 선택된다(단계 S1001). 미리보기 모드에서는, 레이아웃 편집 애플리케이션(121)이 사용자에게 미리보기할 레코드를 데이터 소스로부터 선택하도록 하여, 선택된 레코드의 각 필드 데이터를 각 컨테이너에 삽입하도록 결정한다(단계 S1002). 각 컨테이너에의 필드 데이터를 삽입하기로 결정되면, 레이아웃 편집 애플리케이션(121)은 레코드를 레이아웃하기 위한 계산을 행하고, 필요에 따라 레이아웃 조정을 행한다(단계 S1003). 단계 S1003에서의 레이아웃 계산의 상세에 대해서는 후술한다. 그리고, 레이아웃 편집 애플리케이션(121)은 단계 S1003에서 계산된 레이아웃을 표시 한다(단계 S1004). 레이아웃 편집 애플리케이션(121)은, 다른 레코드에 대해서도 미리보기를 행할지에 대한 사용자의 지시에 따라 판단한다(단계 S1005). 단계 S1005에서 NO인 경우, 미리보기 모드를 종료한다(단계 S1007). 단계 S1005에서 YES인 경우, 레이아웃 편집 애플리케이션(121)은 다른 레코드를 선택하여 재차 레이아웃 계산을 행하여 레이아웃의 미리보기를 행한다(단계 S1006).
또한, 미리보기 모드가 아닌 인쇄 모드가 설정된 경우에는, 인쇄하는 레코드 모두에 대하여 순차적으로 레이아웃의 계산을 행한다. 따라서, 단계 S1004는 생략된다. 단계 S1005에서는 인쇄하는 레코드를 모두 처리할지의 판단을 행한다. 단계 S1003에서 계산된 결과는 출력되며, 인쇄 데이터는 프린터 드라이버를 이용하여 생성되어 프린터에 출력된다. 이 경우, 모든 레코드(인쇄 지정된 전체 레코드)에 대한 인쇄 데이터의 출력이 종료되면 처리가 종료된다.
[레이아웃 계산 방법의 상세]
다음으로, 상기 단계 S1003에서의 레이아웃 계산의 상세에 대하여 설명한다. 도 14는 본 실시예에 따른 레이아웃의 우선순위를 설정하지 않는 경우의 레이아웃 계산 방법을 도시한 흐름도이다. 또한, 도 18a 내지 도 18c는 이 때의 UI 표시예를 나타낸 도면이다. 도 14는 레이아웃 계산의 처리 방법에 대해서만 설명하기 위한 흐름도이다. 이는 가변 데이터 프린트의 1 레코드의 인쇄/미리보기 시의 레이아웃 계산 방법에 상당한다. 복수 레코드가 존재하는 경우, 하기의 처리가 반복되게 된다.
먼저, 레이아웃 편집 애플리케이션(121)은 레이아웃을 계산하는 컨테이너의 집합을 구한다(단계 S1101). 레이아웃 계산은 연관된 컨테이너의 집합에 대해 수행한다. 예를 들어 도 15를 참조하면, 페이지상에 4개의 컨테이너가 레이아웃되어 있고 서로 연관되어 있다. 이 경우, 컨테이너 A와 컨테이너 B, 그리고 컨테이너 C와 컨테이너 D가 링크에 의해서 연관되어 있다. 따라서, 컨테이너 A, B가 집합1, 컨테이너 C, D가 집합2가 된다. 즉, 링크에 의해서 접속된 컨테이너군을 하나의 집합으로서 특정한다. 상술한 바와 같이, 참조부호 1501는 앵커, 1502는 고정된 변, 1503은 컨트롤러, 1504는 가변의 변의 변화 방향을 나타내는 화살표, 1505는 가변의 변, 1506은 링크, 그리고 1507은 슬라이더를 나타내고 있다.
다음으로, 레이아웃 편집 애플리케이션(121)은, 단계 S1101에서 구한 컨테이너의 집합으로부터, 레이아웃 계산 대상으로서의 하나의 집합을 선택한다(단계 S1102). 그리고, 선택한 컨테이너의 집합에 대하여 레이아웃의 계산을 행한다. 먼저, 삽입되는 데이터의 화상 크기 또는 텍스트량에 의해 각 컨테이너가 아무런 제약을 받지 않는 것으로 가정하고, 선택한 컨테이너의 집합에 포함되는 가변 요소인 2개의 컨테이너(A, B)의 크기를 계산한다. 구체적으로, 레이아웃 편집 애플리케이션(121)은, 컨테이너 A가 화상 데이터용 컨테이너인지 텍스트용 컨테이너인지를 판단한다. 이 판단은 상술한 바와 같이 컨테이너에 대하여 설정되어 있는 속성에 기초하여 판단할 수 있다. 다음으로, 레이아웃 편집 애플리케이션(121)은 컨테이너 A에 삽입되는 데이터를 판독한다. 컨테이너 A가 화상 데이터용 컨테이너인 경우에는, 그 화상 데이터의 크기(폭, 높이의 픽셀 수, 및 해상도)는 컨테이너 A의 제약을 받지 않는 경우의 크기로서 정의된다. 또한, 컨테이너 A가 텍스트용 컨테 이너인 경우에는, 그 텍스트 데이터의 문자 수와, 컨테이너 A의 컨테이너 속성에 지정되어 있는 폰트 타입, 폰트 크기, 문자 피치, 행 피치 등의 문자 속성에 기초하여, 컨테이너 A에 삽입되는 데이터량을 계산할 수 있다. 텍스트용 컨테이너인 경우에는, 컨테이너 A의 종횡비는 제약을 고려하지 않고는 결정할 수 없다. 도 15의 예에서는, 컨테이너 A의 상부 좌측과 하부 좌측의 코너에 앵커가 설정되어 있기 때문에, 높이(수직 방향)가 고정된다. 따라서, 레이아웃 편집 애플리케이션(121)은 컨테이너 A의 기본 패턴으로서 설정되어 있는 폭(수평 방향)을 갖는 컨테이너 A에, 계산한 데이터량(텍스트량)에 대응하는 문자를 삽입시킬 수 있는지의 여부를 판단한다. 모든 문자를 삽입할 수 있다고 판단된 경우에는, 컨테이너 A에서 기본 패턴으로 설정되어 있는 크기(폭, 높이)는 변경되지 않는다. 또한, 모든 문자를 삽입할 수 없다고 판단된 경우에는, 앵커 설정에 의해 높이가 고정되어 있기 때문에 컨테이너 A는 수평 방향으로 신장된다. 이 경우, 레이아웃 편집 애플리케이션(121)은 컨테이너 A의 폭을 계산하여, 계산한 데이터량의 문자를 삽입시킬 수 있을 수 있는가를 계산하여, 컨테이너 A의 크기를 계산한다.
다음으로, 레이아웃 편집 애플리케이션(121)은 레이아웃되는 각 컨테이너의 크기와 실제의 컨텐트의 크기 사이의 차이가 가능한 한 작아지도록 레이아웃을 최적화한다(단계 S1103). 레이아웃의 최적화는 서로 연관된 컨테이너들 사이에서 삽입되는 각 컨텐트의 크기와 레이아웃의 크기의 차이가 가능한 한 동등해지도록 이들 크기를 동적으로 변경시킬 수 있도록 행해진다. 레이아웃 편집 애플리케이션(121)은 단계 S1102에서 선택된 컨테이너의 집합의 크기, 즉 컨테이너 A와 컨테이 너 B와 링크(1506)(고정 링크의 경우 설정 링크 길이를 사용하고, 가변 링크의 경우 기준값으로 설정된 링크 길이를 사용함)의 합계 크기를 구한다. 그 후, 레이아웃 편집 애플리케이션(121)은 합계 크기와 기본 레이아웃에서의 상기 컨테이너의 집합의 크기(도 15의 예에서, 컨테이너 집합의 크기는 컨테이너 A와 컨테이너 B의 앵커 아이콘 사이의 거리에 상당함) 사이의 차이를 계산한다. 상기 계산에 의해 컨테이너 A나 컨테이너 B의 폭이 커지면 차분값이 발생한다. 레이아웃 편집 애플리케이션(121)은 이 차분값을 컨테이너의 집합의 각 요소에 균등하게 분배함으로써 레이아웃을 조정한다.
레이아웃 편집 애플리케이션(121)은 레이아웃을 최적화시킨다. 룰에 위반하는 경우에는, 재차 룰을 위반하지 않도록 계산을 한다(단계 S1104). 여기서 기술한 룰이란, 레이아웃 작성시 사용자에 의해서 설정되는 제한이다. 제한의 예로는 컨테이너의 크기의 가변 범위나 컨테이너 위치에 대한 제한과, 가변 링크인 경우는 링크 길이의 변화에 대한 제한을 들 수 있다. 룰을 위반하지 않고 레이아웃이 계산되면, 그 집합의 레이아웃은 완성된다. 그리고, 단계 S1102∼S1104의 처리를 페이지 상의 모든 집합에 대하여 실시한다. 이러한 처리에 의해, 레이아웃 편집 애플리케이션(121)은 페이지 전체의 레이아웃을 계산한다(단계 S1105).
다음으로, 본 실시예의 가변 링크를 이용한 레이아웃 계산 방법에 대하여 더욱 자세히 설명한다.
2개의 컨테이너가 링크에 의해 접속되고, 도 16a에 도시한 바와 같은 레이아웃 및 크기로 설정된 것으로 가정한다. 즉, 컨테이너(1701)의 좌변 및 상하변은 고정되어 있다. 컨테이너(1702)의 우변 및 상하변은 고정되어 있다. 컨테이너(1701)와 컨테이너(1702)를 포함하는 집합의 전체의 수평 방향 크기 D는 고정된다. 링크(1703)는 가변적이다. 기준값(대화창(701)의 현재값으로서 설정된 값)은 Cs로 설정되며, 가변 범위(대화창(701)의 최소값에서 최대값까지의 범위)는 Cmin∼Cmax로 설정되어 있다. 컨테이너(1701, 1702)의 가변 범위는 소정의 유저 인터페이스에 의해 각각 Amin∼Amax, Bmin∼Bmax로 설정되어 있다. 이 상태에서 컨텐트가 각 컨테이너에 삽입될 때의 레이아웃 계산에 대하여 도 14 및 도 17의 흐름도를 참조하여 설명한다.
먼저, 단계 S1101, S1102에서 컨테이너(1701, 1702)를 포함하는 집합을 계산 대상의 집합으로서 선택한다. 그리고, 단계 S1103 및 S1104에서 레이아웃 설정을 위한 제약의 범위에서 레이아웃을 최적화한다. 이하, 단계 S1103 및 S1104에서 선택된 집합에 있어서의 레이아웃의 최적화에 대하여 설명한다.
레이아웃 편집 애플리케이션(121)은 도 14와 마찬가지의 계산 방법에 의해, 각 컨테이너에 데이터가 삽입되었을 때의 컨테이너의 이상적인 크기를 계산한다(단계 S1801). 도 16a의 예에서는, 컨테이너(1701, 1702)의 높이는 고정되어 있다. 따라서, 삽입되는 컨텐트에 기초하여 컨테이너에 필요한 폭(이상적인 폭이라 함)이 계산된다. 예를 들어, 컨텐트가 화상 데이터인 경우는, 화상 크기를 컨테이너의 높이에 일치시킴으로써, 화상의 종횡비로부터 이상적인 값을 결정할 수 있다. 컨텐트가 텍스트 데이터인 경우는, 각 행(행의 시작부터 행바꿈까지의 부분을 행이라 함)을 선형으로 배열하고, 컨테이너의 폭을 컨테이너의 높이와 일치할 때까지 감소 시킴으로써 이상적인 값을 결정할 수 있다. 컨테이너의 폭과 높이가 가변이고 컨텐트가 화상 데이터인 경우에는, 화상 크기를 이용하여 이상적인 값을 결정한다. 컨테이너의 폭과 높이가 가변이고 컨텐트가 화상 데이터인 경우에는, 각 행을 선형으로 배열했을 때의 최대 폭을 이상적인 값으로 한다. 그리고, 컨테이너(1701, 1702)의 이상적인 폭과 링크(1703)의 기준값에 의한 집합의 합계 폭을 상기 집합에 대하여 설정되어 있는 폭(D)과 비교한다(단계 S1802).
컨테이너(1701)와 컨테이너(1702)에 대하여 계산된 이상적인 폭을 각각 Ac, Bc라고 하자. 링크(1703)의 기준값(도 11의 대화창에서 거리(711)에 설정된 값)은 Cs이기 때문에, 레이아웃 편집 애플리케이션(121)은 Ac+Bc+Cs=D인지를 판정한다(단계 S1803). 단계 S1803에서 YES이면, 레이아웃 편집 애플리케이션(121)은 폭 Ac, Bc와 링크의 길이 Cs에 기초하여 레이아웃을 결정한다(단계 S1804).
한편 Ac+Bc+Cs≠D인 경우는, 레이아웃 편집 애플리케이션(121)은 그 차분을 각 컨테이너와 가변 링크에 균등하게 분배한다(단계 S1805). 보다 구체적으로는, 설정 폭 D와의 차분값 δ를 δ=(Ac+Bc+Cs)-D에 의해 구한다.
차분값 δ는 2개의 컨테이너(1701, 1702)와 1개의 링크(1703)에 분배된다. 즉,
A'=Ac-(δ/3)
B'=Bc-(δ/3)
C'=Cs-(δ/3)
을 계산하는 것에 의해 레이아웃을 최적화한다. 이 최적화에 따르면, 설정 폭 D로 되도록, 각 컨테이너 박스의 폭이나 링크의 길이를 증대 또는 감소시킨다. 이 예에서는, 차분을 각 요소(컨테이너 및 가변 링크)에 균등하게 분배하고 있다. 이 계산은 수평 방향, 즉 분산을 1차원적으로 고려할 수 있는 경우에만 유효하다. 도 16c에서 후술하는 바와 같이, 앵커 설정에 기초하여 차분의 분배를 2차원적으로 고려하는 경우에는, 사용자가 결정한 기본 레이아웃이 가능한 한 유지되도록 레이아웃 조정이 수행된다. 따라서, 균등 분배는 수행되지 않는다.
도 14의 단계 S1104 및 도 17의 단계 S1806에서는, 레이아웃 편집 애플리케이션(121)은 룰 위반이 발생했는지의 여부를 검출한다. 예를 들어, 상기 계산된 A'∼C' 값이 레이아웃 설정 시에 설정된 각 컨테이너의 변화 범위(Amax∼Amin, Bmax∼Bmin) 또는 링크 길이의 변화 범위(Cmax∼Cmin)를 넘는지를 체크한다. 그 값이 설정 범위를 초과하는 것이면, 단계 S1103으로 되돌아가 룰에 적합하도록 레이아웃을 재계산한다. 이 계산의 방법으로서는, 계산된 크기가 설정 범위를 초과하는 요소의 크기를 설정 범위 내로 고정하고, 나머지 요소에 차분값을 분배하도록 한다(단계 S1807, S1805). 예를 들어, (Ac+Bc+Cs)가 설정 폭 D보다 크고, 상기 식에 의해 차분값을 분배하여 얻은 링크의 길이 C'가 설정된 최소값 Cmin보다도 작은 경우에는 이하와 같이 처리된다.
링크의 길이를 최소값 Cmin으로 결정하고, 차분값 δ'을,
δ'=(Ac+Bc+Cmin)-D
에 의해 계산한다.
이 차분값 δ'을 컨테이너(1701, 1702)의 폭에 분배한다. 즉,
A'=Ac-(δ'/2)
B'=Bc-(δ'/2)
C'=Cmin
따라서, 각 컨테이너와 링크의 크기가 결정된다.
이상은 수평 방향의 레이아웃 계산을 설명하였다. 수직 방향으로 레이아웃된 컨테이너와 가변 링크를 포함하는 집합에 대한 수직 방향의 레이아웃 계산에도 상기 방법을 마찬가지로 적용할 수 있다. 또한, 상기 방법은 동일 방향(수평 또는 수직 방향)으로 3개 이상의 컨테이너가 레이아웃된 경우에도 용이하게 적용할 수 있다. 보다 구체적으로, 도 16b에 도시한 바와 같이, 컨테이너(1701, 1702, 1704)와 가변 링크(1703, 1705)를 포함하는 집합에 있어서, 각 컨테이너의 이상적인 폭을 Ac, Bc, Ec라고 하고, 링크의 기준값을 Cs, Fs라고 하자. 이 경우, 집합의 설정 폭 D를 "Ac+Bc+Ec+Cs+Fs"와 비교한다. 그 값이 일치하지 않으면 이들의 차분을 각 컨테이너와 링크에 균등하게 분배하여 레이아웃을 조정한다.
또한, 상기 방법은 레이아웃을 계산하는 방향에 고정 크기의 컨테이너 또는 링크가 포함되어 있는 경우에 대해서도 용이하게 적용할 수 있다. 이 경우, 계산된 차분값은 고정 컨테이너 또는 링크에는 분배되지 않는다.
상기 예에서는 컨테이너와 가변 링크에 균등하게 차분이 분배되었다. 각 컨테이너와 링크에 우선순위를 부여하여, 우선순위가 높은 영역에 우선적으로 차분을 분배할 수도 있다. 예를 들어, 도 11에 도시한 링크 속성 설정 UI에서, "컨테이너보다 링크를 우선적으로 가변시킴"이라는 체크 박스를 설치한다. 이 체크 박스가 체크되어 있는 경우에는, 차분이 가변 링크에 우선적으로 분배된다. 이 경우, 먼저 가변 링크의 길이를 그 가변 범위 내에서 조정함으로써 집합의 폭을 설정 폭에 일치시킨다. 가변 링크를 최대값 또는 최소값으로 설정된 경우에도 설정 폭으로 할 수 없는 경우에는, 컨테이너에 그 차분값을 분배하여 레이아웃을 조정한다. 즉, 본 실시예의 특징은, 레이아웃 조정에 있어서 적어도 가변 링크의 길이를 조정하는 것이 중요하고, 이러한 처리에 의해 외관이 우수한 레이아웃을 실현하는 것이다.
또한, 컨테이너의 레이아웃에서 수평 방향과 수직 방향의 2차원적인 레이아웃을 취급하는 경우도 있다. 예를 들어 도 16c에 도시되는 레이아웃인 경우는 레이아웃 조정의 대상이 되는 집합에 컨테이너(1701, 1702, 1704)와 가변 링크(1703, 1705)가 포함된다. 본 실시예에서는, 먼저 수평 방향으로 조정을 행한 다음 수직 방향으로 조정을 행한다. 보다 구체적으로, 컨테이너(1701, 1702)의 사이에 상술한 수순에 따라 설정 폭 D가 얻어지도록 레이아웃 조정을 행한다. 그 후, 컨테이너(1703, 1704)의 사이에 설정 폭 G가 얻어지도록 레이아웃 조정을 행한다. 그러나, 단순히 수평 방향으로 조정을 행한 후에 수직 방향으로 조정을 행하는 조정 방법에서는, 조정량이 첫번째 조정 방향(수평 방향)에 집중되어 사용자가 소망하는 기본 레이아웃과는 상이한 레이아웃 결과로 될 수 있다. 그 때문에, 각 컨테이너에 대하여, 기본 패턴(종횡비)으로부터의 레이아웃 결과의 편이를 가능한 한 억제하기 위하여 기본 패턴의 폭과 레이아웃 조정 후의 폭의 차의 제곱을 기본 패턴의 높이와 레이아웃 조정 후의 높이의 차의 제곱과 합산한다. 이 합계를 모든 컨테이 너에 대하여 계산한다. 레이아웃 편집 애플리케이션(121)은 각 컨테이너의 폭과 높이를 계산함으로써 각 컨테이너의 제곱의 총합이 최소로 되도록 레이아웃 조정을 행할 수도 있다. 본 실시예에서 이 방법을 최소제곱법이라고 부른다. 이 최소제곱법을 이용하면, 사용자가 처음에 설정한 기본 레이아웃으로부터 크게 벗어나지 않고 전체적으로 균형이 잡힌 최종 레이아웃을 결정할 수 있다.
도 18a∼도 18c는 우선순위의 설정없이 컨테이너를 레이아웃한 경우의 UI 예이다.
도 18a는 레코드가 삽입되어 레이아웃이 결정되어 있는 상태를 나타내고 있다. 참조부호 1301과 1302는 앵커, 1303과 1304는 고정된 변, 1305는 가변의 변, 1306은 가변의 변의 변화 방향을 나타내는 화살표, 1308은 링크를 각각 나타내고 있다. 이 상태에서, 레코드를 변경하여 다른 크기의 컨텐트를 삽입한다. 도 18b는 도 18a의 상태에 새로운 컨텐트의 크기를 중첩시킨 것이다. 참조부호 1309는 각 컨테이너에 삽입되는 컨텐트의 크기를 나타내고 있다. 그리고, 레이아웃 계산이 행하여진다. 도 18c는 레이아웃 계산된 결과를 나타내고 있다. 컨테이너의 크기는 실제 삽입되는 컨텐트의 크기와 동등한 차이가 나고, 전술한 룰을 위반하지 않도록 계산된다. 도 18b에 도시한 삽입되는 컨텐트 크기(1309)와 도 18a에 도시한 기준 컨테이너(1305)의 차이는, 링크(1308)가 가변인 경우 상기 컨테이너와 링크에 동등하게 분배된다. 그 결과, 도 18c에 나타낸 바와 같이, 계산 후의 컨텐트 크기(1310)는 기준 컨테이너의 크기와 동일한 차이를 갖게 된다.
다음으로, 도 19 및 도 20을 참조하여 컨테이너에 삽입되는 데이터가 화상인 경우의 가변 링크의 효과를 설명한다.
도 19는 도 10의 링크(1209)에 고정 크기의 링크를 사용한 경우의 레이아웃 결과를 나타내고 있다. 레이아웃 계산 방법은 전술한 방식으로 수행된다. 예를 들어 도 10에 있어서 컨테이너(1203, 1204)에 서로 다른 크기의 화상 데이터가 삽입된 경우를 가정하자. 이 경우, 각 컨테이너는 데이터의 크기를 최적인 것으로 간주한다. 컨테이너(1203)는 삽입된 화상 크기에 대응하는 프레임(804)(최적 컨테이너 크기)에 근접하도록 우측 방향으로 그 크기를 변경한다. 마찬가지로, 컨테이너(1204)는 삽입된 화상 크기에 대응하는 프레임(805)(최적 컨테이너 크기)에 근접하도록 좌측 방향으로 그 크기를 변경한다. 그러나, 컨테이너(1203)의 좌측변(1212)과 컨테이너(1204)의 우측변(1213)은 앵커(1201, 1202)로 인해 이동이 불가능하다. 컨테이너의 크기를 변경하기 위해서는 이들 사이의 거리를 좁혀야 한다. 그러나, 컨테이너 사이에는 고정 크기의 링크(803)가 설정되어 있다. 레이아웃 계산 시에 링크 길이는 유지되기 때문에, 컨테이너(1203, 1204)의 크기가 변경되게 된다.
그 결과, 컨테이너(1203, 1204)는 데이터의 종횡비에 대응하는 최적의 크기를 확보할 수 없다. 결국, 도 19에 도시한 바와 같이, 컨테이너는 최적의 크기(프레임 804, 805)보다 작아진다. 즉, 링크(803)의 크기가 고정이기 때문에 컨테이너(1203, 1204)는 최적의 크기를 달성할 수 없다(도 19에서, 각 컨테이너 내의 일점 쇄선으로 도시한 범위는 데이터의 종횡비를 나타낸다).
도 20은 도 19와 마찬가지의 상태에서 링크를 가변 크기로 한 경우를 나타낸 다. 이 경우, 상기 예로 컨테이너(1203)와 컨테이너(1204)의 사이에는 도 20에 도시한 바와 같이 가변 크기의 링크가 설정되어 있다. 따라서, 컨테이너(1203, 1204)의 크기가 변경되는 때에는, 링크 크기가 감소되어 컨테이너(1203, 1204)를 도 19의 예보다 크게 할 수 있다. 이 결과, 삽입되는 데이터 크기에 대응하는 최적의 크기를 달성할 수 있다. 또는, 삽입되는 데이터 크기(최적의 크기)에 가까운 컨테이너 프레임을 설정할 수 있다. 도 20은 이 결과를 도시하고 있다. 가변 링크(1209)의 크기는 레이아웃 계산의 결과로서 가변 링크(903)에 의해 표시된 크기로 변경된다. 이 경우, 컨테이너(1203, 1204)는 최적의 크기(데이터 크기에 대응하는 크기)로 된다.
《제2 실시예》
상기 제1 실시예에서는, 유저 인터페이스(103)에 의해 컨테이너 사이에 가변 크기의 링크를 설정하기 위하여 먼저 고정 링크를 설정한다. 그 후, 원하는 링크를 선택하여 도 11과 같이 대화창을 표시하여 가변 링크로 설정한다. 제2 실시예에서는, 가변 링크의 설정을 위한 유저 인터페이스의 변형예를 설명한다.
도 21은 제2 실시예에 따른 유저 인터페이스의 일례를 나타내는 도면이다. 도 10의 유저 인터페이스에 새로운 링크 툴(407)이 추가된다. 링크 툴(406)은 고정링크를 설정하기 위한 툴이다. 고정 링크를 가변 크기의 링크로 변경하기 위해서는 도 12에 도시된 수순(제1 실시예)이 필요하다.
링크 툴(407)을 사용하는 경우, 링크 툴(406)과 달리 처음부터 컨테이너 사이에 가변 링크를 설정할 수 있다. 이 때문에 사용자가 처음부터 가변 링크를 설 정하고 싶은 경우에, 특성 대화창을 열고 고정 링크를 가변 링크로 변경할 필요가 없다. 링크 설정 방법은 전술한 방법에 따르지만, 컨테이너 사이에 설정된 가변 크기의 링크는 미리 설정된 값(최대값, 최소값, 링크 설정 시의 크기)이 설정된 것으로 전제된다. 사용자가 동일한 가변 영역을 갖은 링크를 다수의 컨테이너 사이에 설정하고 싶은 경우, 전술한 효과 외에 미리 가변 크기를 지정해 두면 컨테이너 사이에 링크를 신속하게 설정할 수 있게 되는 효과를 기대할 수 있다. 이 링크 툴(407)을 사용하여 컨테이너 사이에 설정되는 크기(링크 설정 시의 링크 크기)로서는, 컨테이너 사이의 현재 거리가 유지되는 것이 바람직하다. 그 크기는 일반적으로 도 11에서 설명한 바 있는 특성 대화창에 있어서 미리 설정된다. 링크 툴(407)이 선택되면 상기 설정값을 디폴트값으로서 이용하여 컨테이너 사이에 링크가 설정된다. 링크 툴(407)을 사용하여 설정된 링크의 UI 표시는, 컨테이너 사이에 링크가 설정된 경우, 상술한 바와 같이 고정 링크를 표시하는 것과 구별된다. 예를 들어, 도 20의 링크 표시자(903)와 같이 가변 링크를 나타내는 점선을 사용하여 가변 링크가 UI에 표시된다. 그 후의 레이아웃 계산에 있어서는 전술한 레이아웃 계산 룰에 따라서 레이아웃이 계산된다.
이상과 같이, 전술한 실시예에 따르면, 각 컨테이너의 최적의 크기에 우선권을 부여할 수 있다. 컨테이너를 보다 이상적인 크기로 레이아웃할 수 있으며, 사용자가 소망한 레이아웃 결과를 제공할 수 있다. 이 때문에, 예를 들어, 최적의 컨테이너 크기를 용이하게 실현할 수 있다. 링크의 크기가 가변이므로, 컨테이너 사이의 거리를 서로 다른 때에 삽입되는 데이터량에 따라서 컨테이너 사이의 거리 를 유연하게 변경할 수 있고, 최적의 컨테이너 크기를 달성할 수 있다. 다른 량의 데이터가 삽입되는 경우에도, 데이터에 대응하는 최적의 컨테이너 크기를 계산할 수 있다. 그 결과, 최적의 레이아웃을 사용자에게 제공할 수 있다.
《다른 실시예》
본 발명의 목적은 전술한 실시예의 기능을 실현하는 소프트웨어의 프로그램 코드를 기록한 기억 매체를 시스템 또는 장치에 공급하여, 그 시스템 또는 장치의 컴퓨터(또는 CPU나 MPU)가 기억 매체에 저장된 프로그램 코드를 판독 실행함으로써 달성되는 것도 가능하다.
이 경우, 기억 매체로부터 판독된 프로그램 코드 자체가 전술한 실시예의 기능을 실현하게 되고, 그 프로그램 코드를 기억한 기억 매체는 본 발명을 구성하게 된다.
프로그램 코드를 공급하기 위한 기억 매체로는, 예를 들어 플렉시블 디스크, 하드디스크, 광 디스크, 광자기 디스크, CD-ROM, CD-R, 자기 테이프, 불휘발성의 메모리 카드, ROM 등을 이용할 수 있다.
또한, 컴퓨터가 판독한 프로그램 코드를 실행하는 것에 의해, 전술한 실시예의 기능이 실현되는 것뿐만 아니라, 그 프로그램 코드의 지시에 기초하여, 컴퓨터상에서 가동하고 있는 OS(오퍼레이팅 시스템) 등이 실제의 처리의 일부 또는 전부를 행하여, 그 처리에 의해서 전술한 실시예의 기능이 실현되는 경우도 포함되는 것은 물론이다.
또한, 기억 매체로부터 판독된 프로그램 코드가, 컴퓨터에 삽입된 기능 확장 보드나 컴퓨터에 접속된 기능 확장 유닛에 장착된 메모리에 기입된 후, 그 프로그램 코드의 지시에 기초하여, 그 기능 확장 보드나 기능 확장 유닛에 장착된 CPU 등이 실제의 처리의 일부 또는 전부를 행하여, 그 처리에 의해서 전술한 실시예의 기능이 실현되는 경우도 포함되는 것은 물론이다.
본 발명의 사상 및 범주를 일탈하지 않고 본 발명의 실시예와 다른 다수의 광범위한 변형 실시예가 가능할 것이므로, 본 발명은 특정 실시예에 국한되는 것이 아니라 첨부된 특허청구범위에 의해 규정되어야 한다.
본 발명에 따르면, 할당된 데이터에 기초하여 화상 표시를 위한 부분 영역(컨테이너) 사이의 거리(링크 길이)를 유연하게 변경할 수 있도록 함으로써, 서로 다른 때에 삽입되는 데이터량에 따라서 각 부분 영역의 크기가 적절하게 되도록 하는 자동 레이아웃 조정을 실현할 수 있다.

Claims (27)

  1. 페이지에 배치해야 할 데이터와, 해당 데이터가 입력되는 부분 영역이 배치된 템플릿을 이용하여, 상기 페이지의 레이아웃을 결정하는, 정보 처리 장치에 의해 실행되는 레이아웃 조정 방법으로서,
    복수의 부분 영역을 결합하기 위한 링크를, 상기 템플릿에 배치된 복수의 부분 영역 중 적어도 2개의 부분 영역 간에 설정하는 제1 링크 설정 단계와,
    상기 제1 링크 설정 단계에서 설정된 링크에 대하여, 상기 적어도 2개의 부분 영역 간의 거리를 나타내는 기준값, 및 상기 적어도 2개의 부분 영역 간의 거리의 가변 범위로서 최대값 및 최소값을 설정하는 제2 링크 설정 단계와,
    상기 링크에 의해 결합된 상기 적어도 2개의 부분 영역에 입력되는 데이터로부터, 해당 데이터를 묘화하기 위한 크기를 상기 적어도 2개의 부분 영역의 각각에 대하여 계산하는 계산 단계와,
    상기 계산 단계에서 계산된 상기 적어도 2개의 부분 영역의 크기와, 상기 제2 링크 설정 단계에서 설정된 상기 링크의 기준값과의 소정 방향에서의 합이, 상기 템플릿의 상기 소정 방향의 크기보다도 큰 경우, 상기 제2 링크 설정 단계에서 설정된 상기 링크의 가변 범위 내에서 상기 적어도 2개의 부분 영역 간의 거리를 변경하여 페이지 내의 레이아웃을 조정하는 조정 단계와,
    상기 조정 단계에 의해 상기 적어도 2개의 부분 영역 간의 거리를 상기 링크의 최소값으로 변경하더라도, 상기 계산 단계에서 계산된 크기의 부분 영역을 상기 템플릿 내에 배치할 수 없는 경우, 상기 링크에 의해 결합된 상기 적어도 2개의 부분 영역에 대하여, 상기 계산 단계에서 계산된 크기를 상기 템플릿 내에 알맞게 들어가도록 변경하는 변경 단계
    를 포함하는 것을 특징으로 하는 레이아웃 조정 방법.
  2. 제1항에 있어서,
    상기 조정 단계에서는, 상기 계산 단계에서 계산된 크기의 부분 영역을 상기 템플릿 내에 레이아웃할 수 없는 경우에, 상기 제2 링크 설정 단계에서 설정된 상기 가변 범위 내에서 각 부분 영역 간의 거리를 작게 변경하여 페이지 내의 레이아웃을 조정하는 것을 특징으로 하는 레이아웃 조정 방법.
  3. 삭제
  4. 제1항에 있어서,
    상기 조정 단계에서는, 상기 계산 단계에서 계산된 크기의 부분 영역을 상기 템플릿 내에 레이아웃할 수 없는 경우에, 상기 링크와 상기 적어도 2개의 부분 영역에 설정되어 있는 우선순위에 기초하여, 상기 링크 및 상기 적어도 2개의 부분 영역의 크기 중 어느 것을 조정할지를 결정하는 것을 특징으로 하는 레이아웃 조정 방법.
  5. 제1항에 있어서,
    상기 조정 단계는,
    상기 소정 방향에 대하여, 상기 링크에 의해 결합된 적어도 2개의 부분 영역에 대하여, 상기 계산 단계에서 얻어진 상기 적어도 2개의 부분 영역의 크기와 상기 링크의 기준값을 합계한 크기와, 상기 템플릿에서의 상기 소정 방향의 크기와의 차분값을 계산하는 단계와,
    상기 차분값을 해소하도록, 상기 링크와 상기 적어도 2개의 부분 영역에 상기 차분값을 분배하는 단계를 포함하는 것을 특징으로 하는 레이아웃 조정 방법.
  6. 제5항에 있어서,
    상기 분배 단계에서는, 상기 적어도 2개의 부분 영역과 상기 링크의 각각에, 설정된 가변 범위를 넘지 않는 범위에서 상기 차분값을 동등하게 분배하는 것을 특징으로 하는 레이아웃 조정 방법.
  7. 제1항에 있어서,
    각 부분 영역에 대응한 데이터를 포함하는 데이터군을 특정함으로써, 상기 조정 단계에서 조정된 결과를 포함하는 상기 페이지 상의 레이아웃을 표시 장치에 표시시키는 표시 단계를 더 포함하는 것을 특징으로 하는 레이아웃 조정 방법.
  8. 제1항에 있어서,
    표시 장치 상에, 상기 복수의 부분 영역과 각 부분 영역 간에 설정된 링크를 나타내는 그래픽 패턴을 표시시키고, 상기 제2 링크 설정 단계에 의해 가변 범위가 설정된 링크는 다른 링크와 식별 가능하게 표시시키는 식별 표시 단계를 더 포함하는 것을 특징으로 하는 레이아웃 조정 방법.
  9. 페이지에 배치해야 할 데이터와, 해당 데이터가 입력되는 부분 영역이 배치된 템플릿을 이용하여, 상기 페이지의 레이아웃을 결정하는, 정보 처리 장치에 의해 실행되는 레이아웃 조정 장치로서,
    복수의 부분 영역을 결합하기 위한 링크를, 상기 템플릿에 배치된 복수의 부분 영역 중 적어도 2개의 부분 영역 간에 설정하는 제1 링크 설정 수단과,
    상기 제1 링크 설정 수단에 의해 설정된 링크에 대하여, 상기 적어도 2개의 부분 영역 간의 거리를 나타내는 기준값, 및 상기 적어도 2개의 부분 영역 간의 거리의 가변 범위로서 최대값 및 최소값을 설정하는 제2 링크 설정 수단과,
    상기 링크에 의해 결합된 상기 적어도 2개의 부분 영역에 입력되는 데이터로부터, 해당 데이터를 묘화하기 위한 크기를 상기 적어도 2개의 부분 영역의 각각에 대하여 계산하는 계산 수단과,
    상기 계산 수단에 의해 계산된 상기 적어도 2개의 부분 영역의 크기와, 상기 제2 링크 설정 수단에 의해 설정된 상기 링크의 기준값과의 소정 방향에서의 합이, 상기 템플릿의 상기 소정 방향의 크기보다도 큰 경우, 상기 제2 링크 설정 수단에 의해 설정된 상기 링크의 가변 범위 내에서 상기 적어도 2개의 부분 영역 간의 거리를 변경하여 페이지 내의 레이아웃을 조정하는 조정 수단과,
    상기 조정 수단에 의해 상기 적어도 2개의 부분 영역 간의 거리를 상기 링크의 최소값으로 변경하더라도, 상기 계산 수단에 의해 계산된 크기의 부분 영역을 상기 템플릿 내에 배치할 수 없는 경우, 상기 링크에 의해 결합된 상기 적어도 2개의 부분 영역에 대하여, 상기 계산 수단에 의해 계산된 크기를 상기 템플릿 내에 알맞게 들어가도록 변경하는 변경 수단
    을 포함하는 것을 특징으로 하는 레이아웃 조정 장치.
  10. 제9항에 있어서,
    상기 조정 수단은, 상기 계산 수단에 의해 계산된 크기의 부분 영역을 상기 템플릿 내에 레이아웃할 수 없는 경우에, 상기 제2 링크 설정 수단에 의해 설정된 상기 가변 범위 내에서 각 부분 영역 간의 거리를 작게 변경하여 페이지 내의 레이아웃을 조정하는 것을 특징으로 하는 레이아웃 조정 장치.
  11. 삭제
  12. 제9항에 있어서,
    상기 조정 수단은, 상기 계산 수단에 의해 계산된 크기의 부분 영역을 상기 템플릿 내에 레이아웃할 수 없는 경우에, 상기 링크와 상기 적어도 2개의 부분 영역에 설정되어 있는 우선순위에 기초하여, 상기 링크 및 상기 적어도 2개의 부분 영역의 크기 중 어느 것을 조정할지를 결정하는 것을 특징으로 하는 레이아웃 조정 장치.
  13. 제9항에 있어서,
    상기 조정 수단은,
    상기 소정 방향에 대하여, 상기 링크에 의해 결합된 적어도 2개의 부분 영역에 대하여, 상기 계산 수단에 의해 얻어진 상기 적어도 2개의 부분 영역의 크기와 상기 링크의 기준값을 합계한 크기와, 상기 템플릿에서의 상기 소정 방향의 크기와의 차분값을 계산하는 수단과,
    상기 차분값을 해소하도록, 상기 링크와 상기 적어도 2개의 부분 영역에 상기 차분값을 분배하는 수단
    을 포함하는 것을 특징으로 하는 레이아웃 조정 장치.
  14. 제13항에 있어서,
    상기 분배 수단은, 상기 적어도 2개의 부분 영역과 상기 링크의 각각에, 설정된 가변 범위를 넘지 않는 범위에서 상기 차분값을 동등하게 분배하는 것을 특징으로 하는 레이아웃 조정 장치.
  15. 제9항에 있어서,
    각 부분 영역에 대응한 데이터를 포함하는 데이터군을 특정함으로써, 상기 조정 수단에 의해 조정된 결과를 포함하는 상기 페이지 상의 레이아웃을 표시 장치에 표시시키는 표시 수단을 더 포함하는 것을 특징으로 하는 레이아웃 조정 장치.
  16. 제9항에 있어서,
    표시 장치 상에, 상기 복수의 부분 영역과 각 부분 영역들 간에 설정된 링크를 나타내는 그래픽 패턴을 표시시키고, 상기 제2 링크 설정 수단에 의해 가변 범위가 설정된 링크는 다른 링크와 식별 가능하게 표시시키는 식별 표시 수단을 더 포함하는 것을 특징으로 하는 레이아웃 조정 장치.
  17. 페이지에 배치해야 할 데이터와, 해당 데이터가 입력되는 부분 영역이 배치된 템플릿을 이용하여, 상기 페이지의 레이아웃을 결정하는 레이아웃 조정 처리를 정보 처리 장치에 실행시키기 위한 제어 프로그램을 기록한 컴퓨터 판독가능한 기록 매체로서,
    상기 레이아웃 조정 처리는,
    복수의 부분 영역을 결합하기 위한 링크를, 상기 템플릿에 배치된 복수의 부분 영역 중 적어도 2개의 부분 영역 간에 설정하는 제1 링크 설정 단계와,
    상기 제1 링크 설정 단계에서 설정된 링크에 대하여, 상기 적어도 2개의 부분 영역 간의 거리를 나타내는 기준값, 및 상기 적어도 2개의 부분 영역 간의 거리의 가변 범위로서 최대값 및 최소값을 설정하는 제2 링크 설정 단계와,
    상기 링크에 의해 결합된 상기 적어도 2개의 부분 영역에 입력되는 데이터로부터, 해당 데이터를 묘화하기 위한 크기를 상기 적어도 2개의 부분 영역의 각각에 대하여 계산하는 계산 단계와,
    상기 계산 단계에서 계산된 상기 적어도 2개의 부분 영역의 크기와, 상기 제2 링크 설정 단계에서 설정된 상기 링크의 기준값과의 소정 방향에서의 합이, 상기 템플릿의 상기 소정 방향의 크기보다도 큰 경우, 상기 제2 링크 설정 단계에서 설정된 상기 링크의 가변 범위 내에서 상기 적어도 2개의 부분 영역 간의 거리를 변경하여 페이지 내의 레이아웃을 조정하는 조정 단계와,
    상기 조정 단계에 의해 상기 적어도 2개의 부분 영역 간의 거리를 상기 링크의 최소값으로 변경하더라도, 상기 계산 단계에서 계산된 크기의 부분 영역을 상기 템플릿 내에 배치할 수 없는 경우, 상기 링크에 의해 결합된 상기 적어도 2개의 부분 영역에 대하여, 상기 계산 단계에서 계산된 크기를 상기 템플릿 내에 알맞게 들어가도록 변경하는 변경 단계
    를 포함하는 것을 특징으로 하는 컴퓨터 판독가능한 기록 매체.
  18. 제17항에 있어서,
    상기 조정 단계에서는, 상기 계산 단계에서 계산된 크기의 부분 영역을 상기 템플릿 내에 레이아웃할 수 없는 경우에, 상기 제2 링크 설정 단계에서 설정된 상기 가변 범위 내에서 각 부분 영역 간의 거리를 작게 변경하여 페이지 내의 레이아웃을 조정하는 것을 특징으로 하는 컴퓨터 판독가능한 기록 매체.
  19. 삭제
  20. 제17항에 있어서,
    상기 조정 단계에서는, 상기 계산 단계에서 계산된 크기의 부분 영역을 상기 템플릿 내에 레이아웃할 수 없는 경우에, 상기 링크와 상기 적어도 2개의 부분 영역에 설정되어 있는 우선순위에 기초하여, 상기 링크 및 상기 적어도 2개의 부분 영역의 크기 중 어느 것을 조정할지를 결정하는 것을 특징으로 하는 컴퓨터 판독가능한 기록 매체.
  21. 제17항에 있어서,
    상기 조정 단계는,
    상기 소정 방향에 대하여, 상기 링크에 의해 결합된 적어도 2개의 부분 영역에 대하여, 상기 계산 단계에서 얻어진 상기 적어도 2개의 부분 영역의 크기와 상기 링크의 기준값을 합계한 크기와, 상기 템플릿에서의 상기 소정 방향의 크기와의 차분값을 계산하는 단계와,
    상기 차분값을 해소하도록, 상기 링크와 상기 적어도 2개의 부분 영역에 상기 차분값을 분배하는 단계를 포함하는 것을 특징으로 하는 컴퓨터 판독가능한 기록 매체.
  22. 제21항에 있어서,
    상기 분배 단계에서는, 상기 적어도 2개의 부분 영역과 상기 링크의 각각에, 설정된 가변 범위를 넘지 않는 범위에서 상기 차분값을 동등하게 분배하는 것을 특징으로 하는 컴퓨터 판독가능한 기록 매체.
  23. 제17항에 있어서,
    각 부분 영역에 대응한 데이터를 포함하는 데이터군을 특정함으로써, 상기 조정 단계에서 조정된 결과를 포함하는 상기 페이지 상의 레이아웃을 표시 장치에 표시시키는 표시 단계를 더 포함하는 것을 특징으로 하는 컴퓨터 판독가능한 기록 매체.
  24. 제17항에 있어서,
    표시 장치 상에, 상기 복수의 부분 영역과 각 부분 영역 간에 설정된 링크를 나타내는 그래픽 패턴을 표시시키고, 상기 제2 링크 설정 단계에 의해 가변 범위가 설정된 링크는 다른 링크와 식별 가능하게 표시시키는 식별 표시 단계를 더 포함하는 것을 특징으로 하는 컴퓨터 판독가능한 기록 매체.
  25. 페이지에 배치해야 할 데이터와, 해당 데이터가 입력되는 부분 영역이 배치된 템플릿을 이용하여, 상기 페이지의 레이아웃을 결정하는, 정보 처리 장치에 의해 실행되는 레이아웃 조정 방법으로서,
    복수의 부분 영역을 결합하기 위한 링크를, 상기 템플릿에 배치된 복수의 부분 영역 중 적어도 2개의 부분 영역 간에 설정하는 제1 링크 설정 단계와,
    상기 제1 링크 설정 단계에서 설정된 링크에 대하여, 상기 적어도 2개의 부분 영역 간의 거리를 나타내는 기준값, 및 상기 적어도 2개의 부분 영역 간의 거리의 가변 범위로서 최대값 및 최소값을 설정하는 제2 링크 설정 단계와,
    상기 적어도 2개의 부분 영역에 입력되는 데이터로부터, 해당 데이터를 묘화하기 위한 크기를 상기 적어도 2개의 부분 영역의 각각에 대하여 계산하는 계산 단계와,
    상기 계산 단계에서 계산된 상기 적어도 2개의 부분 영역의 크기와, 상기 제2 링크 설정 단계에서 설정된 상기 링크의 기준값과의 소정 방향에서의 합이, 상기 템플릿의 상기 소정 방향의 크기보다도 큰 경우, 상기 제1 링크 설정 단계에서 상기 링크가 설정된 부분 영역 간의 거리 및 상기 링크에 의해 결합된 상기 적어도 2개의 부분 영역의 크기를 변경하는 변경 단계
    를 포함하며,
    상기 변경 단계에서는, 상기 제2 링크 설정 단계에서 설정된 상기 링크의 가변 범위 내에서 상기 복수의 부분 영역 간의 거리를 변경하는 것을 특징으로 하는 레이아웃 조정 방법.
  26. 페이지에 배치해야 할 데이터와, 해당 데이터가 입력되는 부분 영역이 배치된 템플릿을 이용하여, 상기 페이지의 레이아웃을 결정하는, 정보 처리 장치에 의해 실행되는 레이아웃 조정 장치로서,
    복수의 부분 영역을 결합하기 위한 링크를, 상기 템플릿에 배치된 복수의 부분 영역 중 적어도 2개의 부분 영역 간에 설정하는 제1 링크 설정 수단과,
    상기 제1 링크 설정 수단에 의해 설정된 링크에 대하여, 상기 적어도 2개의 부분 영역 간의 거리를 나타내는 기준값, 및 상기 적어도 2개의 부분 영역 간의 거리의 가변 범위로서 최대값 및 최소값을 설정하는 제2 링크 설정 수단과,
    상기 적어도 2개의 부분 영역에 입력되는 데이터로부터, 해당 데이터를 묘화하기 위한 크기를 상기 적어도 2개의 부분 영역의 각각에 대하여 계산하는 계산 수단과,
    상기 계산 수단에 의해 계산된 상기 적어도 2개의 부분 영역의 크기와, 상기 제2 링크 설정 수단에 의해 설정된 상기 링크의 기준값과의 소정 방향에서의 합이, 상기 템플릿의 상기 소정 방향의 크기보다도 큰 경우, 상기 제1 링크 설정 수단에 의해 상기 링크가 설정된 부분 영역 간의 거리 및 상기 링크에 의해 결합된 상기 적어도 2개의 부분 영역의 크기를 변경하는 변경 수단
    을 포함하며,
    상기 변경 수단은, 상기 제2 링크 설정 수단에 의해 설정된 상기 링크의 가변 범위 내에서 상기 복수의 부분 영역 간의 거리를 변경하는 것을 특징으로 하는 레이아웃 조정 장치.
  27. 페이지에 배치해야 할 데이터와, 해당 데이터가 입력되는 부분 영역이 배치된 템플릿을 이용하여, 상기 페이지의 레이아웃을 결정하는 레이아웃 조정 처리를 정보 처리 장치에 실행시키기 위한 제어 프로그램을 기록한 컴퓨터 판독가능한 기록 매체로서,
    상기 레이아웃 조정 처리는,
    복수의 부분 영역을 결합하기 위한 링크를, 상기 템플릿에 배치된 복수의 부분 영역 중 적어도 2개의 부분 영역 간에 설정하는 제1 링크 설정 단계와,
    상기 제1 링크 설정 단계에서 설정된 링크에 대하여, 상기 적어도 2개의 부분 영역 간의 거리를 나타내는 기준값, 및 상기 적어도 2개의 부분 영역 간의 거리의 가변 범위로서 최대값 및 최소값을 설정하는 제2 링크 설정 단계와,
    상기 적어도 2개의 부분 영역에 입력되는 데이터로부터, 해당 데이터를 묘화하기 위한 크기를 상기 적어도 2개의 부분 영역의 각각에 대하여 계산하는 계산 단계와,
    상기 계산 단계에서 계산된 상기 적어도 2개의 부분 영역의 크기와, 상기 제2 링크 설정 단계에서 설정된 상기 링크의 기준값과의 소정 방향에서의 합이, 상기 템플릿의 상기 소정 방향의 크기보다도 큰 경우, 상기 제1 링크 설정 단계에서 상기 링크가 설정된 부분 영역 간의 거리 및 상기 링크에 의해 결합된 상기 적어도 2개의 부분 영역의 크기를 변경하는 변경 단계
    를 포함하며,
    상기 변경 단계에서는, 상기 제2 링크 설정 단계에서 설정된 상기 링크의 가변 범위 내에서 상기 복수의 부분 영역 간의 거리를 변경하는 것을 특징으로 하는 컴퓨터 판독가능한 기록 매체.
KR1020050008081A 2004-01-30 2005-01-28 레이아웃 조정 방법 및 장치 KR100821449B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JPJP-P-2004-00024487 2004-01-30
JP2004024487A JP4250540B2 (ja) 2004-01-30 2004-01-30 レイアウト調整方法および装置およびレイアウト調整プログラム

Publications (2)

Publication Number Publication Date
KR20050078236A KR20050078236A (ko) 2005-08-04
KR100821449B1 true KR100821449B1 (ko) 2008-04-10

Family

ID=34650864

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020050008081A KR100821449B1 (ko) 2004-01-30 2005-01-28 레이아웃 조정 방법 및 장치

Country Status (5)

Country Link
US (1) US7430713B2 (ko)
EP (1) EP1560124A3 (ko)
JP (1) JP4250540B2 (ko)
KR (1) KR100821449B1 (ko)
CN (1) CN100351770C (ko)

Families Citing this family (55)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4165888B2 (ja) * 2004-01-30 2008-10-15 キヤノン株式会社 レイアウト制御方法、レイアウト制御装置及びレイアウト制御プログラム
JP4549725B2 (ja) * 2004-04-30 2010-09-22 大日本スクリーン製造株式会社 印刷データ処理装置、印刷データ処理方法、およびプログラム
JP4047308B2 (ja) * 2004-08-06 2008-02-13 キヤノン株式会社 レイアウト処理方法、情報処理装置及びコンピュータプログラム
US8004539B2 (en) * 2004-10-20 2011-08-23 Siemens Aktiengesellschaft Systems and methods for improved graphical parameter definition
GB2421106A (en) * 2004-12-07 2006-06-14 Hewlett Packard Development Co A method and apparatus for preparing variable-data documents for publishing
JP4756870B2 (ja) * 2005-02-03 2011-08-24 キヤノン株式会社 文書処理装置及び文書処理方法並びにプログラム
US20060236230A1 (en) * 2005-04-15 2006-10-19 Xiaofan Lin Automatic layout adjustment for documents containing text
US20060248071A1 (en) * 2005-04-28 2006-11-02 Xerox Corporation Automated document localization and layout method
US20060262336A1 (en) * 2005-05-23 2006-11-23 Sharp Laboratories Of America, Inc. Manual annotation document reformation
JP4732029B2 (ja) * 2005-06-29 2011-07-27 キヤノン株式会社 レイアウト決定方法および情報処理装置およびレイアウト決定プログラム
WO2007001069A1 (ja) * 2005-06-29 2007-01-04 Canon Kabushiki Kaisha 画像処理装置、画像処理方法およびプログラム
US8839095B2 (en) * 2005-08-19 2014-09-16 Adobe Systems Incorporated User interface to define and/or communicate space between objects
US8352851B1 (en) * 2005-08-19 2013-01-08 Adobe Systems Incorporated Declarative, non-transformational layout of data
US7779362B1 (en) * 2005-09-02 2010-08-17 Adobe Systems Inc. Methods and apparatus for selecting objects by state
CN100395751C (zh) * 2005-10-14 2008-06-18 华为技术有限公司 实现页面灵活布局的装置和方法
US9015578B2 (en) * 2006-01-24 2015-04-21 Microsoft Technology Licensing, Llc Dynamic optimization of available display space
US7730422B2 (en) * 2006-01-25 2010-06-01 Microsoft Corporation Smart icon placement across desktop size changes
JP4743866B2 (ja) * 2006-02-02 2011-08-10 キヤノン株式会社 印刷指示装置、印刷装置および印刷システム
JP2007241661A (ja) * 2006-03-08 2007-09-20 Canon Inc 画像形成装置およびその制御方法
JP4829662B2 (ja) 2006-04-05 2011-12-07 キヤノン株式会社 自動レイアウトシステムおよび情報提供方法およびサーバーシステム
JP4804241B2 (ja) * 2006-06-23 2011-11-02 キヤノン株式会社 印刷データ生成装置、印刷データ生成方法、及びコンピュータプログラム
JP2008129702A (ja) 2006-11-17 2008-06-05 Canon Inc 情報処理装置および制御方法および制御プログラム
JP4869093B2 (ja) * 2007-02-02 2012-02-01 キヤノン株式会社 情報処理装置及びその制御方法
US7895170B2 (en) * 2007-02-14 2011-02-22 Ricoh Company, Ltd. Document management apparatus, document management program, and recording medium
US20090002764A1 (en) * 2007-06-27 2009-01-01 Atkins C Brian Arranging graphic objects on a page with relative area based control
KR101453295B1 (ko) * 2007-10-19 2014-10-23 삼성전자주식회사 컨텐츠 관련 항목의 표시 방법 및 장치
JP5335495B2 (ja) * 2009-03-10 2013-11-06 キヤノン株式会社 情報処理装置、画像データ生成方法、及びコンピュータプログラム
US8296653B2 (en) * 2009-04-06 2012-10-23 Xerox Corporation Variable imaging asset upload and verification
JP5219928B2 (ja) * 2009-06-03 2013-06-26 キヤノン株式会社 編集装置及び編集方法、プログラム
CN102073650A (zh) * 2009-11-25 2011-05-25 阿里巴巴集团控股有限公司 一种网页自适应调节的方法和设备
CN102096690A (zh) * 2009-12-11 2011-06-15 谷歌公司 浏览器空间的利用
JP5556164B2 (ja) * 2009-12-17 2014-07-23 株式会社島津製作所 測定データ分析処理装置及びプログラム
US10713666B2 (en) * 2009-12-24 2020-07-14 Outbrain Inc. Systems and methods for curating content
US20110265009A1 (en) * 2010-04-27 2011-10-27 Microsoft Corporation Terminal services view toolbox
CN101908076B (zh) * 2010-08-24 2012-09-12 北京世纪高通科技有限公司 页面布局自适应方法及装置
US9128733B2 (en) * 2010-11-12 2015-09-08 Microsoft Technology Licensing, Llc Display and resolution of incompatible layout constraints
US8743386B2 (en) 2011-04-05 2014-06-03 Canon Kabushiki Kaisha Executing a print job in accordance with input image data
CN103530810B (zh) * 2012-03-23 2015-10-28 山东电力集团公司青岛供电公司 电力系统基于逻辑关系的建模方法
WO2015117268A1 (en) * 2014-02-07 2015-08-13 Google Inc. Arbitrary size content item generation
US9710588B2 (en) * 2014-08-05 2017-07-18 Taiwan Semiconductor Manufacturing Company, Ltd. Method of generating modified layout for RC extraction
JP6464862B2 (ja) * 2015-03-24 2019-02-06 富士通株式会社 表示プログラム、表示方法及び表示装置
CN104915459A (zh) * 2015-07-07 2015-09-16 英业达科技有限公司 网页表单动态调整系统及其方法
CN105068779B (zh) * 2015-08-18 2018-07-13 北京恒华伟业科技股份有限公司 一种显示控制方法及装置
US9959257B2 (en) 2016-01-08 2018-05-01 Adobe Systems Incorporated Populating visual designs with web content
US11030386B2 (en) * 2016-05-17 2021-06-08 Google Llc Constraints-based layout system for efficient layout and control of user interface elements
JP2017219954A (ja) * 2016-06-06 2017-12-14 岡田 泰成 ホームページの作成を支援する方法、プログラム、記録媒体、および装置
JP6812170B2 (ja) * 2016-08-29 2021-01-13 キヤノン株式会社 情報処理装置、その制御方法、および制御プログラム
US11126685B2 (en) 2016-10-28 2021-09-21 Ebay Inc. Preview and optimization of publication for target computing device
US10713430B2 (en) 2016-11-30 2020-07-14 Google Llc Systems and methods for applying layout to documents
CN107609053A (zh) * 2017-08-23 2018-01-19 北京奇虎科技有限公司 一种网页展示方法和装置
CN108228050B (zh) * 2017-12-13 2021-01-22 创新先进技术有限公司 一种图片缩放方法、装置以及电子设备
US10699058B2 (en) 2018-05-10 2020-06-30 Adobe Inc. Digital content design system using baseline units to control arrangement and sizing of digital content
US11481083B2 (en) 2018-09-18 2022-10-25 Figma, Inc. Tool for arranging objects and adjusting spacing in a layout
JP7435059B2 (ja) 2020-03-11 2024-02-21 富士フイルムビジネスイノベーション株式会社 文書処理装置及びプログラム
CN113064566A (zh) * 2021-02-25 2021-07-02 苏州奖多多科技有限公司 一种电子屏展示方法、系统及介质

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5745122A (en) * 1992-06-23 1998-04-28 Adobe Systems Incorporated Method of establishing constraints between master and slave graphical elements
US5796401A (en) * 1996-08-09 1998-08-18 Winer; Peter W. System for designing dynamic layouts adaptable to various display screen sizes and resolutions
US5845303A (en) * 1994-12-06 1998-12-01 Netpodium, Inc. Document processing using frame-based templates with hierarchical tagging
US5953733A (en) * 1995-06-22 1999-09-14 Cybergraphic Systems Ltd. Electronic publishing system
US6389437B2 (en) 1998-01-07 2002-05-14 Ion Systems, Inc. System for converting scrolling display to non-scrolling columnar display
US6456305B1 (en) 1999-03-18 2002-09-24 Microsoft Corporation Method and system for automatically fitting a graphical display of objects to the dimensions of a display window
US20030079177A1 (en) * 1996-09-09 2003-04-24 Microsoft Corporation Automatic layout of content in a design for a medium
US7028255B1 (en) * 2000-08-14 2006-04-11 Adobe Systems Incorporated Self-sizing object placement

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5214755A (en) 1989-04-25 1993-05-25 Microsoft Corporation Document processing method and system
JP3112594B2 (ja) 1993-02-26 2000-11-27 松下電器産業株式会社 レイアウト設計装置
JPH07129658A (ja) 1993-11-02 1995-05-19 Toppan Printing Co Ltd レイアウトデザイン装置
JPH0844883A (ja) 1994-08-03 1996-02-16 Matsushita Electric Ind Co Ltd 自動レイアウト装置
JPH09146948A (ja) 1995-11-22 1997-06-06 Sharp Corp 文書作成支援装置
US5963203A (en) * 1997-07-03 1999-10-05 Obvious Technology, Inc. Interactive video icon with designated viewing position
US6573907B1 (en) * 1997-07-03 2003-06-03 Obvious Technology Network distribution and management of interactive video and multi-media containers
US6486898B1 (en) * 1999-03-31 2002-11-26 Koninklijke Philips Electronics N.V. Device and method for a lattice display
US6826727B1 (en) 1999-11-24 2004-11-30 Bitstream Inc. Apparatus, methods, programming for automatically laying out documents
JP2001184346A (ja) * 1999-12-24 2001-07-06 Matsushita Electric Ind Co Ltd 文書編集装置および文書編集プログラムを記録したコンピュータ読み取り可能な記録媒体
JP2001216292A (ja) * 2000-01-31 2001-08-10 Toshiba Corp レイアウト画像編集装置及びレイアウト画像編集方法
JP3835193B2 (ja) * 2001-03-30 2006-10-18 セイコーエプソン株式会社 ディジタルコンテンツ作成システム及びディジタルコンテンツ作成プログラム

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5745122A (en) * 1992-06-23 1998-04-28 Adobe Systems Incorporated Method of establishing constraints between master and slave graphical elements
US5845303A (en) * 1994-12-06 1998-12-01 Netpodium, Inc. Document processing using frame-based templates with hierarchical tagging
US5953733A (en) * 1995-06-22 1999-09-14 Cybergraphic Systems Ltd. Electronic publishing system
US5796401A (en) * 1996-08-09 1998-08-18 Winer; Peter W. System for designing dynamic layouts adaptable to various display screen sizes and resolutions
US20030079177A1 (en) * 1996-09-09 2003-04-24 Microsoft Corporation Automatic layout of content in a design for a medium
US6389437B2 (en) 1998-01-07 2002-05-14 Ion Systems, Inc. System for converting scrolling display to non-scrolling columnar display
US6456305B1 (en) 1999-03-18 2002-09-24 Microsoft Corporation Method and system for automatically fitting a graphical display of objects to the dimensions of a display window
US7028255B1 (en) * 2000-08-14 2006-04-11 Adobe Systems Incorporated Self-sizing object placement

Also Published As

Publication number Publication date
US20050172224A1 (en) 2005-08-04
JP4250540B2 (ja) 2009-04-08
EP1560124A2 (en) 2005-08-03
EP1560124A3 (en) 2006-08-23
JP2005216174A (ja) 2005-08-11
CN100351770C (zh) 2007-11-28
KR20050078236A (ko) 2005-08-04
US7430713B2 (en) 2008-09-30
CN1648848A (zh) 2005-08-03

Similar Documents

Publication Publication Date Title
KR100821449B1 (ko) 레이아웃 조정 방법 및 장치
US8250470B2 (en) Information processing apparatus, control method therefor, and program
KR100716084B1 (ko) 레이아웃 조정 방법 및 장치
US7555710B2 (en) Method, apparatus and program for determining layout of a page using links between partial areas in the page
US7373593B2 (en) Apparatus and method for automatically setting constraints within a document layout
US7805672B2 (en) Layout processing method, layout processing apparatus, and layout processing program that changes the priority of an area for automatic layout
US7735004B2 (en) Layout control method, layout control apparatus, and layout control program
US8464151B2 (en) Layout of field area where merchandise and advertising information are inserted or determining position and size of area where merchandise and advertising information flow
US7757167B2 (en) Document layout processing using templates
US7831909B2 (en) Information processing apparatus, control method therefor, and program with display based on change amount of field areas
JP4510653B2 (ja) レイアウト決定方法及び装置並びにプログラム
US7707494B2 (en) Information processing apparatus, control method therefor, and program
US20060203294A1 (en) Layout processing method, information processing apparatus, and computer program
US7847971B2 (en) Layout processing method, information processing apparatus, and computer program
US20060198555A1 (en) Layout control apparatus, layout control method, and layout control program
US20050172225A1 (en) Document processing apparatus, document processing method, and document processing program
US20080155387A1 (en) Information processing apparatus, control method thereof, and program
US7853872B2 (en) Laying out field regions in a page for insertion of data
US7665018B2 (en) Information processing apparatus, information processing method, and program
JP4743909B2 (ja) 情報処理方法および装置およびコンピュータプログラム
JP2007094756A (ja) 情報処理装置、レイアウト処理方法、記憶媒体およびプログラム
JP2007122487A (ja) 自動レイアウトシステム
JP2009134578A (ja) 文書処理装置、文書処理プログラム、記憶媒体

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20130320

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20140326

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20160324

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20170324

Year of fee payment: 10

FPAY Annual fee payment

Payment date: 20180326

Year of fee payment: 11

LAPS Lapse due to unpaid annual fee