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

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

Info

Publication number
KR100716084B1
KR100716084B1 KR1020050008192A KR20050008192A KR100716084B1 KR 100716084 B1 KR100716084 B1 KR 100716084B1 KR 1020050008192 A KR1020050008192 A KR 1020050008192A KR 20050008192 A KR20050008192 A KR 20050008192A KR 100716084 B1 KR100716084 B1 KR 100716084B1
Authority
KR
South Korea
Prior art keywords
layout
size
partial region
container
data
Prior art date
Application number
KR1020050008192A
Other languages
English (en)
Other versions
KR20060042887A (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 KR20060042887A publication Critical patent/KR20060042887A/ko
Application granted granted Critical
Publication of KR100716084B1 publication Critical patent/KR100716084B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • 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
    • 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/174Form filling; Merging

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Human Computer Interaction (AREA)
  • Document Processing Apparatus (AREA)
  • Processing Or Creating Images (AREA)
  • Editing Of Facsimile Originals (AREA)

Abstract

할당된 데이터에 기초하는 이미지를 가시적으로 그리기 위한 복수의 컨테이너의 페이지 내의 레이아웃을 나타내는 레이아웃 정보에 기초하여 페이지의 레이아웃을 결정하는데 있어서, 레이아웃 정보는 컨테이너에 할당된 데이터가 빈 경우에 그 컨테이너의 사이즈를 제로화할지의 여부를 지정하는 지정 정보를 갖는다. 레이아웃 조정시에는, 복수의 부분 영역 중, 공 데이터가 할당된 컨테이너를 검출한다. 검출된 컨테이너에 대응하는 지정 정보가 사이즈를 제로화하는 지정인지 아닌지를 판정한다. 제로화가 지정된 경우에는, 그 검출된 컨테이너의 사이즈를 제로로 간주하여 페이지의 레이아웃을 조정한다.
호스트 컴퓨터, 가변 인쇄, 레이아웃, 사용자 인터페이스, 편집 애플리케이션

Description

레이아웃 조정 방법 및 장치{LAYOUT ADJUSTMENT METHOD AND APPARATUS}
도 1은 일 실시예에 따른 가변 인쇄 시스템의 구성을 나타내는 블록도.
도 2는 도 1에 나타낸 호스트 컴퓨터의 개략 구성을 나타내는 블록도.
도 3은 가변 데이터 인쇄의 개요를 설명하는 도면.
도 4는 본 실시예에 따른 가변 인쇄 시스템의 다른 구성을 나타내는 블록도.
도 5는 메뉴 바, 툴 바, 작업 영역, 플로팅 팔레트를 포함하는, 본 실시예에 따른 사용자 인터페이스의 일례를 나타내는 도면.
도 6은 사용자 인터페이스에서의 컨테이너의 표시예를 나타내는 도면.
도 7a 내지 도 7d는 본 실시예에 따른 컨테이너 규칙을 설명하는 도면.
도 8은 본 실시예에 따른 링크 생성 처리를 설명하는 플로우차트.
도 9a 내지 도 9c는 링크 생성 시의 사용자 인터페이스의 천이예를 나타내는 도면.
도 10은 본 실시예에 따른 레이아웃 엔진에 의한 레이아웃 계산 처리를 나타내는 플로우차트.
도 11은 본 실시예에 따른 레이아웃 엔진에 의한 레이아웃 계산 처리를 나타내는 플로우차트.
도 12a 내지 도 12c는 본 실시예에 따른 레이아웃 계산 처리를 설명하기 위 한 도면.
도 13은 본 실시예에 따른 레이아웃 계산 시의 컨테이너의 세트를 설명한 도면.
도 14는 컨테이너와 링크를 사용하여 생성된 레이아웃의 일례를 나타내는 도면.
도 15는 제1 실시예에 따른 컨테이너의 속성 정보를 설정하기 위한 특성 다이얼로그 윈도우의 예를 나타내는 도면.
도 16은 도 15에 나타낸 특성 다이얼로그 윈도우를 이용하여 컨테이너의 특성을 설정할 때의 사용자 인터페이스의 동작을 설명하는 플로우차트.
도 17은 도 14에 나타낸 레이아웃에서 컨테이너 E가 제로화 모드로 설정된 경우의 레이아웃의 변화를 설명하는 도면.
도 18은 도 14에 나타낸 레이아웃에서 컨테이너 E가 제로화 모드로 설정되고 링크 조정이 실행되도록 설정되어 있는 경우의 레이아웃의 변화를 설명하는 도면.
도 19는 공 컨테이너의 제로화 처리를 포함하는, 본 실시예에 따른 레이아웃 엔진의 레이아웃 조정 처리를 설명하는 플로우차트.
도 20은 제2 실시예에 따른 컨테이너의 속성 정보를 설정하기 위한 특성 다이얼로그 윈도우의 일례를 나타내는 도면.
도 21은 도 20에 나타낸 다이얼로그 윈도우에 의해서 설정된 링크의 조정 방법에 따라서 도 14에 나타낸 레이아웃을 조정함으로써 얻어진 결과를 나타내는 도면.
〈도면의 주요 부분에 대한 부호의 설명〉
101 : 호스트 컴퓨터
103 : 사용자 인터페이스
105 : 레이아웃 엔진
109 : 인쇄 서버
113 : 프린터
115 : 파일 서버
117 : 데이터베이스 서버
119 : 데이터베이스
121 : 레이아웃 편집 애플리케이션
본 발명은 텍스트 및 이미지를 포함하는 문서의 생성, 편집 및 인쇄 기술에 관한 것으로, 보다 구체적으로는, 가변 데이터 문서의 생성, 편집 및 인쇄에 관한 것이다.
상품의 다양성에 기인하여 최근 상품 서비스 수명이 짧아지고, 인터넷의 보급에 따른 커스터마이즈 서비스 지향성을 가진 고객들의 수가 증가하고 있기 때문에, CRM(고객 관계 관리; Customer Relationship Management) 및 일대일 마케팅의 필요성이 주목받고 있다. 이들 방법은 고객의 만족도를 높이고 새로운 고객을 확보하여 조직화하는 목적에 매우 효율적이다.
일대일 마케팅은 데이터베이스 마케팅의 일종이다. 각각의 고객의 연령, 성별, 취미, 기호 및 구매 이력 등의 개인 속성 정보를 데이터베이스로서 저장한다. 그 정보의 컨텐츠를 분석하고, 고객의 요구를 만족하는 제안을 제시한다. 전형적인 방법은 가변 인쇄(variable print)이다. 특히, 최근 DTP(데스크탑 인쇄; DeskTop Publishing) 기술의 진전과 디지털 프린터의 보급에 수반하여, 각 고객마다 문서를 커스터마이즈하여 출력하는 가변 인쇄 시스템이 개발되었다. 이러한 가변 인쇄 시스템은 각 고객마다 변화하는 다량의 컨텐츠가 최적으로 레이아웃된 커스터마이즈 문서를 생성하는 것이 요구된다.
일반적으로, 가변 인쇄 시스템에 의해 이러한 커스터마이즈 문서를 작성할 때에는, 문서상에 컨테이너를 레이아웃한다. 컨테이너는 컨텐츠(그림 내용)를 그리기 위한 부분 영역을 나타내고, 필드 영역이라고도 불린다. 보다 구체적으로, 문서상에 이러한 컨테이너를 레이아웃하여, 데이터베이스와 레이아웃을 서로 관련시킨다(데이터베이스의 각 컨텐츠는 각 컨테이너와 관련된다). 이 작업에 의해, 커스터마이즈 문서(문서)를 작성한다. 본 명세서에서, 이러한 문서를 가변 데이터문서라고 한다.
이러한 가변 인쇄 시스템에서, 레이아웃된 각 컨테이너에는 각 고객마다 다른 컨텐츠를 삽입시킬 수 있다. 컨텐츠에 삽입시킬 데이터의 사이즈는 가변적이다. 컨테이너의 사이즈가 고정적이면, 다음과 같은 문제가 발생한다. 예를 들면, 컨테이너의 사이즈보다도 큰 사이즈를 갖는 텍스트 데이터가 삽입되는 경우에 텍스트를 전체적으로 그 컨테이너 내에 표시할 수 없다. 대안적으로, 컨테이너의 사이즈보다도 큰 사이즈를 갖는 이미지 데이터가 삽입되는 경우에, 그 이미지의 일부가 누락된다. 이러한 문제를 오버플로우라고 부른다.
컨텐츠가 이미지 데이터인 경우에는, 이미지를 축소하여 컨테이너 내에 그릴 수 있다. 그러나, 이미지가 극단적으로 작아질 수 있다. 또한, 고정 사이즈의 컨테이너의 사이즈보다 사이즈가 큰 텍스트 데이터가 삽입된 경우에, 텍스트의 폰트 사이즈가 축소되어 컨테이너 내에 모든 텍스트를 표시하는 기술이 제안되었다. 그러나, 폰트 사이즈를 조절하는 경우, 폰트 사이즈가 너무 작아져, 문서 전체의 밸런스가 깨지거나, 문서를 읽기 어렵게 될 수 있다.
일본 특개평 제7-129658호의 "레이아웃 디자인 장치"에서는 상술한 문제점을 해결하기 위한 자동 레이아웃의 기술을 개시하고 있다. 이 기술에서, 컨테이너의 사이즈가 커진 경우에, 인접한 컨테이너의 사이즈를 줄여서 인접하는 컨테이너 사이의 간격을 유지하고 있다.
가변 인쇄 시스템에 있어서, 각 컨테이너에 삽입되는 데이터는 예를 들면 각 고객에 따라서 변경될 수 있다. 따라서, 컨테이너에 삽입되는 데이터가 "빈" 경우가 있을 수 있다. 그러나, 상술한 종래의 기술에서는, 컨테이너 내에 삽입된 데이터가 빈 경우에, 그 컨테이너 레이아웃 부분이 공백이 된다. 즉, 문서 레이아웃에서 그 컨테이너의 공간이 비게 된다. 문서의 일부에 눈에 띄는 공백 부분이 형성될 경우, 문서의 미관을 좋지 못하게 한다. 이러한 공백 부분은 데이터가 삽입된 다른 컨테이너가 최적의 사이즈가 되기 위해서 이용되는 것이 바람직하다. 그러나, 공백의 컨테이너가 존재하기 때문에, 그 공백 부분을 이용할 수 없다.
본 발명은 상기의 문제점을 고려하여 이루어진 것으로, 삽입된 공 데이터가 컨테이너의 공간을 효율적으로 이용함으로써 보다 미관을 향상시킨 문서를 작성할 수 있는 것을 목적으로 한다.
본 발명의 일 양태에 따르면, 페이지의 레이아웃을 결정하는 레이아웃 조정 방법으로서, 데이터가 삽입될 부분 영역의 사이즈와 위치의 기본 패턴을 설정하는 부분 영역 설정 단계; 각각의 부분 영역마다, 상기 부분 영역 설정 단계에서 설정된 상기 부분 영역에 삽입될 상기 데이터에 기초하여 삽입될 상기 데이터를 그리는데 적합한 사이즈를 계산하는 계산 단계; 상기 계산 단계에서 계산된 각 부분 영역의 사이즈에 기초하여 상기 페이지 내의 레이아웃을 조정하는 조정 단계; 및 상기 부분 영역에 할당된 상기 데이터가 빈 경우에 상기 사이즈를 제로화할지의 여부를 지정하는 지정 단계를 포함하고, 상기 조정 단계에서, 공 데이터가 할당된 부분 영역이 상기 지정 단계에서 상기 부분 영역의 사이즈를 제로화하도록 지정된 경우에, 상기 부분 영역의 사이즈를 제로로 간주하여 상기 페이지 내의 레이아웃을 조정하는 레이아웃 조정 방법이 제공된다.
본 발명의 또다른 양태에 따르면, 페이지의 레이아웃을 결정하는 레이아웃 조정 장치로서, 데이터가 삽입될 부분 영역의 사이즈와 위치의 기본 패턴을 설정하는 부분 영역 설정 수단; 각각의 부분 영역마다, 상기 부분 영역 설정 수단에 의해 설정된 상기 부분 영역에 삽입될 상기 데이터에 기초하여 삽입될 상기 데이터를 그리는데 적합한 사이즈를 계산하는 계산 수단; 상기 계산 수단에 의해 계산된 각 부분 영역의 사이즈에 기초하여 상기 페이지 내의 레이아웃을 조정하는 조정 수단; 및 상기 부분 영역에 할당된 상기 데이터가 빈 경우에 상기 사이즈를 제로화할지의 여부를 지정하는 지정 수단을 포함하고, 공 데이터가 할당된 부분 영역이 상기 지정 단계에서 상기 부분 영역의 사이즈를 제로화하도록 지정된 경우에, 상기 조정 수단은 상기 부분 영역의 사이즈를 제로로 간주하여 상기 페이지 내의 레이아웃을 조정하는 레이아웃 조정 장치기 제공된다.
본 발명에 따르면, 공 데이터가 삽입되는 컨테이너의 공간을 유효하게 이용할 수 있으므로, 보다 미관을 향상시킨 문서를 작성할 수 있다.
본 발명의 다른 특징 및 이점은 첨부된 도면과 함께 다음의 설명으로부터 명확할 것이다. 여기서, 유사한 참조번호는 도면을 통해 동일 또는 유사한 부분을 나타낸다.
본 발명의 실시예를 설명하는 발명의 상세한 설명의 일부와 통합되고 이를 구성하는 첨부된 도면은 발명의 상세한 설명과 함께 본 발명의 원리를 설명하는데 도움이 된다.
이하, 첨부의 도면을 참조하여 본 발명의 바람직한 실시예를 상세하게 설명한다.
<<제1 실시예>>
<시스템 구성>
우선 도 1 및 도 2를 참조하여, 본 실시예에 따른 가변 인쇄 시스템의 구성을 설명한다. 도 1은 가변 데이터 문서를 인쇄하기 위한 가변 인쇄 시스템(100)의 구성예를 나타내는 블록도이다. 도 2는 도 1에 나타낸 호스트 컴퓨터(101)의 구성을 보다 상세하게 나타내는 블록도이다. 본 실시예에서 설명될 가변 인쇄 처리는 레이아웃 조정 장치로서 작용하는 호스트 컴퓨터(101)(범용 컴퓨터 모듈을 포함함)에 의해서 실행된다. 시스템(100) 상에서 실시가능한 레이아웃 편집 애플리케이션 프로그램(121)(본 발명에 따른 레이아웃 조정 프로그램)의 소프트웨어는 호스트 컴퓨터(101)에 의해 전체 또는 부분적으로 실행된다. 특히, 레이아웃 편집을 위한 처리 또는 가변 데이터 문서의 인쇄를 위한 처리는 호스트 컴퓨터(101)에 의해 실행되는 소프트웨어에 의해 구현된다.
레이아웃 편집 애플리케이션 프로그램(121)은 컴퓨터의 판독가능 매체에 저장된다. 레이아웃 편집 애플리케이션 프로그램(121)은 컴퓨터 판독가능 매체로부터 호스트 컴퓨터(101)의 메모리(136)에 로드되어 실행된다. 이러한 소프트웨어 또는 컴퓨터 프로그램을 저장한 컴퓨터 판독가능 매체는 컴퓨터 프로그램 제품이다. 컴퓨터에 의해 컴퓨터 프로그램 제품을 사용하는 경우에, 문서의 레이아웃 편집 또는 가변 인쇄에 적합한 장치가 제공된다.
도 2에 나타낸 바와 같이, 입력 장치로서 작용하는 키보드(132) 및 마우스(133)와 같은 포인팅 디바이스 등이 입/출력 인터페이스(143)를 통하여 호스트 컴퓨터(101)에 접속된다. 출력 장치로서 작용하는 디스플레이 장치(144)가 비디오 인터페이스(137)를 통하여 접속된다. 로컬 프린터(145) 등이 입/출력 인터페이스(138)를 통하여 접속될 수 있다. 또한, 입/출력 인터페이스(138)는 호스트 컴퓨터(101)를 네트워크(107)에 접속하는 기능을 갖는다. 이러한 구성에 의해, 호스트 컴퓨터(101)가 네트워크를 통하여 시스템(100) 내의 다른 컴퓨터 장치에 접속될 수 있다. 네트워크(107)의 전형적인 예는 근거리 통신망(LAN), 또는 광대역 통신망(WAN)이다.
도 2에 나타낸 바와 같이, 호스트 컴퓨터(101)는 적어도 1개의 프로세서 유닛(135) 및 예를 들면 반도체 랜덤 액세스 메모리(RAM)나 리드온리 메모리(ROM)를 포함하는 메모리 유닛(136)을 포함한다. 저장 디바이스(139)는 프로그램을 저장하는 컴퓨터 판독가능 매체 사이에서 데이터의 송신/수신가능한 하드디스크 드라이브(140) 및 플로피(등록상표) 디스크 드라이브(141)를 포함한다. 도 2에는 나타내지 않았으나, 자기 테이프 드라이브도 저장 디바이스(139)로서 사용될 수 있다. CD-ROM 드라이브(142)는 불휘발성 데이터 소스로서 제공된다(물론, CD-ROM에 의해서 컴퓨터 프로그램이 제공될 수 있다).
전형적으로, 호스트 컴퓨터(101)는 GNU/LINUX 또는 Microsoft Windows(등록상표)와 같은 운영 체계 또는 관련 기술에서 알려진 컴퓨터 시스템의 종래의 동작 모드에 의한 방법에 의한 형태로 상호 접속 버스(134)를 통하여 통신하는 컴퓨터 모듈의 구성요소(135 내지 143)를 이용한다. 즉, 상술한 구성요소(135 내지 143)는 버스(134)를 통하여 통신가능하게 접속되고 호스트 컴퓨터(101)에 인스톨된 운영 체계에 의해 이용된다.
도 2에 나타낸 호스트 컴퓨터(101)의 예는 IBM 호환 PC 또는 SUN의 스팍스테 이션(Sparcstation), 또는 이들을 포함하는 컴퓨터 시스템이다.
<레이아웃 편집 애플리케이션의 개요>
본 실시예에서, 레이아웃 편집 애플리케이션 프로그램(121)은 하드디스크 드라이브(140)에 상주하고, 프로세서(135)에 의해 실행이나 로딩이 제어된다. 하드 디스크 드라이브(140) 및 반도체 메모리(136)가 레이아웃 편집 애플리케이션(121)의 프로그램 및 네트워크(107)로부터 펫치되는 데이터를 저장하는데 사용된다.
일 예로서, 레이아웃 편집 애플리케이션 프로그램(121)의 인코드된 프로그램은 CD-ROM 또는 플로피(등록상표) 디스크상에 저장되고, 대응하는 드라이브(142 또는 141)를 통하여 로드되어, 하드디스크 드라이브(140)에 인스톨된다. 또다른 예로서, 레이아웃 편집 애플리케이션 프로그램(121)은 네트워크(107)로부터 호스트 컴퓨터(101) 내에 로드되어, 하드디스크 드라이브(140)에 인스톨될 수 있다. 소프트웨어는 자기 테이프, ROM, 집적 회로, 광 자기 디스크, 호스트 컴퓨터(101)와 그 밖의 디바이스 간의 적외선을 이용하는 무선 통신, PCMCIA 카드와 같은 컴퓨터 판독가능 카드, 또는 인터넷 또는 인트라넷을 포함하는 웹 사이트 상의 또다른 적합한 컴퓨터와의 전자메일 통신을 이용하여 호스트 컴퓨터(101) 내에 로드될 수 있다. 이들은 컴퓨터 판독가능 매체의 예이다. 또다른 컴퓨터 판독가능 매체가 사용될 수 있다.
도 1에서, 본 실시예의 레이아웃 편집 애플리케이션(121)은 컴퓨터가 가변 인쇄(가변 데이터 인쇄(variable data print; 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)에 저장된다. 사용자로부터의 인쇄 지시 또는 프리뷰 지시에 따라서, 레이아웃 엔진(150)은 관련 정보에 의해 연관된 데이터를 데이터 소스(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과 유사한 블록도이지만, 엔진 서버(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)는 애플리케이션의 특정 모드에 의해서 비표시 상태 또는 표시 상태로 설정될 수 있는 많은 툴 버튼 및 위짓트(widget)(305)를 갖는다.
눈금자(ruler)(308)는 옵션이고 작업 영역 내의 포인터, 페이지, 라인, 마진 가이드, 컨테이너 또는 오브젝트의 위치를 나타내는데 사용된다.
팔레트(311)는 가변 데이터 라이브러리와 같은 추가 기능에 액세스하기 위해 사용된다. 팔레트(311)는 이동, 리사이즈, 또는 닫기를 하기 위한 윈도우 컨트롤(312)을 갖는다. 팔레트(311)는 옵션으로 작업 영역의 전면에 표시되거나, 오브젝트의 배면에 숨겨질 수 있다. 팔레트(311)는 애플리케이션 윈도우(301) 내에만 표시될 수 있거나 또는 애플리케이션 윈도우(301)의 외측에 그 일부 또는 전체를 표시할 수 있다.
툴 바(303)에는 도 6에 나타낸 바와 같이 사용자 선택가능한 "버튼들"이 배치되어 있다.
(1) 선택 툴 버튼(403): 이 버튼은 컨테이너의 변 선택, 이동, 사이즈 변경, 리사이즈, 또는 로크/로크 해제를 위해 사용된다. 컨테이너는 컨테이너의 주위의 선택 박스를 드래그함으로써 선택된다. CTRL 키를 누른 채 복수의 컨테이너를 선택하는 경우에, 복수의 컨테이너를 선택할 수 있다.
(2) 텍스트 컨테이너 툴 버튼(404): 이 버튼은 스태틱 또는 가변 텍스트를 갖는 컨테이너를 작성하는데 사용된다.
(3) 이미지 컨테이너 툴 버튼(405): 이 버튼은 스태틱 또는 가변 이미지를 갖는 컨테이너를 작성하는데 사용된다.
(4) 링크 툴 버튼(406): 이 버튼은 컨테이너를 서로 관련시키는 링크를 작성하는데 사용된다. 또한 이 버튼은 링크의 거리를 제어하는데 사용된다.
도 5에 나타낸 레이아웃 편집 애플리케이션(121)의 애플리케이션 윈도우(301)에서, 페이지 내에 컨테이너 및 링크를 레이아웃하는 경우에, 기본 레이아웃을 결정할 수 있다. 기본 레이아웃은 가변 데이터 인쇄의 기본으로서의 레이아웃이다. 기본 레이아웃 내의 모든 컨테이너가 고정 컨테이너인 경우에, 모든 레코드 인쇄 결과가 동일한 레이아웃을 갖는다. 기본 레이아웃 내의 컨테이너가 가변 컨테이너인 경우에, 레코드 단위로 삽입된 데이터의 량 또는 사이즈에 따라서 각 컨테이너의 사이즈나 위치가 제약의 범위(후술함) 내에서 변동한다. 레이아웃 편집 애플리케이션(121)에 의해 작성되는 문서 템플릿은 엄격하게 기본 레이아웃을 결정하는데 사용된다. 가변 컨테이너가 포함된 경우에는, 최종적인 인쇄물의 레이아웃은 로딩된 데이터에 따라서 조정된다.
[문서 템플릿]
도 5에서, 작업 영역(306)은 문서 템플릿(180: 기본 레이아웃)의 디자인을 표시하고 편집하기 위해 사용된다. 사용자가 문서 템플릿을 디자인하는 과정에서, 인쇄될 문서의 개관을 사용자에게 제시할 수 있다. 따라서, 사용자는 데이터 소스(190)와 융합된 문서가 가변 데이터의 량 및 사이즈에 기초하여 어떻게 변화하는가를 용이하게 이해할 수 있다.
데이터 소스가 문서 템플릿에 관련되는 경우에는, 현재 문서의 프리뷰가 얻어질 수 있도록, 대응하는 가변 텍스트 또는 이미지가 레이아웃된 각 컨테이너에 표시된다.
문서 템플릿에서 문서 구조 및 가변 데이터 컨테이너를 표현하는 시각적인 단서(예를 들어, 컨테이너의 프레임 라인, 앵커, 슬라이더, 링크)는 문서 템플릿 작성 모드에서 항상 표시된다. 가변 데이터가 삽입되는 프리뷰 모드에서, 시각적인 단서는 커서가 컨테이너 상에 이동되거나 또는 컨테이너가 선택되는 경우에 표시된다.
작업 영역(306)은 스크롤 바(307), 옵션의 눈금자(308), 및 문서 템플릿(309)을 포함한다. 문서 템플릿(309)은 복수의 페이지가 있는 것을 나타낼 수 있다. 문서 템플릿(309)은 도 3에 나타낸 문서 템플릿(180)을 나타낸다.
주어진 문서 템플릿의 페이지 사이즈는 공지된 기술을 이용하여 사용자에 의해서 지정된다. 예를 들면, 메뉴의 "파일(File)"로부터 "페이지 설정(Page Setup)"을 선택함으로써 페이지 사이즈를 설정하는 다이얼로그를 표시하여, 사용자에 의해 지정된 페이지 사이즈가 반영된다. 각 문서의 실제의 페이지 수는 관련된 데이터 소스 내의 가변 데이터에 따라서 바뀔 수 있다. 이는 문서 템플릿 내에 가변 테이블과 같이 가변 데이터의 량에 따라서 사이즈가 변경되는 필드가 설정되어 있는 경우, 및 1 페이지 내에 끼워 맞춰질 수 없는 가변 데이터가 로드되는 경우에, 추가의 페이지가 자동적으로 작성되기 때문이다.
각각의 페이지 내에 나타낸 경계선(310)은 페이지 상의 인쇄가능한 오브젝트의 최대 폭을 나타내는 임의의 페이지 마진이다.
도 6은 1 페이지의 문서 템플릿(309) 상에 표시될 수 있는 오브젝트의 예를 나타내는 도면이다. 오브젝트는 컨테이너(407 및 408), 임의로 적용된 앵커 아이콘(409), 고정된 변(411 및 414), 고정되지 않은 변(410), 링크(412), 및 슬라이더(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)의 화면 상에 표시되지만, 문서에서 인쇄되지는 않는다. 레이아웃 편집 애플리케이션(121)의 사용자 인터페이스(103)는 배경색 및 폰트와 같은 컨테이너의 일부 장식 기능을 표시하고 컨테이너의 설정의 편집이나 표시를 가능하게 하는 기능을 갖는다.
[컨테이너의 제약]
각 컨테이너는 각각의 문서에 의해 표시되는 컨텐츠를 결합시키는 방식의 제어에 관한 제약을 갖는다. 이들 제약(고정 또는 가변 컨텐츠를 컨테이너와 결합시키는 것을 포함함)은 사용자가 하나의 문서 템플릿으로부터 다수의 문서의 생성을 제어하는 주요한 방법으로서 사용된다. 제약의 일 예는 "이 컨테이너의 컨텐츠의 최대 높이는 4인치이다"이다. 제약의 다른 예는 "컨테이너의 컨텐츠의 좌측 엣지는 각각의 문서에서 동일한 수평 위치에서 표시해야만 한다"이다. 여기에 기술된 컨텐츠는 GUI를 사용하여 이러한 제약을 표시하고 편집하는 다양한 방법을 나타낸다.
페이지 상에 정의된 위치를 갖는 이마지와 같은 고정 컨텐츠의 레이아웃을 지정하는 컨텐츠 위치 홀더는 디지털 인쇄 기술에서 잘 알려져 있다. 각 컨테이너는 위치와 사이즈를 갖는다. 컨테이너는 공지된 기술의 방법에 의해 편집되고 표시된다. 이하의 설명에서는 가변 데이터 인쇄에 특화된 방법에서의 표시 및 편집에 초점을 맞출 것이다.
컨테이너를 이용하는 경우에, 사용자는 문서에서의 컨텐츠의 사이즈(그림 사이즈) 및 위치를 지정할 수 있다. 많은 종류의 문서가 하나의 문서 템플릿으로부터 생성되기 때문에, 컨테이너에 대하여 다수의 가능성과 제약이 설정된다. 이들을 설정(지정)하고 표시하기 위해서, 소정의 사용자 인터페이스가 이용된다.
1개의 컨테이너의 변은 문서에서 표시되는 관련된 컨텐츠의 가상 경계선을 정의한다. 따라서, 컨테이너의 좌변에 대하여 논하는 것은 각 문서에서 관련된 컨텐츠가 표시될 수 있는 영역의 가장 좌변에 대하여 논하는 것과 동일하다. 마찬가지로, 컨테이너의 높이에 대하여 논하는 것은 생성된 문서에서 관련된 컨텐츠의 높이의 제약에 대하여 논하는 것으로서 이해될 수 있다. 본 명세서에서는, 사용자 인터페이스(103)를 참조하여 컨테이너의 변 또는 사이즈를 논하는데 있어서 명확하게 구별될 것이다.
이하의 기재에 있어서, 컨텐츠의 표시를 제한하기 위해 사용되는 특정 값을 정의하는 용어 "고정"은 모든 문서에 동일한 방식으로 적용한다.
(1) 컨테이너의 폭이 고정된 경우에, 관련된 컨텐츠에 할당될 폭은 모든 문 서에서 동일하다.
(2) 컨테이너의 높이가 고정된 경우, 관련된 컨텐츠에 할당되는 높이는 모든 문서에서 동일하다.
(3) 거리(링크의 길이)가 고정된 경우, 지정된 거리는 모든 문서에서의 제약이 된다.
(4) 컨테이너의 좌우 변이 고정된 경우, 페이지에 관련된 변의 수평 위치는 모든 문서에서 동일하다. 그러나, 컨테이너의 높이 또는 수직 위치는 변할 수 있다. 예를 들면, 컨테이너의 좌변이 고정된 경우, 관련된 컨텐츠의 좌변은 모든 문서에서 동일한 수평 위치에 표시된다. 그러나, 컨텐츠는 그 문서에서 페이지의 상변 및 다른 문서에서 페이지의 하변에 표시될 수 있다.
(5) 컨테이너의 상하 변이 고정된 경우, 그 페이지에서의 변의 수직 위치는 모든 문서에서 동일하다. 그러나, 컨테이너의 폭 또는 수평 위치는 각 문서에 대하여 변할 수 있다.
(6) 컨테이너의 수직축은 컨테이너의 좌우 변에 평행하고, 이들의 중간에 위치되는 가상의 수직선이다. 컨테이너의 수직축이 고정되면, 그 컨테이너의 좌우 변의 수평 위치의 평균(즉, 좌우 변 사이의 중앙 위치)은 모든 문서에서 동일하다. 이 제약에서, 컨테이너의 폭은 변할 수 있다. 그러나, 좌우 변이 수직 축에서 가장 먼 것으로부터 가장 가까운 것에 관계없이, 수직축은 모든 문서에서 동일한 수평 위치에 위치한다. 컨테이너의 높이 및 수직 위치는 이 제약에 의해 영향을 받지 않는다.
(7) 마찬가지로, 수평축이 고정되면, 컨테이너의 상하 변의 평균이 동일한 수직 위치에 위치한다. 그러나, 컨테이너의 폭과 수평 위치는 이 제약에 의해서 영향받지 않는다.
(8) 수평축과 수직축이 모두 고정된 경우, 컨테이너의 중심 위치가 고정된다. 그러나, 컨테이너의 폭 및 높이는 이 제약에 의해서 영향받지 않는다.
(9) 컨테이너의 코너 위치, 컨테이너의 변의 중간 위치, 또는 컨테이너의 중심 위치가 고정된 경우, 각각의 위치는 모든 문서에서 동일하다. 예를 들면, 컨테이너의 좌상 코너가 고정되면, 레이아웃된 컨테이너의 좌상 위치가 모든 문서에서 동일하다.
(10) 수직 변 또는 수직 축은 페이지의 좌변 또는 우변, 또는 좌측 또는 우측 페이지 마진, 또는 다른 수평 위치에 따라서 고정될 수 있다. 마찬가지로, 수평 변 또는 수평 축은 페이지의 상변 또는 하변, 또는 상하 페이지 마진, 또는 다른 수직 위치에 따라서 고정될 수 있다.
"고정"에 반대되는 용어는 컨테이너의 변, 축, 코너, 중간 위치, 또는 문서 제약이 문서 사이(레코드 사이)에서 변할 수 있다는 것을 나타내는 "가변"이다. 예를 들면, 페이지 내에서, 가변 데이터의 사이즈나 량에 따라, 동적으로 레이아웃이 변경되는 것이 예상된다. 그러나, 특정한 컨테이너의 사이즈 또는 위치를 고정하거나, 또는 페이지의 코너에서 컨테이너의 네 코너가 고정되는 것을 사용자가 원할 수 있다. 이러한 목적을 위하여, 레이아웃 편집 애플리케이션(121)은 각 컨테이너(부분 영역)에 대하여, 변, 축, 코너, 또는 중간 위치를 고정할지 또는 변경할지를 적절하게 설정할 수 있다. 따라서, 사용자는 문서 템플릿(180)의 기본 레이아웃을 결정하는 경우에, 원하는 기본 레이아웃을 작성할 수 있다.
[컨테이너의 표시/편집]
--신규 컨테이너의 작성 방법--
컨테이너는 텍스트 컨테이너와 이미지 컨테이너의 2 종류로 기술된다. 텍스트 컨테이너는 텍스트 및 내장된 이미지를 갖는다. 이미지 컨테이너는 이미지만을 갖는다.
도 6에 나타낸 바와 같이, 신규의 텍스트 컨테이너 또는 이미지 컨테이너는 텍스트 컨테이너 툴(404) 또는 이미지 컨테이너 툴(405)을 마우스(133)로 클릭하고, 문서 템플릿(309) 상에 사각형을 드래그함으로써, 문서 템플릿(309) 상에 작성된다.
대안적으로, 컨테이너는 적절한 툴(404 또는 405)을 활성화하고 문서 템플릿(309) 상에서 단순히 마우스를 클릭함으로써 작성될 수 있다. 이 경우에, 마우스(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)에 의해 정의된 고정된 점에 앵커를 표시한다. 몇개의 고정된 변에 슬라이더를 표시한다. 나머지 지점에 핸들을 나타낸다.
상술한 규칙에서, 사용자에 의해 후에 설정된 제약에 높은 우선순위가 주어진다. 즉, 후에 다른 제약이 설정되어, 그 제약이 상술한 규칙에 따라서 그려져야 하는 변에 영향을 미칠 수 있으면, 실선 또는 점선의 그림 내용이 변경된다.
가변의 변이 그려지는 위치는 그 컨테이너의 컨텐츠에 의존한다. 후에 설명할 바와 같이, 문서 템플릿에 컨텐츠가 융합되어 사용자 인터페이스에 의해 가시화되는 것을 나타내는, "동적인 보정 처리(dynamic calibration processing)"가 사용된다. 사용자 인터페이스에서 가변의 변의 레이아웃 위치를 결정하기 위한 다른 수단이 사용될 수 있다. 예를 들어, 모든 문서에서 평균화된 컨테이너 사이즈(컨텐츠 영역)가 사용자 인터페이스에서 가변의 변의 레이아웃 위치를 결정하는데 사용된다.
이들 컨텐츠 표현은 컨테이너의 각 변의 상태를 표시하는 그래픽 수단을 제 공한다. 그 표현은 다음의 방식으로 해석될 수 있다.
(1) 도 6에 나타낸 변(410)과 같이, 점선은 컨테이너의 컨텐츠에 의존하여 문서 내의 변의 위치가 변화하는 것을 의미한다.
(2) 실선은, 고정되어 있거나(변(411)), 또는 컨테이너의 폭 또는 높이가 고정되어(컨테이너(408)에서, 4 변이 실선으로 나타내어져, 폭 및 높이 둘다 고정됨) 있기 때문에, 그 변이 제한되는 것을 나타낸다.
(3) 앵커는 변 또는 축이 교차한 저점이 고정되어 있는 것을 나타낸다. 따라서, 앵커 지점은 모든 문서의 수평 및 수직 위치에서 나타난다. 앵커는 물론 고정된다. 도 6의 아이콘(409)은 변(414)의 교차하는 위치가 고정되어 있는 것을 나타내는 앵커 아이콘의 예이다.
(4) 슬라이더는 관련된 변이 고정된 길이를 갖지만 병진이동할 수 있는 것을 나타낸다. 예를 들면, 도 6에서 슬라이더(413)는 컨테이너(408)의 컨텐츠가 문서 내에서 특정한 다이어그램으로 표현되는 위치의 좌 또는 우 변상에 표시될 수 있다는 것을 나타낸다. 예를 들면, 컨테이너(408)와 관련된(링크가 컨테이너 사이에 설정됨) 컨테이너(407)에 삽입된 데이터의 이미지 사이즈 또는 텍스트 량이 적은 경우에, 컨테이너(407)의 사이즈가 작아진다. 이러한 이유로, 컨테이너(408)는 좌측으로 슬라이드(병진 이동)하여 레이아웃된다. 컨테이너(407)의 사이즈가 커지는 경우에, 컨테이너(408)는 반대로 우측으로 슬라이드하여 레이아웃된다.
이들 아이콘 및 변의 일부 또는 모두는 어떤 툴 또는 어떤 컨테이너를 선택/하이라이트 또는 활성화할지에 따라 그려지거나 그려지지 않는다. 일반적으로, 컨테이너의 변 및 아이콘은 문서 템플릿을 디자인하기 위한 보조 도구이기 때문에 인쇄물에는 그려지지 않는다.
상술한 바와 같이, 컨테이너의 폭 및 높이의 기본값, 최소값, 및 최대값을 포함하는 기본 패턴의 설정은 이차적인 다이얼로그 윈도우에 표시된다.
도 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에서 "아니오"이면, 필요에 따라 다른 각종 처리를 실행하고(단계 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∼도 7d에 나타낸 아이콘(505)과 같이, 링크 설정에 의해 컨테이너가 변경될 수 있는 방향을 사용자에게 시각적으로 나타낸다. 도 9c에 나타낸 예에서, 좌측 컨테이너의 우변과 우측 컨테이너의 좌변이 가변의 변으로 변경된다. 이것은 단지 일례일 뿐이다. 예를 들면, 우측 컨테이너가 도 6의 슬라이더(413)로 설정되도록 변경될 수 있다.
<레이아웃 엔진에 의한 레이아웃 계산 처리>
[레이아웃 계산 방법(전체 플로우)]
본 실시예의 레이아웃 편집 애플리케이션은, 사용자 인터페이스(103)를 이용하여 컨테이너가 작성되고, 컨테이너를 서로 관련시켜(링크 설정) 레이아웃을 작성하는 레이아웃 모드, 및 레이아웃 엔진(105)에 의해 작성된 레이아웃에 데이터 소스의 각 레코드를 삽입하고, 실제로 레코드가 삽입된 후의 레이아웃 결과를 프리뷰하는 프리뷰 모드를 갖는다. 프리뷰 모드에서, 실제 레코드가 삽입되고, 상술한 우선순위에 따라서 레이아웃을 계산한다. 그러나, 프리뷰 모드에서, 표시를 위한 레이아웃이 계산된다. 실제 인쇄에서도, 레이아웃 엔진(105)이 각 컨테이너에 데이터를 삽입하여 레이아웃을 계산한다. 이 때의 계산 방법은 프리뷰 모드와 동일하다.
도 10은 레이아웃 계산의 플로우를 나타낸다. 우선, 프리뷰 모드가 선택된다(단계 S1001). 프리뷰 모드에서, 레이아웃 편집 애플리케이션(121)은 사용자가 프리뷰될 레코드를 데이터 소스로부터 선택하도록 하고 선택된 레코드의 각 필드 데이터를 각 컨테이너에 삽입하도록 결정한다(단계 S1002). 각 컨테이너에서 필드 데이터의 삽입이 결정되면, 레이아웃 편집 애플리케이션(121)은 그 레코드를 레이아웃하기 위한 계산을 실행하고, 필요에 따라 레이아웃 조정을 실행한다(단계 S1003). 단계 S1003에서의 레이아웃 계산에 대해서는 후에 자세히 설명한다. 레이아웃 편집 애플리케이션(121)은 단계 S1003에서 계산된 레이아웃을 표시한다(단계 S1004). 레이아웃 편집 애플리케이션(121)은 다른 레코드를 프리뷰할지를 사용자의 지시에 따라서 판단한다(S1005). 단계 S1005에서 "아니오"이면, 프리뷰 모드를 종료한다(S1007). 단계 1005에서 "예"이면, 레이아웃 편집 애플리케이션(121)은 다른 레코드를 선택하고 재차 레이아웃 계산을 하여, 레이아웃을 프리뷰한다(단계 S1006).
프리뷰 모드가 아니고 인쇄 모드가 설정되면, 인쇄될 모든 레코드에 대하여 순차적으로 레이아웃 계산을 행한다. 따라서, 단계 S1004는 생략된다. 단계 S1005에서, 인쇄될 모든 레코드를 처리하였는지를 판단한다. 단계 S1003에서 계산된 결과를 출력하고, 프린터 드라이버를 이용하여 인쇄 데이터를 생성하여, 프린터에 출력한다. 이 경우, 모든 레코드(인쇄를 위해 지정된 모든 레코드)에 대하여 인쇄 데이터 출력이 종료된 경우에, 처리가 종료된다.
[레이아웃 계산 방법(상세)]
다음으로, 단계 S1003에서의 레이아웃 계산에 대하여 상세하게 설명한다. 도 11은 본 실시예의 레이아웃 우선순위가 설정되지 않은 경우에 레이아웃 계산 방법을 나타내는 플로우차트이다. 도 12a∼도 12c는 그 때의 UI 표시예를 나타내는 도면이다. 도 11은 레이아웃 계산 처리 방법만을 설명하는 플로우차트이다. 이는 가변 데이터 인쇄의 1 레코드를 인쇄/프리뷰할 때의 레이아웃 계산 방법에 대응한다. 복수의 레코드가 존재하는 경우에, 다음의 처리가 반복된다.
우선, 레이아웃 편집 애플리케이션(121)은 레이아웃을 계산해야하는 컨테이너 세트를 획득한다(단계 S1101). 레이아웃 계산은 관련된 컨테이너 세트에 대하여 실행된다. 예를 들면 도 13에서, 한 페이지상에 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의 종횡비가 제약을 고려하지 않고 결정될 수 없기 때문에, 제약이 적용된다. 도 13에 나타낸 예에서, 컨테이너 A의 좌상 및 좌하 코너에 앵커가 설정되기 때문에, 높이(수직 방향)가 고정된다. 따라서, 레이아웃 편집 애플리케이션(121)은 컨테이너 A의 기본 패턴으로서 설정된 폭(수평 방향)을 갖는 컨테이너 A에, 계산된 데이터 량(텍스트 량)에 대응하는 문자를 삽입할 수 있는지 여부를 판단한다. 모든 문자가 삽입될 수 있다고 판단된 경우에는, 컨테이너 A에서 기본 패턴에 의해 설정된 사이즈(폭, 높이)가 변경되지 않는다. 문자가 모두 삽입될 수는 없다고 판단된 경우에는, 앵커 설정에 의해 높이가 고정되기 때문에, 컨테이너 A는 수평 방향으로 확장된다. 이 경우에, 레이아웃 편집 애플리케이션(121)은, 계산된 양의 문자의 삽입이 가능한 컨테이너 A의 폭을 계산함으로써, 컨테이너 A의 사이즈를 계산한다.
다음으로, 레이아웃 편집 애플리케이션(121)은 레이아웃될 각 컨테이너의 사이즈와 실제의 컨텐츠 사이즈 사이의 차가 가능한한 적어지도록, 레이아웃을 최적화한다(S1103). 동적으로 그 사이즈를 변경하기 위하여 서로 관련된 컨테이너 사이에서, 삽입될 컨텐츠의 사이즈와 레이아웃의 사이즈의 차가 가능한한 동일하게 되도록 레이아웃이 최적화된다. 레이아웃 편집 애플리케이션(121)은 단계 S1102에서 선택된 컨테이너 세트의 사이즈, 즉 컨테이너 A, 컨테이너 B, 및 링크(1506)의 총 사이즈를 구한다. 그리고, 레이아웃 편집 애플리케이션(121)은 총 사이즈와 기본 레이아웃에서 설정된 컨테이너 세트의 사이즈(도 13에 나타낸 예에서, 컨테이너 세트의 사이즈는 컨테이너 A 및 B의 앵커 아이콘 사이의 거리에 대응함)의 차를 계산한다. 컨테이너 A 또는 컨테이너 B의 폭이 커지는 이전 단계에서 계산되는 경우에는, 차분값이 발생한다. 레이아웃 편집 애플리케이션(121)은 이 차분값을 컨테이너의 세트의 요소에 균등하게 분배함으로써 레이아웃을 조정한다. 또한, 레이아웃 편집 애플리케이션은 차분값을 링크(1506)를 포함하는 요소, 즉 컨테이너 A, 컨테이너 B 및 링크(1506)에 균등하게 분배하도록 디자인될 수 있다. 길이가 조정될 수 있는 링크(1506)는 가변 링크로 불린다.
레이아웃 편집 애플리케이션(121)은 레이아웃을 최적화한다. 규칙에 위반이 있는 경우에는, 규칙을 위반하지 않도록 계산을 다시 실행한다(S1104). 여기서 설명한 규칙은 레이아웃 작성 시에 사용자에 의해서 설정된 제한이다. 제한의 예는 컨테이너의 사이즈 변경 범위 또는 컨테이너 위치에 대한 제한, 및 가변 링크인 경우는 링크의 길이의 변화의 제한이다. 규칙을 위반하지 않은채 레이아웃이 계산되면, 그 세트의 레이아웃은 완성된다. 단계 S1102∼S1104에서의 처리는 페이지 상의 모든 세트에 대하여 실행된다. 이 처리로, 레이아웃 편집 애플리케이션(121)은 전체 페이지의 레이아웃을 계산한다(S1105).
도 12a∼도 12c는 우선순위의 설정없이 컨테이너를 레이아웃하는 UI 예를 나타낸다.
도 12a는 어떤 레코드가 삽입되고, 레이아웃이 결정된 상태를 나타낸다. 참조번호 1301 및 1302는 앵커, 참조번호 1303 및 1304는 고정된 변, 참조번호 1305는 가변의 변, 참조번호 1306은 가변의 변의 변화 방향을 나타내는 화살표, 참조번호 1308은 링크를 나타낸다. 이 상태에서, 레코드를 변경하여, 다른 사이즈를 갖는 컨텐츠를 삽입한다. 도 12b에서, 도 12a에 나타낸 상태에 새로운 컨텐츠의 사이즈가 중첩된다. 참조번호 1309는 각각의 컨테이너에 삽입될 컨텐츠의 사이즈를 나타낸다. 레이아웃 계산이 실행된다. 도 12c는 레이아웃 계산의 결과를 나타낸다. 컨테이너의 사이즈는, 실제 삽입될 컨텐츠의 사이즈와 동일한 차이를 가지며, 상술한 규칙의 위반이 발생하지 않도록 계산된다. 도 12c에 나타낸 바와 같이, 도 12b에 나타낸 삽입될 컨텐츠 사이즈(1309)와 계산 후의 컨텐츠 사이즈(1310)는 기준 컨테이너 사이즈와 동일한 차이를 갖는다.
<공 데이터에 대응하는 컨테이너에 의한 레이아웃 조정>
도 14는 컨테이너와 링크를 사용하여 작성된 레이아웃의 일례를 나타낸다. 도 6에서와 같이, 애플리케이션 윈도우(301)와 툴 바(303)가 제공된다. 문서 템플릿(309) 상에 컨테이너 A(701), 컨테이너 B(702), 컨테이너 C(703), 컨테이너 D(704), 및 컨테이너 E(705)가 레이아웃된다. 컨테이너 A와 컨테이너 B 사이에 링크(720)가 설정된다. 컨테이너 A와 컨테이너 E 사이에 링크(716)가 설정된다. 컨테이너 B와 컨테이너 E 사이에 링크(717)가 설정된다. 컨테이너 C와 컨테이너 D 사이에 링크(721)가 설정된다. 컨테이너 C와 컨테이너 E 사이에 링크(718)가 설정된다. 컨테이너 D와 컨테이너 E 사이에 링크(719)가 설정된다.
컨테이너는 앵커 아이콘(706, 707, 708, 및 709), 고정된 변(710, 711, 712, 713, 714, 및 715), 및 위치가 가변인 변(722, 723, 724, 725, 726, 및 727)에 의해 형성된다. 고정된 변은 실선으로 나타낸다. 위치가 가변인 변은 점선으로 나타낸다. 각 앵커는 대응하는 컨테이너의 코너에 레이아웃되어, 그 코너가 문서 상의 지정된 위치에 고정되고 그 위치로부터 이동하지 않는 것을 나타낸다. 컨테이너(701∼705) 사이에 링크가 설정된다. 가변적으로 움직이는 변이 있기 때문에, 그 가변 움직임 방향을 나타내는 지시자(728, 729, 730, 731, 732, 및 733)가 컨테이너 A, B, C, D, 및 E 내에 각각 표시된다. 이것은 지시자에 의해 나타낸 방향(또는 그 역방향)으로 컨테이너의 변이 이동할 수 있다는 것을 나타내는 기능이다.
도 14에 나타낸 바와 같이 링크 설정예에서, 링크(716)의 길이가 50으로 설정되고, 링크(717)의 길이가 20으로 설정되고, 링크(718)의 길이가 30으로 설정되고, 링크(719)의 길이가 40으로 설정된다. 이들 값은 설명을 알기 쉽게 하기 위해 이용된다. 링크(720 및 721)는 컨테이너의 중심에 링크가 연결되기 때문에 계단 형상을 갖는다.
<컨테이너의 특성 설정>
도 15는 본 실시예에 따른 컨테이너의 속성 정보를 설정하기 위한 특성 다이얼로그 윈도우의 예를 나타내는 도면이다. 도 15는 컨테이너 E(705)의 속성 정보를 설정하기 위한 특성 다이얼로그 윈도우를 나타낸다. 도 15에 나타낸 다이얼로그 윈도우에서, 컨테이너에 삽입될 데이터가 빈 경우에 대응하는 설정 항목에 관한 속성만을 나타내었다. 그러나, 다른 속성(예를 들면, 컨테이너 사이즈의 확장 및 축소 범위 등의 제한)도 물론 설정될 수 있다.
특성 다이얼로그 윈도우(1201)는 타이틀 바(1202), 툴 버튼(1203), 특성 다이얼로그 윈도우의 닫기(설정 컨텐츠 반영) 또는 취소(설정 컨텐츠 폐기)를 위한 버튼(1204), 및 각종의 정보가 설정된 영역(1205)을 포함한다. 또한, 특성 다이얼로그 윈도우(1201)는 컨테이너에 삽입될 데이터가 빈 경우에, 컨테이너 사이즈를 O으로 설정하여 계산이 이루어지는 제로화 모드(데이터가 빈 경우에 최소 사이즈를 0으로 설정)의 선택 버튼(1207), 및 컨테이너의 제약에 따라서 통상 레이아웃 계산이 실행되는 통상 모드(통상적으로 레이아웃 계산)의 선택 버튼(1206)을 포함한다. 선택 버튼(1206 및 1207)은 그룹화되고 배타성을 가져, 택일적으로 선택된다. 선택 버튼(1206)(통상 모드)이 디폴트로서 선택된다.
선택 버튼(1207)(제로화 모드)이 선택되지 않은 경우에는, 보다 낮은 레벨에 배치된 모든 항목(1208∼1212)(프레임(1209)을 제외)이 조작불가능하고 회색으로 표시된다. 선택 버튼(1207)(제로화 모드)이 선택되면, 링크 길이 조정 체크 박스(1208)(링크 길이 조정)가 인에이블된다. 이 박스의 체크 마크를 온/오프하면, 컨테이너에 접속된 링크의 길이를 조정할지의 여부를 또한 설정할 수 있다.
본 실시예에 따라서 링크 길이 조정에 대하여 설명한다. 예를 들면, 수직 방향에 3개의 컨테이너(상측으로부터 컨테이너 A, 컨테이너 B, 컨테이너 C)가 레이아웃되고, 링크가 이들 사이(컨테이너 A와 B 사이, 컨테이너 B 및 C 사이)에 설정된다. 이 레이아웃의 중앙에 레이아웃된 컨테이너 B에 상술한 제로화 모드가 설정된 것으로 가정한다. 컨테이너 B에 공 데이터가 삽입되면, 높이를 0으로 설정하여 레이아웃 계산이 실행된다. 그러나, 컨테이너 A과 C 사이의 거리는 컨테이너 A와 B 사이에 설정된 링크를 컨테이너 B와 C 사이에 설정된 링크에 더하여 얻어진 사이즈와 동일하다. 즉, 컨테이너 A와 C 사이에는 외견적으로 여분의 사이즈를 갖는 링크가 설정된다. 필요한 것보다 많은 공백이 형성된다. 이는 문서의 미관을 악화시킬 수 있다. 또한, 컨테이너 A 또는 C에 보다 큰 사이즈의 데이터가 삽입된 경우에도, 그 공간은 효과적으로 활용될 수 없다. 컨테이너 B의 높이를 0으로 설정한 경우, 컨테이너 A와 C 사이의 링크의 길이를 단축하여, 컨테이너 A 및 C를 보다 최적의 사이즈로 설정하는 것이 바람직하다.
체크 박스(1208)에서 체크 마크가 온되지 않은 경우(체크 마크 오프임)를 가정한다. 이 경우에, 이 컨테이너에 삽입될 데이터가 빈 경우에 컨테이너 사이즈를 0로 설정하여 계산을 실행하는 동작만이 실행된다. 컨테이너로부터 설정된 모든 링크의 길이는 링크 설정에 따라서 계산된다. 이 경우에는, 컨테이너가 복수의 링크에 의해 연결된 경우에도, 사이즈 조정이 이루어지지 않기 때문에 공백이 형성되어 레이아웃 밸런스가 좋지 않게 된다. 또한, 그 밖의 컨테이너에 삽입될 데이터가 큰 경우에, 공백을 활용하여 최적의 사이즈를 얻을 수 있다.
링크의 길이를 조정함으로써 가능한한 공백을 채우거나 활용하기 위하여, 체크 박스(1208)의 체크 마크를 턴온하는 것이 효과적이다. 체크 박스(1208) 상의 체크 마크가 온인 경우, 프레임(1209) 내에 배치된 항목(1210∼1212)이 인에이블된다. 본 실시예에서, 길이 선택 버튼(1210)(길이)이 디폴트로 선택된다.
조정 길이 선택 버튼(1210) 및 비율 선택 버튼(1212)은 그룹화되고 배타성을 가져, 택일적으로 선택된다. 체크 박스(1208)에 의해서 선택된 기능은 컨테이너 사이즈를 0으로 설정하여 계산을 실행하고, 컨테이너에 대하여 설정된 링크의 사이즈를 조정하여 레이아웃을 재계산하는 옵션 기능이다. 본 실시예에서, 링크 길이 조정 방법과 같이, 조정 길이 선택 버튼(1210)이 선택되는 경우에, 입력 항목(1210a)에서 입력된 입력값에 대응하는 양만큼 컨테이너에 대하여 설정된 링크의 길이가 단축된다. 이 처리는 동일한 조건하에서 컨테이너에 대하여 설정된 모든 링크에 대하여 실행된다. 선택 버튼(1210)을 선택하면, 지정된 값의 단위를 리스트(1211)로부터 선택할 수 있다.
상술한 링크 길이 조정 기능에 의해, 복수의 링크가 설정된 경우에, 링크 길이의 밸런스가 어느 정도 유지될 수 있다. 또한, 실제 단축 길이가 지정되기 때문에, 사용자에 의한 지정이 용이하고, 레이아웃 결과를 쉽게 예측할 수 있다. 조정길이 선택 버튼(1210)이 선택된 경우에 지정될 수 있는 값(조정값)의 범위에 대해, 기본적으로 현재 컨테이너에 대해 설정된 복수의 링크 중 최소 길이가 조정값의 최대값으로 설정된다. 그러나, 최소 링크 길이가 예를 들어 O.1 mm와 같이 매우 짧은 경우, 공간은 거의 단축될 수 없다. 몇몇 경우에, 공간은, 레이아웃 밸런스가 어느 정도 희생되는 경우에도 채워질 필요가 있다. 따라서, 링크의 최소값보다 큰 조정값이 또한 설정될 수 있다. 조정값이 링크의 최소 길이보다 더 큰 경우에는, 조정후의 링크 길이가 음의 값을 가질 수 있다. 이 경우에, 링크 길이는 0으로 설정된다. 예를 들어, 링크의 길이가 한계없이 증가될 수 있는 몇몇 예가 고려될 수 있다.
또다른 링크 길이 조정 방법으로서, 비율 선택 버튼(1212)이 선택된 경우에는, 컨테이너에 대하여 설정된 링크의 길이가 지정된 비율로 변경된다. 이 방법에 따르면, 컨테이너에 접속된 복수의 링크의 길이의 비가 조정 전의 상태로 유지된다. 이 때문에, 복수의 컨테이너 사이에 링크가 설정된 경우에, 레이아웃 상태가 효과적으로 유지될 수 있다. 즉, 사용자가 특정 의도로 컨테이너를 배치한 레이아웃에 서, 공 데이터가 삽입된 컨테이너의 공간으로 다른 컨테이너를 채우는 경우에, 처음에 작성된 레이아웃의 밸런스를 유지하면서 링크 사이즈를 조정하고 컨테이너 사이즈를 변경할 수 있다.
이하에, 도 16에 나타낸 플로우차트를 참조하여, 도 15에서 설명된 다이얼로그를 이용하여 컨테이너의 특성을 설정하는 처리에 대하여 설명한다.
도 16은 사용자 인터페이스(103)가 상술한 특성 다이얼로그 윈도우(도 12)를 표시하도록 하여 사용자가 공 컨테이너의 삽입에 대한 설정을 실행하도록 하는 처리를 나타낸다.
우선, 키보드(132)나 마우스(133)에 의해 컨테이너가 선택된 상태에서, 선택된 상태의 컨테이너(이하, 타겟 컨테이너라 함)의 특성 다이얼로그 윈도우(1201)를 표시하기 위한 지시가 입력된다. 처리는 단계 S1601에서 단계 S1602로 진행한다. 단계 S1602에서, 레이아웃 편집 애플리케이션(121)의 사용자 인터페이스 모듈(103)은 타겟 컨테이너의 특성 다이얼로그 윈도우를 표시한다. 이하에서는, 컨테이너 E(705)가 선택된(대상 컨테이너) 것을 가정하여 설명한다. 특성 다이얼로그 윈도우를 표시하기 위한 지시가, 예를 들어 사용자에 의한 마우스의 우측 클릭 또는 키보드로부터의 Alt 키 입력에 의해 입력될 수 있다. 이 상태에서, 특성 다이얼로그 윈도우(1201) 상에서 선택 버튼(1206)(통상적으로 레이아웃 계산)이 선택된다(통상 모드). 공 데이터가 삽입된 경우에 컨테이너의 사이즈를 0으로 설정하여(제로화 모드) 계산을 실행하기 위하여, 사용자는 선택 버튼(1207)(데이터가 빈 경우에 최소 사이즈를 0으로 설정)을 선택한다.
선택 버튼(1207)이 선택된 상태에서는, 체크 박스(1208)의 체크 마크가 오프로 유지된다. 이 상태에서 다이얼로그 윈도우(1201)가 닫힌 경우에는, 공 데이터가 삽입된 경우에 컨테이너의 사이즈를 0으로 설정하는 처리만을 실행하도록 설정이 이루어진다.
선택 버튼(1207)(제로화 모드)이 선택되고, 체크 박스(1208)의 체크 마크가 턴온되면, 링크 길이 조정 방법을 사용자가 설정하도록 프레임(1209)내의 입력이 허용된다. 이 상태에서, 링크 길이 조정 방법이 선택될 수 있다. 조정 방법으로서, 상술한 바와 같이, 지정된 길이만큼 링크를 단축하는 방법과, 지정된 비율로 링크를 단축하는 방법 중 하나가 선택될 수 있다. 디폴트로서는, 조정 길이 선택 버튼(1210)이 선택되고, 단축하는 길이를 지정하는 박스는 공백이다.
링크의 길이를 지정하는 방법을 선택하기 위해서, 조정 길이 선택 버튼(1210)이 선택되고, 박스(1210a)에서 길이가 설정되며, 단위가 리스트(1211)로부터 선택된다. 한편, 지정된 비율로 링크를 단축하는 방법을 선택한 경우(비율 선택 버튼(1212)이 선택됨)에는, 박스(1212a)에 축소에 이용될 비율을 설정한다.
적용 버튼(1204)이 클릭되어 적용이 지시되면, 처리는 단계 S1603에서 단계 S1604로 진행한다. 사용자 인터페이스(103)는 특성 다이얼로그 윈도우에서의 설정 상태를 체크한다. 선택 버튼(1206)(통상 모드)이 선택되면, 플로우는 단계 S1604에서 단계 S1608로 진행하여, 타겟 컨테이너를 통상 모드로 설정한다.
선택 버튼(1207)이 선택되면, 플로우는 단계 S1604에서 단계 S1605로 진행한다. 레이아웃 편집 애플리케이션(121)은 타겟 컨테이너를 제로화 모드로 설정한다. 체크 박스(1208)의 체크 상태를 확인하여 링크 사이즈의 조정의 유무가 판정된다. 체크 박스(1208)가 체크 마크를 갖지 않으면, 플로우는 단계 S1606에서 단계 S1609로 진행하여, 타겟 컨테이너에 대하여 "링크 사이즈 조정 없음"을 설정한다. 체크 박스(1208)가 체크 마크를 갖는 경우에는, 플로우가 단계 S1606에서 단계 S1607로 진행한다. 단계 S1607에서, 레이아웃 편집 애플리케이션(121)은 프레임(1209) 내의 설정 상태에 따라서 타겟 컨테이너에 대한 링크 길이 조정 방법을 설정하고, 설정 컨텐츠를 문서 템플릿에 기술하며, 그 컨텐츠를 HDD(140)에 유지한다.
도 17은 도 14에 나타낸 레이아웃에서 컨테이너 E(705)가 제로화 모드로 설정된 경우(도 15에 나타낸 특성 다이얼로그 윈도우에서 선택 버튼(1207)이 선택되고, 체크 박스(1208)가 체크 마크를 갖지 않는 경우)의 레이아웃의 변화를 설명하는 도면이다. 도 18은 도 14에 나타낸 레이아웃에서 컨테이너 E(705)가 도 15에 나타낸 특성 다이얼로그 윈도우에서의 설정 상태를 가지고, 컨테이너 E에서 공 데이터가 삽입된 경우의 레이아웃의 변화를 설명하는 도면이다.
상술된 바와 같이, 도 17은 공 데이터가 삽입된 경우에, 컨테이너 사이즈를 0으로 설정하여 계산이 이루어지고, 링크 길이 조정이 실행되지 않는 경우의 레이아웃 조정 결과를 나타낸다. 도 15에서, 공 데이터가 삽입된 경우에, 컨테이너 사이즈를 0으로 설정하여 계산이 실행되도록 항목(1207)이 설정된다. 따라서, 컨테이너 E의 사이즈가 0으로 변경된다(805). 이 때, 컨테이너 A, B, C 및 D는 컨테이너 E와 각각 링크(716, 717, 718 및 719)에 의해 관련되기 때문에, 컨테이너 사이즈가 증가된다.
도 17에서 분명한 바와 같이, 컨테이너 A와 E 사이, 컨테이너 B와 E 사이, 컨테이너 C와 E 사이, 컨테이너 D와 E 사이의 거리는 변경되지 않는다. 그러나, 컨테이너 E의 사이즈가 "0"이기 때문에, 링크(716)의 사이즈 "50"과 링크(718)의 사이즈 "30"의 합계, 즉 "80"에 대응하는 공간이 컨테이너 A와 C의 사이에 형성된다. 또한, 링크(717)의 사이즈 "20"과 링크(719)의 사이즈 "40"의 합계, 즉 "60"에 대응하는 공간이 컨테이너 B와 컨테이너 D 사이에 형성된다. 상술한 링크 길이 조정을 실행하는 것에 의해, 이들 공간이 채워져 외관이 좋은 레이아웃을 얻는다. 대안적으로는, 컨테이너 A, B, C, 및 D의 확장 영역이 넓혀져서 공간을 효과적으로 이용하는 것이 바람직하다.
도 18은 도 17에 나타낸 결과에 부가하여 링크의 길이를 조정하여 얻어진 결과를 나타낸다. 도 15에 나타낸 다이얼로그 윈도우에서, 체크 박스(1208)가 체크 마크를 갖고, 조정 길이 선택 버튼(1210)이 선택되며, 박스(1210a)에서 입력값으로서 "20"이 지정된다. 컨테이너 E에 공 데이터가 삽입되고, 그 사이즈가 제로가 된 경우에, 레이아웃 편집 애플리케이션(121)은 컨테이너 E에 접속된 각 링크의 사이즈를 "20" 만큼 단축한다. 보다 구체적으로는, 레이아웃 편집 애플리케이션(121)은 링크(716)의 사이즈를 "50"에서 "30"으로, 링크(717)의 사이즈를 "20"에서 "0"으로, 링크(718)의 사이즈를 "30"에서 "10"으로, 링크(719)의 사이즈를 "40"에서 "20"으로 축소한다. 결과적으로, 도 18에 나타낸 바와 같이, 컨테이너 A와 C 사이의 거리는 링크(716)의 사이즈 "30"과 링크(718)의 사이즈 "10"의 합계 "40"과 동일하다. 컨테이너 B와 컨테이너 D 사이의 거리는 링크(717)의 사이즈 "0"과 링크(719)의 사이즈 "20"의 합계 "20"과 동일하다. 따라서, 컨테이너 A와 C 사이 및 컨테이너 B와 D 사이에 사이즈 "40"에 대응하는 공간이 사용된다.
도 15에 나타낸 항목(1210)에서 사이즈 "20" 이상이 지정되었다고 가정한다. 예를 들어, "30"이 지정되고, 링크 사이즈가 0 이하로는 되지 않는다고 가정한다. 이 경우, 링크(716)의 사이즈는 "20"이고, 링크(718)의 사이즈는 "0"이고, 링크(717)의 사이즈는 "0"으로 남아있고, 링크(719)의 사이즈는 "10"이다. 컨테이너 A와 C 사이의 거리는 링크(716)의 사이즈 "20"과 링크(718)의 사이즈" 0"의 합계 "20"과 동일하다. 컨테이너 B와 D 사이의 거리는 링크(717)의 사이즈 "0"과 링크(719)의 사이즈 "10"의 합계 "10"과 동일하다.
링크 길이 조정 방법으로서 비율 선택 버튼(1212)이 선택되고, 박스(1212a)에 80(%)을 설정한 경우에, 링크(716∼719)의 길이는 각각 "50"→"40", "20"→"16", "30"→"24", "40"→"32"로 변경된다.
도 19는 도 14, 도 17 및 도 18에서와 같이 레이아웃 상태가 변경된 경우에 레이아웃 엔진(105)의 동작을 나타내는 플로우차트이다.
우선, 단계 S1701에서, 레이아웃 편집 애플리케이션(121)은 데이터베이스의 레코드의 필드(DB 필드라고도 함)를 대응하는 컨테이너에 삽입한다. 단계 S1702에 서, 도 11에 나타낸 플로우차트를 참조하여 설명된 레이아웃 계산이 실행된다. 본 실시예에서는, 공 데이터를 갖는 컨테이너를 제로화하여 레이아웃 조정을 더 실행한다. 따라서, 이하의 처리가 실행된다.
단계 S1703에서, 레이아웃 편집 애플리케이션(121)은 현재 레코드에 공 데이터를 갖는 DB 필드를 검색한다. 공 DB 필드가 발견되지 않는 경우에는, 플로우가 단계 S1704에서 단계 S1715로 진행하여 단계 S1702에서의 레이아웃 계산에 의한 레이아웃 결과를 디스플레이에 프리뷰한다. 공 DB 필드가 존재하는 경우에는, 플로우는 단계 S1704에서 단계 S1705로 진행한다. 레이아웃 편집 애플리케이션(121)은 공 DB 필드가 삽입된 컨테이너를 검색한다. 단계 S1705에서 컨테이너가 존재하지 않는 경우, 즉 데이터베이스의 타겟 레코드에 공 DB 필드가 존재하고, 그 DB 필드가 어떤 컨테이너에도 관련되지 않은 경우에는, 컨테이너의 사이즈를 제로화하는 레이아웃 조정이 실행될 필요가 없다. 따라서, 플로우는 단계 S1715로 진행한다. 레이아웃 편집 애플리케이션(121)은 레이아웃 결과의 프리뷰를 표시한다.
단계 S1705에서 컨테이너가 존재하는 경우에는, 플로우는 단계 S1706에서 단계 S1707로 진행하여, 단계 S1705에서 검색된 컨테이너 중, 1개의 DB 필드만이 관련된 컨테이너와, 공 데이터를 갖는 복수의 DB 필드가 관련된 컨테이너를 검색한다. 컨테이너가 검색되지 않는 경우에는, 공 데이터가 삽입된 컨테이너가 존재하지 않는다. 플로우는 단계 S1708에서 단계 S1715로 진행하여, 레이아웃 결과를 프리뷰한다.
단계 S1707의 처리가 다음의 이유에 기인하여 실행된다. 복수의 DB 필드가 1개의 컨테이너와 관련된 경우에, 어떤 DB 필드는 데이터를 가질 수 있고, 나머지 필드는 공 데이터를 가질 수 있다. 이 경우에,적어도 하나의 DB 필드가 데이터를 가지며, 그 데이터는 컨테이너에 삽입된다. 따라서, 컨테이너의 사이즈를 0으로 설정하여 계산이 이루어져서는 안된다. 단계 S1707에서, 이러한 컨테이너를 공 컨테이너로 간주하지 않도록 필터링이 실행된다. 한편, 1개의 DB 필드가 관련된 컨테이너가 이미 단계 S1704에서 공 DB 필드를 갖는 컨테이너로서 필터링된다. 이들 컨테이너는 물론 공 데이터를 갖는다.
단계 S1708에서, 레이아웃 편집 애플리케이션(121)은 단계 S1707의 검색 결과에 기초하여 검색된 컨테이너 수가 0인지의 여부를 판단한다. 단계 S1708에서 "아니오"(검색된 컨테이너의 수가 1 이상인 경우)이면, 플로우는 단계 S1709로 진행하여, 검색 리스트의 헤드에서 컨테이너로 포커스를 이동한다(이하, 포커스가 이동된 컨테이너를 관심 컨테이너라 함). 관심 컨테이너에, 데이터가 빈 경우에 컨테이너의 사이즈를 0으로 설정하여 계산이 실행되는, "제로화 모드"가 설정되었는지를 확인한다(단계 S1711). 단계 S1711에서 "예"이면, 플로우는 단계 S1713으로 진행한다. 단계 S1711에서 "아니오"이면, 플로우는 단계 S1712로 진행한다. 관심 컨테이너의 특성에 제로화 모드가 설정되어 있지 않은 경우에, 검색 리스트가 다음 컨테이너를 갖는지의 여부를 확인한다(단계 S1712). 단계 S1712에서 "예"이면, 다음 컨테이너로 포커스를 이동한다(단계 S1710).
단계 S1711에서 "예"이면, 플로우는 단계 S1713로 진행한다. 레이아웃 편집 애플리케이션(121)은 관심 컨테이너의 사이즈를 제로화한다. 링크 조정의 설정이 되어 있으면, 그 설정이 메모리에 로드된다. 그리고, 검색 리스트가 다음 컨테이너를 갖는지의 여부를 확인한다(단계 S1712). 단계 S1712에서 "예"이면, 다음 컨테이너로 포커스가 이동된다(단계 S1710).
단계 S1711∼S1713의 처리는 검색 리스트의 모든 컨테이너에 대하여 반복하여 실행된다. 모든 컨테이너에 대하여 처리가 실행된 후, 단계 S1714에서 메모리에서 로딩된 정보에 기초하여 다시 레이아웃 계산이 실행된다. 보다 구체적으로는, 제로화 모드가 설정된 공 컨테이너에 대해서, 그 사이즈를 0으로 설정한다. 링크 조정 설정이 존재하면, 설정의 컨텐츠에 따라서 링크 길이를 조정한다. 이러한 방식으로, 예를 들어 단계 S1702에서의 레이아웃 계산에 의해서 도 14에 나타낸 레이아웃이 얻어진다. 컨테이너 E가 비어있는 경우에는, 단계 S1714의 레이아웃 계산에 의해 도 18에 나타낸 레이아웃이 얻어진다. 컨테이너의 사이즈가 제로화되는 경우에는, 제로화될 컨테이너의 중심선 상에 컨테이너가 압축된다. 예를 들면 컨테이너 E에 연결된 수직 방향의 링크에 대해서는, 수평축(도 18의 805) 상에 컨테이너 E의 상하 변이 중첩된다. 수평 방향의 링크에 대해서는, 수직 방향의 중심 축 상에 컨테이너의 좌우 변이 중첩된다. 바꾸어 말해서, 컨테이너를 제로화하는 것은 컨테이너를 2개의 수직 및 수평 선 둘다 또는 하나에 의해 표현하는 것을 나타낸다.
사이즈가 제로화된 후의 컨테이너의 위치는 상기에 한정되지 않는다. 컨테이너의 상하 변 중 하나 또는 좌우 변의 하나에 변이 중첩될 수 있다. 컨테이너의 중심 축 또는 변 중 하나 상에서 중첩되는지를 특성 다이얼로그 윈도우(도 15)에서 설정할 수 있다.
단계 S1715에서, 레이아웃 편집 애플리케이션(121)은 그 레이아웃 결과의 프리뷰를 표시한다. 레이아웃 엔진의 동작 플로우가 상술되었다.
<<제2 실시예>>
컨테이너에 공 데이터가 삽입된 경우의 링크 길이를 조정하기 위하여, 제1 실시예의 도 15에 나타낸 링크 조정 방법에 부가하여 다양한 종류의 방법이 이용될 수 있다. 예를 들면, 도 15에 나타낸 방법에서, 지정된 링크 조정값(길이 또는 비율)이 공 데이터가 삽입된 컨테이너에 대하여 설정된 모든 링크에 적용된다. 그러나, 컨테이너의 4 변에 링크가 설정된 경우에, 사용자는 몇몇 상황에서 상, 하, 좌, 우 변 상에 서로 다른 조정값을 설정하기를 원할 수 있다. 제2 실시예는 이러한 경우에 대처하기 위해, 컨테이너의 각각의 변마다 링크 길이 조정값을 설정할 수 있는 UI를 제공한다.
도 20은 전형적인 특성 다이얼로그 윈도우의 예이다. 항목(1206, 1207, 및 1208)은 도 15에 나타낸 것과 동일하다. 항목(1208)이 선택되면, 프레임(1302) 내의 박스가 인에이블된다. 단지 링크가 설정된 컨테이너의 변의 방향에 대응하는 박스만이 인에이블된다. 예를 들면, 도 14에 나타낸 바와 같이 배치된 컨테이너 E는 상하 2개의 변에 링크를 갖는다. 따라서, 도 20에 나타낸 특성 다이얼로그 윈도우(1301)의 프레임(1302) 내에, 항목(1303)(상)과 항목(1306)(하)이 인에이블된다. 항목(1304)(좌)과 항목(1305)(우)은 디스에이블되어 회색으로 나타내어진다.
제2 실시예에 따르면, 컨테이너의 각 변에 대한 조정값을 설정하는 박스가 배치된다. 각각의 박스에 대하여, 리스트(1307)로부터 단위를 선택할 수 있다.
도 21은 도 20에 나타낸 다이얼로그 윈도우에 의해서 설정된 링크 조정 방법에 따라서 도 14에 나타낸 레이아웃을 조정하여 얻어진 결과를 나타내는 도면이다. 도 20의 항목(1303)(상)에는 사이즈 "20"이 설정된다. 항목(1306)(하)에는 사이즈 "30"이 설정된다. 따라서, 컨테이너 E의 상변 상의 링크(716)의 사이즈는 30(50-20)이 된다. 링크(717)가 컨테이너 E의 상변 상에 존재하기 때문에, 그 사이즈는 0(20-20)이 된다. 한편, 링크(718)는 컨테이너 E의 하변 상에 있기 때문에, 그 사이즈는 0(30-30)이 된다. 링크(719)도 컨테이너 E의 하변에 있기 때문에, 그 사이즈는 10(40-30)이 된다. 이러한 방식으로, 도 21에 나타낸 바와 같이 레이아웃이 조정된다.
상하 변과 좌우 변에 링크를 갖는 컨테이너의 사이즈를 제로화한 경우에는, 그 컨테이너에 접속된 컨테이너가 서로 간섭할 수 있다. 예를 들면, 제로화 타겟 컨테이너의 상변에 접속된 컨테이너와 우변에 접속된 컨테이너가 타겟 컨테이너의 제로화시에 서로 간섭할 수 있다. 본 실시예에서, 이러한 간섭이 레이아웃 계산에서 검출된 경우에는, 컨테이너의 제로화가 금지된다.
상술한 바와 같이, 제2 실시예에 따르면, 각 변의 방향에 대하여 링크 조정값이 설정될 수 있다. 이러한 이유로, 사용자가 보다 미세한 지정을 할 수 있고, 공 데이터를 갖는 컨테이너에 의해 생성된 쓸모없는 공간이 효과적으로 채워질 수 있다. 또한, 공 데이터가 컨테이너에 삽입되는 경우에 공간이 바람직하게 채워져야 할 컨테이너의 방향을 사용자가 지정할 수 있다. 따라서, 사용자의 의도가 반영된 정확한 레이아웃 결과를 얻을 수 있다. 각 링크 방향 뿐만 아니라 공 데이터가 삽입된 컨테이너에 링크를 갖는 각 컨테이너에 대하여 링크 조정값이 설정될 수 있다. 설정에 따라서 공간을 채우면서 컨테이너를 레이아웃하는 효율성 또한 명백하다.
<기타 실시예>
본 발명의 목적은 또한 상술한 실시예의 기능을 구현하기 위한 소프트웨어의 프로그램 코드를 저장하는 기억 매체를 시스템 또는 장치에 공급하여, 그 시스템 또는 장치의 컴퓨터(또는 CPU 또는 MPU)가 그 기억 매체에 저장된 프로그램 코드를 판독하고 실행함으로써도 달성될 수 있다.
이 경우, 기억 매체로부터 판독된 프로그램 코드 자체가 상술한 실시예의 기능을 구현하고, 그 프로그램 코드를 저장하는 기억 매체가 본 발명을 구성한다.
프로그램 코드를 공급하기 위한 기억 매체로서는, 예를 들면, 플렉시블 디스크, 하드 디스크, 광 디스크, 광자기 디스크, CD-ROM, CD-R, 자기 테이프, 불휘발성 메모리 카드, ROM 등이 이용될 수 있다.
컴퓨터에 의해 판독된 프로그램 코드가 실행되는 경우 뿐만 아니라, 그 프로그램 코드의 지시에 기초하여 컴퓨터 상에서 실행되는 OS(오퍼레이팅 시스템)이 실제의 처리의 일부 또는 전부를 행하는 경우에도 상술한 실시예의 기능이 구현된다.
또한, 기억 매체로부터 판독된 프로그램 코드가 컴퓨터에 삽입된 기능 확장 보드나 컴퓨터에 접속된 기능 확장 유닛의 메모리에 기입되고, 그 프로그램 코드의 지시에 기초하여 기능 확장 보드 또는 기능 확장 유닛의 CPU가 실제 처리의 일부 또는 전부를 행하는 경우에도, 전술한 실시예의 기능이 구현된다.
본 발명의 다른 실시예가 본 발명의 사상 및 범위를 벗어나지 않고 광범위하게 행해질 수 있으므로, 본 발명은 특정한 실시예에 국한되지 않으며 청구범위에 의해 정의된다는 것을 이해하여야 한다.
본 발명에 따르면, 공 데이터가 삽입되는 컨테이너의 공간을 유효하게 이용할 수 있으므로, 보다 미관을 향상시킨 문서를 작성할 수 있다.

Claims (27)

  1. 페이지의 레이아웃을 결정하는 레이아웃 조정 방법으로서,
    데이터가 유입되는 부분 영역의 기본 사이즈와 기준 위치, 및 최소 사이즈를 설정하는 부분 영역 설정 단계;
    상기 부분 영역 설정 단계에서 기본 사이즈와 기준 위치, 및 최소 사이즈가설정된 부분 영역에 유입되는 데이터에 기초하여, 해당 유입되는 데이터를 묘화하는 데에 적합한 사이즈를 부분 영역마다 계산하는 계산 단계;
    상기 계산 단계에서 계산된 각 부분 영역의 사이즈에 기초하여, 페이지 내의 레이아웃을 조정하는 조정 단계; 및
    상기 부분 영역에 할당된 데이터가 빈 경우에, 해당 부분 영역의 사이즈를 제로화할지의 여부를 지정하는 지정 단계
    를 포함하고,
    상기 조정 단계는, 상기 지정 단계에서 제로화가 지정된 부분 영역에 할당된 데이터가 공 데이터인 경우, 해당 부분 영역에 설정되어 있는 최소 사이즈에 무관하게, 해당 부분 영역의 사이즈를 제로로 간주하여 페이지 내의 레이아웃을 조정하는 레이아웃 조정 방법.
  2. 제1항에 있어서,
    상기 부분 영역 설정 단계에서 설정된 복수의 부분 영역을 상기 페이지 내에 레이아웃함으로써 기본 레이아웃을 결정하는 기본 레이아웃 단계를 더 포함하고,
    상기 조정 단계에서, 상기 페이지 내의 레이아웃은, 상기 기본 레이아웃 단계에서 결정된 상기 기본 레이아웃에서의 상기 부분 영역들 사이의 관계에 기초하여 조정되는 레이아웃 조정 방법.
  3. 제1항에 있어서,
    상기 부분 영역 설정 단계에서, 부분 영역의 사이즈를 제로화한 경우에 그 부분 영역에 접속된 링크의 길이를 변경하기 위한 변경 정보가 설정될 수 있고,
    상기 조정 단계에서, 공 데이터가 할당된 상기 부분 영역의 사이즈를 제로로 간주하여 상기 페이지의 레이아웃이 조정되어야 할 경우에, 상기 부분 영역에 접속된 링크의 길이는 상기 변경 정보에 따라서 변경되는 레이아웃 조정 방법.
  4. 제3항에 있어서,
    상기 변경 정보는 상기 링크를 단축하는 길이를 나타내고,
    상기 조정 단계에서, 상기 부분 영역에 접속된 상기 링크의 길이가 상기 변경 정보에 의해 나타낸 길이만큼 단축되는 레이아웃 조정 방법.
  5. 제3항에 있어서,
    상기 변경 정보에서, 상기 링크를 단축하는 길이는 링크의 각 방향마다 등록되고,
    상기 조정 단계에서, 상기 부분 영역에 접속된 상기 링크의 길이는 상기 링 크의 방향에 대응하여 등록된 길이만큼 단축되는 레이아웃 조정 방법.
  6. 제3항에 있어서,
    상기 변경 정보는 상기 링크를 단축하는 비율을 나타내고,
    상기 조정 단계에서, 상기 부분 영역에 접속된 상기 링크의 길이는 상기 변경 정보에 의해 나타낸 비율에 따라서 단축되는 레이아웃 조정 방법.
  7. 제1항에 있어서,
    상기 조정 단계에서 조정된 상기 페이지의 레이아웃의 프리뷰를 표시하는 표시 단계를 더 포함하는 레이아웃 조정 방법.
  8. 제1항에 있어서,
    상기 조정 단계에서 조정된 상기 페이지의 레이아웃에 따라서 인쇄를 실행하는 인쇄 단계를 더 포함하는 레이아웃 조정 방법.
  9. 페이지의 레이아웃을 결정하기 위한 레이아웃 조정 장치로서,
    데이터가 유입되는 부분 영역의 기본 사이즈와 기준 위치, 및 최소 사이즈를 설정하는 부분 영역 설정 수단;
    상기 부분 영역 설정 수단에 의해 기본 사이즈와 기준 위치, 및 최소 사이즈가 설정된 부분 영역에 유입되는 데이터에 기초하여, 해당 유입되는 데이터를 묘화하는 데에 적합한 사이즈를 부분 영역마다 계산하는 계산 수단;
    상기 계산 수단에 의해 계산된 각 부분 영역의 사이즈에 기초하여, 페이지 내의 레이아웃을 조정하는 조정 수단; 및
    상기 부분 영역에 할당된 데이터가 빈 경우에, 해당 부분 영역의 사이즈를 제로화할지의 여부를 지정하는 지정 수단
    을 포함하고,
    상기 조정 수단은, 상기 지정 수단에 의해 제로화가 지정된 부분 영역에 할당된 데이터가 공 데이터인 경우, 해당 부분 영역에 설정되어 있는 최소 사이즈에 무관하게, 해당 부분 영역의 사이즈를 제로로 간주하여 페이지 내의 레이아웃을 조정하는 레이아웃 조정 장치.
  10. 제9항에 있어서,
    상기 부분 영역 설정 수단에 의해 설정된 복수의 부분 영역을 상기 페이지 내에 레이아웃함으로써 기본 레이아웃을 결정하기 위한 기본 레이아웃 수단을 더 포함하고,
    상기 조정 수단은 상기 기본 레이아웃 수단에 의해 결정된 상기 기본 레이아웃에서의 상기 부분 영역들 사이의 관계에 기초하여 상기 페이지 내의 레이아웃을 조정하는 레이아웃 조정 장치.
  11. 제9항에 있어서,
    상기 부분 영역 설정 수단은 상기 부분 영역의 사이즈를 제로화한 경우에 그 부분 영역에 접속된 링크의 길이를 변경하기 위한 변경 정보를 설정할 수 있고,
    상기 조정 수단은, 공 데이터가 할당된 상기 부분 영역의 사이즈를 제로로 간주하여 상기 페이지의 레이아웃이 조정되어야 할 경우에, 상기 부분 영역에 접속된 상기 링크의 길이를 상기 변경 정보에 따라서 변경하는 레이아웃 조정 장치.
  12. 제11항에 있어서,
    상기 변경 정보는 상기 링크를 단축하는 길이를 나타내고,
    상기 조정 수단은 상기 부분 영역에 접속된 상기 링크의 길이를 상기 변경 정보에 의해 나타낸 길이만큼 단축하는 레이아웃 조정 장치.
  13. 제11항에 있어서,
    상기 변경 정보에서, 상기 링크를 단축하는 길이는 링크의 각 방향마다 등록되고,
    상기 조정 수단은 상기 부분 영역에 접속된 상기 링크의 길이를 상기 링크의 방향에 대응하여 등록된 길이만큼 단축하는 레이아웃 조정 장치.
  14. 제11항에 있어서,
    상기 변경 정보는 상기 링크를 단축하는 비율을 나타내고,
    상기 조정 수단은 상기 부분 영역에 접속된 상기 링크의 길이를 상기 변경 정보에 의해 나타낸 비율에 따라서 단축하는 레이아웃 조정 장치.
  15. 제9항에 있어서,
    상기 조정 수단에 의해 조정된 상기 페이지의 레이아웃의 프리뷰를 표시하기 위한 표시 수단을 더 포함하는 레이아웃 조정 장치.
  16. 제9항에 있어서,
    상기 조정 수단에 의해 조정된 상기 페이지의 레이아웃에 따라서 인쇄를 실행하기 위한 인쇄 수단을 더 포함하는 레이아웃 조정 장치.
  17. 페이지의 레이아웃을 결정하기 위한 레이아웃 조정 처리를 컴퓨터가 실행하게 하는 제어 프로그램을 저장하는 컴퓨터 판독가능한 매체로서,
    상기 레이아웃 조정 처리는,
    데이터가 유입되는 부분 영역의 기본 사이즈와 기준 위치, 및 최소 사이즈를 설정하는 부분 영역 설정 단계;
    상기 부분 영역 설정 단계에서 기본 사이즈와 기준 위치, 및 최소 사이즈가설정된 부분 영역에 유입되는 데이터에 기초하여, 해당 유입되는 데이터를 묘화하는 데에 적합한 사이즈를 부분 영역마다 계산하는 계산 단계;
    상기 계산 단계에서 계산된 각 부분 영역의 사이즈에 기초하여, 페이지 내의 레이아웃을 조정하는 조정 단계; 및
    상기 부분 영역에 할당된 데이터가 빈 경우에, 해당 부분 영역의 사이즈를 제로화할지의 여부를 지정하는 지정 단계
    를 포함하고,
    상기 조정 단계는, 상기 지정 단계에서 제로화가 지정된 부분 영역에 할당된 데이터가 공 데이터인 경우, 해당 부분 영역에 설정되어 있는 최소 사이즈에 무관하게, 해당 부분 영역의 사이즈를 제로로 간주하여 페이지 내의 레이아웃을 조정하는 컴퓨터 판독가능 매체.
  18. 제17항에 있어서,
    상기 부분 영역 설정 단계에서 설정된 복수의 부분 영역을 상기 페이지 내에 레이아웃함으로써 기본 레이아웃을 결정하는 기본 레이아웃 단계를 더 포함하고,
    상기 조정 단계에서, 상기 페이지 내의 레이아웃은 상기 기본 레이아웃 단계에서 결정된 상기 기본 레이아웃에서의 상기 부분 영역들 사이의 관계에 기초하여 조정되는 컴퓨터 판독가능 매체.
  19. 제17항에 있어서,
    상기 부분 영역 설정 단계에서, 부분 영역의 사이즈를 제로화한 경우에 그 부분 영역에 접속된 링크의 길이를 변경하기 위한 변경 정보를 설정할 수 있고,
    상기 조정 단계에서, 공 데이터가 할당된 상기 부분 영역의 사이즈를 제로로 간주하여 상기 페이지의 레이아웃이 조정되어야 할 경우에, 상기 부분 영역에 접속된 상기 링크의 길이는 상기 변경 정보에 따라서 변경되는 컴퓨터 판독가능 매체.
  20. 제19항에 있어서,
    상기 변경 정보는 상기 링크를 단축하는 길이를 나타내고,
    상기 조정 단계에서, 상기 부분 영역에 접속된 상기 링크의 길이는 상기 변경 정보에 의해 나타낸 길이만큼 단축되는 컴퓨터 판독가능 매체.
  21. 제19항에 있어서,
    상기 변경 정보에서, 상기 링크를 단축하는 길이는 링크의 각 방향마다 등록되고,
    상기 조정 단계에서, 상기 부분 영역에 접속된 상기 링크의 길이는 상기 링크의 방향에 대응하여 등록된 길이만큼 단축되는 컴퓨터 판독가능 매체.
  22. 제19항에 있어서,
    상기 변경 정보는 상기 링크를 단축하는 비율을 나타내고,
    상기 조정 단계에서, 상기 부분 영역에 접속된 상기 링크의 길이는 상기 변경 정보에 의해 나타낸 비율에 따라서 단축되는 컴퓨터 판독가능 매체.
  23. 제17항에 있어서,
    상기 조정 단계에서 조정된 상기 페이지의 레이아웃의 프리뷰를 표시하는 표시 단계를 더 포함하는 컴퓨터 판독가능 매체.
  24. 제17항에 있어서,
    상기 조정 단계에서 조정된 상기 페이지의 레이아웃에 따라서 인쇄를 실행하는 인쇄 단계를 더 포함하는 컴퓨터 판독가능 매체.
  25. 페이지의 레이아웃을 결정하는 레이아웃 조정 방법으로서,
    데이터가 유입되는 복수의 부분 영역의 기본 사이즈와 기준 위치를 설정하는 부분 영역 설정 단계;
    상기 부분 영역 설정 단계에서 기본 사이즈와 기준 위치가 설정된 복수의 부분 영역을 페이지 내에 레이아웃하고, 기본 레이아웃을 결정하는 기본 레이아웃 단계;
    상기 부분 영역 설정 단계에서 기본 사이즈와 기준 위치가 설정된 부분 영역에 유입되는 데이터에 기초하여, 해당 데이터를 묘화하는 데에 적합한 사이즈를 부분 영역마다 계산하는 계산 단계;
    상기 계산 단계에서 계산된 각 부분 영역의 사이즈와 상기 기본 레이아웃 단계에서 결정된 기본 레이아웃에서의 각 부분 영역의 관련성에 기초하여, 페이지 내의 레이아웃을 조정하는 조정 단계;
    상기 부분 영역에 할당된 데이터가 공 데이터인 경우에 그 사이즈를 제로화할 지의 여부를 지정하는 지정 단계
    를 포함하고,
    상기 조정 단계는, 상기 지정 단계에서 제로화가 지정된 부분 영역에 할당된 데이터가 공 데이터인 경우, 해당 부분 영역의 사이즈를 제로로 간주하여, 해당 부분 영역에 관련지어져 있는 복수의 부분 영역의 사이즈를 변경하여 페이지 내의 레이아웃을 조정하는 레이아웃 조정 방법.
  26. 페이지의 레이아웃을 결정하기 위한 레이아웃 조정 장치로서,
    데이터가 유입되는 복수의 부분 영역의 기본 사이즈와 기준 위치를 설정하는 부분 영역 설정 수단;
    상기 부분 영역 설정 수단에 의해 기본 사이즈와 기준 위치가 설정된 복수의 부분 영역을 페이지 내에 레이아웃하고, 기본 레이아웃을 결정하는 기본 레이아웃 수단;
    상기 부분 영역 설정 수단에 의해 기본 사이즈와 기준 위치가 설정된 부분 영역에 유입되는 데이터에 기초하여, 해당 데이터를 묘화하는 데에 적합한 사이즈를 부분 영역마다 계산하는 계산 수단;
    상기 계산 수단에 의해 계산된 각 부분 영역의 사이즈와 상기 기본 레이아웃 수단에 의해 결정된 기본 레이아웃에서의 각 부분 영역의 관련성에 기초하여, 페이지 내의 레이아웃을 조정하는 조정 수단;
    상기 부분 영역에 할당된 데이터가 공 데이터인 경우에 그 사이즈를 제로화할 지의 여부를 지정하는 지정 수단
    을 포함하고,
    상기 조정 수단은, 상기 지정 수단에 의해 제로화가 지정된 부분 영역에 할당된 데이터가 공 데이터인 경우, 해당 부분 영역의 사이즈를 제로로 간주하여, 해당 부분 영역에 관련지어져 있는 복수의 부분 영역의 사이즈를 변경하여 페이지 내의 레이아웃을 조정하는 레이아웃 조정 장치.
  27. 페이지의 레이아웃을 결정하기 위한 레이아웃 조정 처리를 컴퓨터가 실행하게 하는 제어 프로그램을 저장하는 컴퓨터 판독가능한 매체로서,
    상기 레이아웃 조정 처리는,
    데이터가 유입되는 복수의 부분 영역의 기본 사이즈와 기준 위치를 설정하는 부분 영역 설정 단계;
    상기 부분 영역 설정 단계에서 기본 사이즈와 기준 위치가 설정된 복수의 부분 영역을 페이지 내에 레이아웃하고, 기본 레이아웃을 결정하는 기본 레이아웃 단계;
    상기 부분 영역 설정 단계에서 기본 사이즈와 기준 위치가 설정된 부분 영역에 유입되는 데이터에 기초하여, 해당 데이터를 묘화하는 데에 적합한 사이즈를 부분 영역마다 계산하는 계산 단계;
    상기 계산 단계에서 계산된 각 부분 영역의 사이즈와 상기 기본 레이아웃 단계에서 결정된 기본 레이아웃에서의 각 부분 영역의 관련성에 기초하여, 페이지 내의 레이아웃을 조정하는 조정 단계;
    상기 부분 영역에 할당된 데이터가 공 데이터인 경우에 그 사이즈를 제로화할 지의 여부를 지정하는 지정 단계
    를 포함하고,
    상기 조정 단계는, 상기 지정 단계에서 제로화가 지정된 부분 영역에 할당된 데이터가 공 데이터인 경우, 해당 부분 영역의 사이즈를 제로로 간주하여, 해당 부분 영역에 관련지어져 있는 복수의 부분 영역의 사이즈를 변경하여 페이지 내의 레이아웃을 조정하는 컴퓨터 판독가능 매체.
KR1020050008192A 2004-01-30 2005-01-28 레이아웃 조정 방법 및 장치 KR100716084B1 (ko)

Applications Claiming Priority (2)

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

Publications (2)

Publication Number Publication Date
KR20060042887A KR20060042887A (ko) 2006-05-15
KR100716084B1 true KR100716084B1 (ko) 2007-05-08

Family

ID=34650865

Family Applications (1)

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

Country Status (5)

Country Link
US (1) US20050168782A1 (ko)
EP (1) EP1560126A3 (ko)
JP (1) JP4241410B2 (ko)
KR (1) KR100716084B1 (ko)
CN (1) CN100545798C (ko)

Families Citing this family (106)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4047308B2 (ja) * 2004-08-06 2008-02-13 キヤノン株式会社 レイアウト処理方法、情報処理装置及びコンピュータプログラム
GB2430060A (en) * 2005-09-08 2007-03-14 Hewlett Packard Development Co Flows for variable data printing
US7792944B2 (en) * 2006-03-31 2010-09-07 Amazon Technologies, Inc. Executing programs based on user-specified constraints
US8190682B2 (en) * 2006-03-31 2012-05-29 Amazon Technologies, Inc. Managing execution of programs by multiple computing systems
US7801128B2 (en) 2006-03-31 2010-09-21 Amazon Technologies, Inc. Managing communications between computing nodes
US8028090B2 (en) 2008-11-17 2011-09-27 Amazon Technologies, Inc. Request routing utilizing client location information
US7991910B2 (en) 2008-11-17 2011-08-02 Amazon Technologies, Inc. Updating routing information based on client location
US8601090B1 (en) 2008-03-31 2013-12-03 Amazon Technologies, Inc. Network resource identification
US8447831B1 (en) 2008-03-31 2013-05-21 Amazon Technologies, Inc. Incentive driven content delivery
US8321568B2 (en) 2008-03-31 2012-11-27 Amazon Technologies, Inc. Content management
US8606996B2 (en) 2008-03-31 2013-12-10 Amazon Technologies, Inc. Cache optimization
US8533293B1 (en) 2008-03-31 2013-09-10 Amazon Technologies, Inc. Client side cache management
US8156243B2 (en) 2008-03-31 2012-04-10 Amazon Technologies, Inc. Request routing
US7962597B2 (en) 2008-03-31 2011-06-14 Amazon Technologies, Inc. Request routing based on class
US7970820B1 (en) 2008-03-31 2011-06-28 Amazon Technologies, Inc. Locality based content distribution
US7925782B2 (en) 2008-06-30 2011-04-12 Amazon Technologies, Inc. Request routing using network computing components
US9407681B1 (en) 2010-09-28 2016-08-02 Amazon Technologies, Inc. Latency measurement in resource requests
US9912740B2 (en) 2008-06-30 2018-03-06 Amazon Technologies, Inc. Latency measurement in resource requests
US8073940B1 (en) 2008-11-17 2011-12-06 Amazon Technologies, Inc. Managing content delivery network service providers
US8521880B1 (en) 2008-11-17 2013-08-27 Amazon Technologies, Inc. Managing content delivery network service providers
US8732309B1 (en) 2008-11-17 2014-05-20 Amazon Technologies, Inc. Request routing utilizing cost information
US8060616B1 (en) 2008-11-17 2011-11-15 Amazon Technologies, Inc. Managing CDN registration by a storage provider
US8122098B1 (en) 2008-11-17 2012-02-21 Amazon Technologies, Inc. Managing content delivery network service providers by a content broker
US8065417B1 (en) 2008-11-17 2011-11-22 Amazon Technologies, Inc. Service provider registration by a content broker
US9152292B2 (en) * 2009-02-05 2015-10-06 Hewlett-Packard Development Company, L.P. Image collage authoring
US8412823B1 (en) 2009-03-27 2013-04-02 Amazon Technologies, Inc. Managing tracking information entries in resource cache components
US8756341B1 (en) 2009-03-27 2014-06-17 Amazon Technologies, Inc. Request routing utilizing popularity information
US8521851B1 (en) 2009-03-27 2013-08-27 Amazon Technologies, Inc. DNS query processing using resource identifiers specifying an application broker
US8688837B1 (en) 2009-03-27 2014-04-01 Amazon Technologies, Inc. Dynamically translating resource identifiers for request routing using popularity information
US8161384B2 (en) * 2009-04-23 2012-04-17 Hewlett-Packard Development Company, L.P. Arranging graphic objects on a page with text
US8782236B1 (en) 2009-06-16 2014-07-15 Amazon Technologies, Inc. Managing resources using resource expiration data
US8397073B1 (en) 2009-09-04 2013-03-12 Amazon Technologies, Inc. Managing secure content in a content delivery network
US8433771B1 (en) 2009-10-02 2013-04-30 Amazon Technologies, Inc. Distribution network with forward resource propagation
WO2011053293A1 (en) * 2009-10-29 2011-05-05 Hewlett-Packard Development Company, L.P. Graphic object layout templates for arranging images
US9495338B1 (en) 2010-01-28 2016-11-15 Amazon Technologies, Inc. Content distribution network
WO2012015406A1 (en) * 2010-07-29 2012-02-02 Hewlett-Packard Development Company, L.P. Inserting content and exclusion zone(s) into a page
US8756272B1 (en) 2010-08-26 2014-06-17 Amazon Technologies, Inc. Processing encoded content
US8606922B1 (en) 2010-09-27 2013-12-10 Amazon Technologies, Inc. Dynamic resource zone mapping
US8930513B1 (en) 2010-09-28 2015-01-06 Amazon Technologies, Inc. Latency measurement in resource requests
US8577992B1 (en) 2010-09-28 2013-11-05 Amazon Technologies, Inc. Request routing management based on network components
US8468247B1 (en) 2010-09-28 2013-06-18 Amazon Technologies, Inc. Point of presence management in request routing
US8938526B1 (en) 2010-09-28 2015-01-20 Amazon Technologies, Inc. Request routing management based on network components
US9003035B1 (en) 2010-09-28 2015-04-07 Amazon Technologies, Inc. Point of presence management in request routing
US8819283B2 (en) 2010-09-28 2014-08-26 Amazon Technologies, Inc. Request routing in a networked environment
US9712484B1 (en) 2010-09-28 2017-07-18 Amazon Technologies, Inc. Managing request routing information utilizing client identifiers
US10958501B1 (en) 2010-09-28 2021-03-23 Amazon Technologies, Inc. Request routing information based on client IP groupings
US8924528B1 (en) 2010-09-28 2014-12-30 Amazon Technologies, Inc. Latency measurement in resource requests
US10097398B1 (en) 2010-09-28 2018-10-09 Amazon Technologies, Inc. Point of presence management in request routing
US8452874B2 (en) 2010-11-22 2013-05-28 Amazon Technologies, Inc. Request routing processing
JP2012118832A (ja) * 2010-12-02 2012-06-21 Sony Corp 情報処理装置、情報処理方法及びプログラム
US9391949B1 (en) 2010-12-03 2016-07-12 Amazon Technologies, Inc. Request routing processing
US8626950B1 (en) 2010-12-03 2014-01-07 Amazon Technologies, Inc. Request routing processing
JP5229379B2 (ja) * 2011-02-21 2013-07-03 株式会社デンソー 表示制御装置
US10467042B1 (en) 2011-04-27 2019-11-05 Amazon Technologies, Inc. Optimized deployment based upon customer locality
US20130117711A1 (en) * 2011-11-05 2013-05-09 International Business Machines Corporation Resize handle activation for resizable portions of a user interface
US8904009B1 (en) 2012-02-10 2014-12-02 Amazon Technologies, Inc. Dynamic content delivery
US10021179B1 (en) 2012-02-21 2018-07-10 Amazon Technologies, Inc. Local resource delivery network
US9083743B1 (en) 2012-03-21 2015-07-14 Amazon Technologies, Inc. Managing request routing information utilizing performance information
US10623408B1 (en) 2012-04-02 2020-04-14 Amazon Technologies, Inc. Context sensitive object management
US9154551B1 (en) 2012-06-11 2015-10-06 Amazon Technologies, Inc. Processing DNS queries to identify pre-processing information
US9525659B1 (en) 2012-09-04 2016-12-20 Amazon Technologies, Inc. Request routing utilizing point of presence load information
US9135048B2 (en) 2012-09-20 2015-09-15 Amazon Technologies, Inc. Automated profiling of resource usage
US9323577B2 (en) 2012-09-20 2016-04-26 Amazon Technologies, Inc. Automated profiling of resource usage
US10205698B1 (en) 2012-12-19 2019-02-12 Amazon Technologies, Inc. Source-dependent address resolution
US9294391B1 (en) 2013-06-04 2016-03-22 Amazon Technologies, Inc. Managing network computing components utilizing request routing
CN103699608A (zh) * 2013-12-13 2014-04-02 乐视网信息技术(北京)股份有限公司 页面布局方法及装置
US10033627B1 (en) 2014-12-18 2018-07-24 Amazon Technologies, Inc. Routing mode and point-of-presence selection service
US10091096B1 (en) 2014-12-18 2018-10-02 Amazon Technologies, Inc. Routing mode and point-of-presence selection service
US10097448B1 (en) 2014-12-18 2018-10-09 Amazon Technologies, Inc. Routing mode and point-of-presence selection service
US10225326B1 (en) 2015-03-23 2019-03-05 Amazon Technologies, Inc. Point of presence based data uploading
US9887931B1 (en) 2015-03-30 2018-02-06 Amazon Technologies, Inc. Traffic surge management for points of presence
US9887932B1 (en) 2015-03-30 2018-02-06 Amazon Technologies, Inc. Traffic surge management for points of presence
US9819567B1 (en) 2015-03-30 2017-11-14 Amazon Technologies, Inc. Traffic surge management for points of presence
US9832141B1 (en) 2015-05-13 2017-11-28 Amazon Technologies, Inc. Routing based request correlation
CN105590241B (zh) * 2015-05-20 2021-02-12 中国银联股份有限公司 自适应地电子票据实现方法及系统
US10616179B1 (en) 2015-06-25 2020-04-07 Amazon Technologies, Inc. Selective routing of domain name system (DNS) requests
US10097566B1 (en) 2015-07-31 2018-10-09 Amazon Technologies, Inc. Identifying targets of network attacks
US9774619B1 (en) 2015-09-24 2017-09-26 Amazon Technologies, Inc. Mitigating network attacks
US9742795B1 (en) 2015-09-24 2017-08-22 Amazon Technologies, Inc. Mitigating network attacks
US9794281B1 (en) 2015-09-24 2017-10-17 Amazon Technologies, Inc. Identifying sources of network attacks
US10270878B1 (en) 2015-11-10 2019-04-23 Amazon Technologies, Inc. Routing for origin-facing points of presence
US10257307B1 (en) 2015-12-11 2019-04-09 Amazon Technologies, Inc. Reserved cache space in content delivery networks
US10049051B1 (en) 2015-12-11 2018-08-14 Amazon Technologies, Inc. Reserved cache space in content delivery networks
US10348639B2 (en) 2015-12-18 2019-07-09 Amazon Technologies, Inc. Use of virtual endpoints to improve data transmission rates
US10075551B1 (en) 2016-06-06 2018-09-11 Amazon Technologies, Inc. Request management for hierarchical cache
US10110694B1 (en) 2016-06-29 2018-10-23 Amazon Technologies, Inc. Adaptive transfer rate for retrieving content from a server
US9992086B1 (en) 2016-08-23 2018-06-05 Amazon Technologies, Inc. External health checking of virtual private cloud network environments
US10033691B1 (en) 2016-08-24 2018-07-24 Amazon Technologies, Inc. Adaptive resolution of domain name requests in virtual private cloud network environments
US10469513B2 (en) 2016-10-05 2019-11-05 Amazon Technologies, Inc. Encrypted network addresses
JP6558339B2 (ja) * 2016-10-06 2019-08-14 京セラドキュメントソリューションズ株式会社 画像処理装置及び画像処理プログラム
US10831549B1 (en) 2016-12-27 2020-11-10 Amazon Technologies, Inc. Multi-region request-driven code execution system
US10372499B1 (en) 2016-12-27 2019-08-06 Amazon Technologies, Inc. Efficient region selection system for executing request-driven code
US10938884B1 (en) 2017-01-30 2021-03-02 Amazon Technologies, Inc. Origin server cloaking using virtual private cloud network environments
US10503613B1 (en) 2017-04-21 2019-12-10 Amazon Technologies, Inc. Efficient serving of resources during server unavailability
CN107450904A (zh) * 2017-06-07 2017-12-08 北京五八信息技术有限公司 标题栏的绘制方法和装置
US11075987B1 (en) 2017-06-12 2021-07-27 Amazon Technologies, Inc. Load estimating content delivery network
US10447648B2 (en) 2017-06-19 2019-10-15 Amazon Technologies, Inc. Assignment of a POP to a DNS resolver based on volume of communications over a link between client devices and the POP
US10742593B1 (en) 2017-09-25 2020-08-11 Amazon Technologies, Inc. Hybrid content request routing system
US10592578B1 (en) 2018-03-07 2020-03-17 Amazon Technologies, Inc. Predictive content push-enabled content delivery network
US11138647B2 (en) 2018-11-16 2021-10-05 Cimpress Schweiz Gmbh Method, device, and computer-readable storage medium for managing variations of a graphic design within a framework
US11380031B2 (en) 2018-11-16 2022-07-05 Cimpress Schweiz Gmbh Technology for enabling elastic graphic design
US10846897B2 (en) * 2018-11-16 2020-11-24 Cimpress Schweiz Gmbh Technology for managing graphic design using metadata relationships
US10862852B1 (en) 2018-11-16 2020-12-08 Amazon Technologies, Inc. Resolution of domain name requests in heterogeneous network environments
US11025747B1 (en) 2018-12-12 2021-06-01 Amazon Technologies, Inc. Content request pattern-based routing system
JP7244882B2 (ja) * 2020-09-30 2023-03-23 ナレッジオンデマンド株式会社 ドキュメント作成装置
US20230177764A1 (en) * 2021-12-06 2023-06-08 Canva Pty Ltd Systems and methods for rendering tables

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07129658A (ja) * 1993-11-02 1995-05-19 Toppan Printing Co Ltd レイアウトデザイン装置
JPH09200496A (ja) * 1996-01-11 1997-07-31 Canon Inc 自動画像編集装置
JPH11102357A (ja) 1997-09-29 1999-04-13 Dainippon Screen Mfg Co Ltd 組版装置
JP2000029875A (ja) * 1998-07-09 2000-01-28 Dainippon Printing Co Ltd ページレイアウトシステム及び記録媒体
JP2000280559A (ja) 1999-03-29 2000-10-10 Seiko Epson Corp 印刷制御方法および印刷制御装置、記憶媒体
KR20030025342A (ko) * 2001-09-20 2003-03-29 삼성전자주식회사 데이터가 없는 페이지에 대한 인쇄를 방지할 수 있는프린터 및 프린팅 데이터 출력제어장치
JP2003170636A (ja) 2001-12-07 2003-06-17 Sharp Corp 印刷処理装置、印刷処理方法、印刷処理プログラム及び印刷処理プログラムを格納した記録媒体

Family Cites Families (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5848187A (en) * 1991-11-18 1998-12-08 Compaq Computer Corporation Method and apparatus for entering and manipulating spreadsheet cell data
US5623282A (en) * 1991-12-31 1997-04-22 Microsoft Corporation Method and system for the direct manipulation of cells in an electronic spreadsheet program or the like
US5416895A (en) * 1992-04-08 1995-05-16 Borland International, Inc. System and methods for improved spreadsheet interface with user-familiar objects
US5437008A (en) * 1992-06-23 1995-07-25 Adobe Systems Incorporated Method of establishing constraints and links in a distribution frame between graphical elements and resolving the constaints
US5721847A (en) * 1994-10-21 1998-02-24 Microsoft Corporation Method and system for linking controls with cells of a spreadsheet
US5845303A (en) * 1994-12-06 1998-12-01 Netpodium, Inc. Document processing using frame-based templates with hierarchical tagging
US6157934A (en) * 1995-10-24 2000-12-05 Ultimus, L.L.C. Method and apparatus for using distributed spreadsheets in a client/server architecture for workflow automation
US5911145A (en) * 1996-07-29 1999-06-08 Rae Technology, Inc. Hierarchical structure editor for web sites
US5956737A (en) * 1996-09-09 1999-09-21 Design Intelligence, Inc. Design engine for fitting content to a medium
US5943679A (en) * 1996-10-30 1999-08-24 Xerox Corporation Multi-page document viewer having a focus image and recursively nested images of varying resolutions less than the resolution of the focus image
US6380954B1 (en) * 1998-02-09 2002-04-30 Reuters, Ltd. Method and system for layout of objects within a perimeter using constrained interactive search
US6670961B2 (en) * 1998-06-01 2003-12-30 Autodesk, Inc. Method and apparatus for enhanced connectors and connection manager
US6826727B1 (en) * 1999-11-24 2004-11-30 Bitstream Inc. Apparatus, methods, programming for automatically laying out documents
GB2364580A (en) * 2000-07-07 2002-01-30 Ibm Error detection mechanisms in spreadsheet packages
US7587428B2 (en) * 2000-10-13 2009-09-08 Microsoft Corporation Maintaining a relationship between two different items of data
US6988241B1 (en) * 2000-10-16 2006-01-17 International Business Machines Corporation Client side, web-based spreadsheet
US6898760B2 (en) * 2001-01-05 2005-05-24 Microsoft Corporation Reporting status of external references in a spreadsheet without updating
JP2002288223A (ja) * 2001-03-26 2002-10-04 Fujitsu Ltd リンク木形成装置及びリンク木形成方法並びにリンク木形成用プログラム
US7415664B2 (en) * 2001-08-09 2008-08-19 International Business Machines Corporation System and method in a spreadsheet for exporting-importing the content of input cells from a scalable template instance to another
US7275207B2 (en) * 2002-03-28 2007-09-25 International Business Machines Corporation System and method in an electronic spreadsheet for displaying and/or hiding range of cells
US8019806B2 (en) * 2002-10-17 2011-09-13 Brocade Communications Systems, Inc. Method and apparatus for displaying network fabric data
US7454699B2 (en) * 2003-03-24 2008-11-18 Microsoft Corporation Smart content insertion
US7213206B2 (en) * 2003-09-09 2007-05-01 Fogg Brian J Relationship user interface
US7437676B1 (en) * 2003-09-30 2008-10-14 Emc Corporation Methods and apparatus for managing network resources via use of a relationship view
US7554689B2 (en) * 2003-10-15 2009-06-30 Canon Kabushiki Kaisha Document layout method
NO20034724D0 (no) * 2003-10-22 2003-10-22 Opera Software Asa Presentasjon av HTML-innhold på en skjermterminal
US7237207B2 (en) * 2003-12-15 2007-06-26 Microsoft Corporation Mapper compiler
US7424668B2 (en) * 2005-06-15 2008-09-09 Microsoft Corporation Pre-formulated spreadsheet cell groups

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07129658A (ja) * 1993-11-02 1995-05-19 Toppan Printing Co Ltd レイアウトデザイン装置
JPH09200496A (ja) * 1996-01-11 1997-07-31 Canon Inc 自動画像編集装置
JPH11102357A (ja) 1997-09-29 1999-04-13 Dainippon Screen Mfg Co Ltd 組版装置
JP2000029875A (ja) * 1998-07-09 2000-01-28 Dainippon Printing Co Ltd ページレイアウトシステム及び記録媒体
JP2000280559A (ja) 1999-03-29 2000-10-10 Seiko Epson Corp 印刷制御方法および印刷制御装置、記憶媒体
KR20030025342A (ko) * 2001-09-20 2003-03-29 삼성전자주식회사 데이터가 없는 페이지에 대한 인쇄를 방지할 수 있는프린터 및 프린팅 데이터 출력제어장치
JP2003170636A (ja) 2001-12-07 2003-06-17 Sharp Corp 印刷処理装置、印刷処理方法、印刷処理プログラム及び印刷処理プログラムを格納した記録媒体

Also Published As

Publication number Publication date
US20050168782A1 (en) 2005-08-04
EP1560126A3 (en) 2006-08-09
CN100545798C (zh) 2009-09-30
CN1648849A (zh) 2005-08-03
KR20060042887A (ko) 2006-05-15
JP2005216175A (ja) 2005-08-11
JP4241410B2 (ja) 2009-03-18
EP1560126A2 (en) 2005-08-03

Similar Documents

Publication Publication Date Title
KR100716084B1 (ko) 레이아웃 조정 방법 및 장치
JP4144883B2 (ja) 情報処理装置及びその制御方法、プログラム
KR100821449B1 (ko) 레이아웃 조정 방법 및 장치
JP4332477B2 (ja) レイアウト調整方法及び装置並びにプログラム
US7831909B2 (en) Information processing apparatus, control method therefor, and program with display based on change amount of field areas
US7555710B2 (en) Method, apparatus and program for determining layout of a page using links between partial areas in the page
JP4110105B2 (ja) 文書処理装置及び文書処理方法及び文書処理プログラム
US7707494B2 (en) Information processing apparatus, control method therefor, and program
JP4912139B2 (ja) 情報処理装置
JP4298642B2 (ja) レイアウト処理方法およびレイアウト処理装置およびレイアウト処理プログラム
US20060203294A1 (en) Layout processing method, information processing apparatus, and computer program
US20060031773A1 (en) Apparatus and method for processing information, and program and storage medium
US20060050287A1 (en) Layout processing method, information processing apparatus, and computer program
JP4194501B2 (ja) 文書処理方法、文書処理装置及び文書処理プログラム
JP4250577B2 (ja) 情報処理装置、情報処理方法、ならびにプログラム
JP4743909B2 (ja) 情報処理方法および装置およびコンピュータプログラム
JP2008102869A (ja) レイアウト処理方法及び装置
JP2007011574A (ja) テンプレート作成方法、テンプレート作成装置、及びプログラム
JP2010176366A (ja) バリアブルプリントシステム

Legal Events

Date Code Title Description
A201 Request for examination
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: 20130425

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20140424

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20150424

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20160425

Year of fee payment: 10

FPAY Annual fee payment

Payment date: 20170424

Year of fee payment: 11

FPAY Annual fee payment

Payment date: 20180425

Year of fee payment: 12

FPAY Annual fee payment

Payment date: 20190503

Year of fee payment: 13