KR100818860B1 - 정보 처리 장치와 그 제어 방법 및 기록 매체 - Google Patents

정보 처리 장치와 그 제어 방법 및 기록 매체 Download PDF

Info

Publication number
KR100818860B1
KR100818860B1 KR1020050071788A KR20050071788A KR100818860B1 KR 100818860 B1 KR100818860 B1 KR 100818860B1 KR 1020050071788 A KR1020050071788 A KR 1020050071788A KR 20050071788 A KR20050071788 A KR 20050071788A KR 100818860 B1 KR100818860 B1 KR 100818860B1
Authority
KR
South Korea
Prior art keywords
data
field
container
layout
page
Prior art date
Application number
KR1020050071788A
Other languages
English (en)
Other versions
KR20060050271A (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 KR20060050271A publication Critical patent/KR20060050271A/ko
Application granted granted Critical
Publication of KR100818860B1 publication Critical patent/KR100818860B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • 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
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • 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

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)
  • Software Systems (AREA)
  • Document Processing Apparatus (AREA)
  • Processing Or Creating Images (AREA)
  • Editing Of Facsimile Originals (AREA)

Abstract

데이터 필드의 데이터를 페이지에 레이아웃하는 경우의 기준 사이즈를 복수의 레코드들에서 동일한 데이터 필드명을 갖는 데이터 필드의 데이터 디스플레이 사이즈에 기초하여 결정한다. 결정된 기준 사이즈에 대응하는 데이터 디스플레이 사이즈를 갖는 데이터 필드를 복수의 종별의 레코드에서 동일한 데이터 필드명을 갖는 데이터 필드로부터 선택한다. 데이터 필드의 데이터를 선정된 데이터 필드의 데이터 디스플레이 사이즈에 기초하여 페이지 내에 레이아웃한다.
데이터 필드, 레이아웃, 기준 사이즈, 레코드, 디스플레이 사이즈

Description

정보 처리 장치와 그 제어 방법 및 기록 매체{INFORMATION PROCESSING APPARATUS, CONTROL METHOD THEREFOR, AND RECORDING MEDIUM}
도 1a는 본 발명의 실시예에 따른 정보 처리 시스템의 구성예를 도시한 블록도.
도 1b는 본 발명의 실시예에 따른 정보 처리 시스템의 구축 요소로서 호스트 컴퓨터의 하드웨어 구성을 도시한 블록도.
도 1c는 본 발명의 실시예에 따른 정보 처리 시스템의 구성의 또 다른 예를 도시한 블록도.
도 1d는 본 발명의 실시예에 따른 정보 처리 시스템의 구축 요소로서 호스트 컴퓨터의 기능적 구성을 도시한 블록도.
도 2는 본 발명의 실시예에 따른 가변 데이터 프린팅의 개요를 설명하는 도면.
도 3은 본 발명의 실시예에 따른 사용자 인터페이스의 일례를 도시하는 도면.
도 4는 본 발명의 실시예에 따른 사용자 인터페이스 내의 콘테이너의 디스플레이의 일례를 도시하는 도면.
도 5a는 본 발명의 실시예에 따른 콘테이너 디스플레이 룰을 설명하기 위한 도면.
도 5b는 본 발명의 실시예에 따른 콘테이너 디스플레이 룰을 설명하기 위한 도면.
도 5c는 본 발명의 실시예에 따른 콘테이너 디스플레이 룰을 설명하기 위한 도면.
도 5d는 본 발명의 실시예에 따른 콘테이너 디스플레이 룰을 설명하기 위한 도면.
도 6은 본 발명의 실시예에 따른 링크 설정 처리를 도시하는 플로우차트.
도 7a는 본 발명의 실시예에 따른 링크 설정시의 사용자 인터페이스의 천이예를 도시하는 도면.
도 7b는 본 발명의 실시예에 따른 링크 설정시의 사용자 인터페이스의 천이예를 도시하는 도면.
도 7c는 본 발명의 실시예에 따른 링크 설정시의 사용자 인터페이스의 천이예를 도시하는 도면.
도 8은 본 발명의 실시예에 따른 레이아웃 계산 처리를 도시하는 플로우차트.
도 9는 본 발명의 실시예에 따른 레이아웃 계산 처리의 상세를 도시하는 플로우차트.
도 10은 본 발명의 실시예에 따른 레이아웃 계산 처리에 있어서의 콘테이너 세트를 설명하는 도면.
도 11a는 본 발명의 실시예에 따른 레이아웃 계산 처리에 있어서의 사용자 인터페이스의 일례를 도시하는 도면.
도 11b는 본 발명의 실시예에 따른 레이아웃 계산 처리에 있어서의 사용자 인터페이스의 예를 도시하는 도면.
도 11c는 본 발명의 실시예에 따른 레이아웃 계산 처리에 있어서의 사용자 인터페이스의 예를 도시하는 도면.
도 12는 본 발명의 실시예에 따른 데이터베이스 테이블의 일례를 도시하는 테이블.
도 13a는 본 발명의 실시예에 따른 필드 세트 리스트의 일례를 도시하는 도면.
도 13b는 본 발명의 실시예에 따른 필드 세트 리스트를 이용한 콘텐츠 레이아웃 방법을 설명하기 위한 도면.
도 14는 본 발명의 실시예에 따른 문서 템플릿의 디스플레이의 일례를 도시하는 도면.
도 15는 본 발명의 실시예에 따른 문서 템플릿의 프리뷰 디스플레이의 일례를 도시하는 도면.
도 16은 본 발명의 실시예에 따른 필드 리스트 생성 처리를 도시하는 플로우차트.
도 17은 본 발명의 실시예에 따른 필드 리스트의 일례를 도시하는 도면.
도 18은 본 발명의 실시예에 따른 평균 필드 세트 생성 처리를 도시하는 플 로우차트.
도 19는 본 발명의 실시예에 따른 필드 세트 리스트 화면 디스플레이 처리를 도시하는 플로우차트.
<도면의 주요 부분에 대한 부호의 설명>
101: 호스트 컴퓨터 103: 사용자 인터페이스
105: 레이아웃 엔진 107: 네트워크
109: 프린트 서버 111: 통신 채널
113: 프린터 115: 파일 서버
117: 데이터베이스 서버 119: 데이터베이스
121: 레이아웃 편집 어플리케이션
123: 통신 채널
본 발명은 레코드에 포함된 복수 종류의 데이터 필드의 데이터를 차입(差入)하기 위한 필드 영역들을 페이지 내에 레이아웃하는 정보 처리 장치, 그 제어 방법 및 프로그램에 관한 것이다.
최근, 제품의 다양화로 제품 수명이 짧아지는 것과 인터넷 보급의 사용으로 고객의 커스터마이징된 서비스 지향과 같은 요인들에 기인하여, CRM(Customer Relationship Manager) 및 원투원(One-to-One) 마케팅이 굉장히 주목받고 있다. 이러한 방법은 고객 만족도를 높이고, 신규 고객을 끌어들이고, 고객을 유지하기 위한 것이다.
원투원 마케팅은, 고객의 연령, 성별, 취미, 기호, 구매 이력을 포함하는 개인 속성 정보의 데이터베이스를 생성하여, 그 데이터베이스의 내용을 분석하고, 고객의 니즈에 따르는 제안을 행하는 데이터베이스 마케팅의 일종이다. 이러한 마케팅의 통상의 방법으로는 가변 프린팅(variable printing)이 있다. 오늘날, DTP(데스크탑 출판: Desk Top Publishing) 기술의 개발과 디지털 프린팅 장치의 보급에 따라 문서를 고객마다 커스터마이징하여 출력하는 가변 프린팅 시스템이 개발되어 있다. 가변 프린팅 시스템에서는 고객마다 다른 양의 콘텐츠가 최적으로 레이아웃된 커스터마이징된 문서를 생성할 필요가 있다.
일반적으로, 그와 같은 커스터마이즈 문서가 가변 프린팅 시스템에 의해 생성될 경우에는, 콘테이너를 문서 내에 레이아웃한다. 그 콘테이너는 콘텐츠(묘화 콘텐츠(예를 들면, 이미지 및 텍스트))를 묘화하기 위한 묘화 영역이고, 필드 영역이라고도 불린다.
문서 내에 콘테이너를 레이아웃하여 그 레이아웃과 데이터베이스를 연관시키는(데이터베이스 내의 각종 콘텐츠를 콘테이너와 연관시키는) 작업을 수행함으로써, 원하는 커스터마이징된 문서(템플릿으로 불림)를 생성할 수 있다. 커스터마이징된 문서 내의 콘테이너 내에 콘텐츠를 적절하게 스위칭함으로써(연관성을 변경함으로써), 커스터마이징된 문서의 콘텐츠를 변경할 수 있다. 그러한 문서를 가변 데이터 문서라고 부르며, 이 가변 데이터 문서를 이용한 프린팅 시스템이 가변 프 린팅 시스템이다.
종래의 가변 프린팅 시스템에서는, 콘텐츠로서 역할을 하는 텍스트 또는 이미지와 연관되는 콘테이너의 사이즈를 고정한다. 데이터베이스 내의 콘텐츠가 콘테이너에 삽입되어(유입되어), 그 데이터량이 콘테이너 사이즈보다 크면, 다음 문제들이 발생한다. 즉, 그 데이터가 텍스트이면, 콘테이너에 텍스트의 오버랩이 발생한다. 또한, 그 데이터가 이미지이면, 콘테이너에 의해 이미지의 클립핑이 발생한다. 데이터량이 콘테이너 사이즈보다 작으면, 콘테이너와 그 내부의 콘텐츠 사이에 간극이 나타나는 것과 같은 적절한 디스플레이를 얻을 수 없다.
이러한 문제를 해결하기 위해, 정보량에 따라서 콘테이너 사이즈를 변경하는 자동 레이아웃 시스템이 제안되어 있다. 이 자동 레이아웃 시스템은, 텍스트 및 이미지의 콘테이너 사이즈를 가변적으로 설정할 수 있다. 일부 자동 레이아웃 시스템은, 가변적인 콘테이너 사이즈를 제공하여 삽입될 데이터 량에 따라서 콘테이너를 큰 사이즈로 변경할 수 있다. 또한, 고정의 콘테이너 사이즈 내에 포함될 수 없는 텍스트의 데이터가 삽입된 경우, 텍스트의 폰트 사이즈를 조정(축소)하여, 콘테이너 내에 모든 텍스트를 디스플레이하는 기술도 제안되어 있다.
그러나, 콘테이너의 사이즈를 증가시킨 경우, 그 콘테이너는 문서 내의 또 다른 콘테이너와 중첩한다. 텍스트의 폰트 사이즈를 조정할 때, 처리 대상의 텍스트 량이 큰 경우, 폰트 사이즈가 지나치게 작아질 수 있다. 이러한 문제를 해결하기 위해, 레이아웃을 변경하는 또 다른 기술로서, 대상 콘테이너의 사이즈가 커진 경우, 그 대상 콘테이너에 인접한 콘테이너를 다운사이징하는 기술이 일본 공개특 허공보 평7-129658호(단락 [0049], 도 8)의 "레이아웃 디자인 장치(Layout Designing Apparatus)"에 개시되어 있다.
일본 공개특허공보 제2001-092820호에서는, 원문과 포맷과 사이즈에 상당한 차이가 있는 레이아웃 결과를 원문에 기초한 자동 레이아웃 처리의 결과로 수동으로 조정하여, 삽입되는 문자열을 하나씩 편집하고, 그 편집 결과를 원문과 비교하고, 그들 사이에 어떤 차이점도 검출되지 않을 때 편집을 완료하는 기술이 제안되어 있다.
[특허 문헌1] 일본 공개특허공보 평7-129658호 (단락 [0049], 도 8)
[특허 문헌2] 일본 공개특허공보 제2001-092820호
일본 공개특허공보 평7-129658호에 공개되어 있는 레이아웃 디자인 장치는, 레이아웃 소재의 속성을 관리하고, 우선 순위의 순서로 소재들을 레이아웃하여, 레이아웃을 결정한다. 즉, 레이아웃 디자인 장치는 단지 각각 레이아웃 유닛으로 역할을 하는 대상 소재를 레이아웃하는 순서를 결정한다. 이 경우, 가장 우선도가 낮은 레이아웃 재료에 대한 영역이 좁게 되어, 사용자가 원하는 레이아웃을 얻을 수 없다.
일본 공개특허공보 평7-129658호의 장치는 전체 레이아웃을 조정하기 위해 삽입되는 콘텐츠 데이터 자체를 편집하여, 고정된 콘텐츠 데이터를 레이아웃하는, 소위 DTP 기술에 한정된다.
본 발명의 대상인 가변 프린팅 시스템에서는, 콘테이너에 삽입되는 콘텐츠 데이터를 편집하는 것은, 데이터베이스에 저장되어 있는 콘텐츠 데이터의 편집을 의미하는 것이므로, 가변 프린팅을 무의미하게 한다.
따라서, 레이아웃은 콘텐츠 데이터 자체를 조정함으로써가 아니라, 삽입되는 콘텐츠 데이터에 기초하여 콘텐츠 데이터를 삽입하기 위한 콘테이너의 사이즈를 최적으로 조정함으로써 조정될 필요가 있는 것이다. 또한, 이 조정을 위한 동작을 보다 효율적으로 수행할 필요가 있다.
이 기술 분야에서는, 페이지에 레이아웃된 각 콘테이너에 삽입되는(유입되는) 데이터의 사이즈에 기초하여 콘테이너들이 서로 밀게 함으로써 레코드마다 동적으로 레이아웃하는 메카니즘이 고안되어 왔다. 이러한 메카니즘을 채택함으로써, 레코드마다 레이아웃을 변경할 수 있으며, 간극 및 오버 플로우를 최소화한 인쇄물을 얻을 수 있다.
그러나, 레코드마다 동적으로 레이아웃하는 메카니즘의 경우, 조작자는 인쇄물이 출력되기 전까지 레이아웃을 인식할 수 없다. 인쇄 전에 레이아웃을 프리뷰할 수 있지만, 가변 프린팅에서는 데이터베이스가 수천 개의 레코드를 보유할 수 있기 때문에, 모든 페이지를 프리뷰하는 것은 현실적이지 않다.
이러한 이유 때문에, 동적 레이아웃을 적용한 경우 조작자가 어느 정도 레이아웃을 인식할 수 있도록 하면서, 템플릿의 디자인을 생성하는 것이 요구된다.
본 발명은 종래의 단점을 극복하기 위해 이루어진 것이며, 복수의 레코드에 포함되는 데이터 필드들의 데이터 디스플레이 사이즈에 기초하여, 복수 종류의 데 이터 필드의 데이터를 삽입하기 위한 필드 영역들을 페이지 내에 레이아웃하는 정보 처리 장치, 그 제어 방법 및 프로그램을 제공하는 것을 목적으로 한다.
본 발명에 따르면, 앞서 말한 목적은, 복수 종류의 데이터 필드로부터 형성된 레코드로부터 선택된 데이터 필드의 데이터를 삽입하기 위한 필드 영역을 페이지 내에 레이아웃하는 정보 처리 장치로서:
복수의 레코드들 내에 동일한 데이터 필드명을 갖는 데이터 필드의 각 데이터 디스플레이 사이즈에 기초하여, 상기 데이터 필드의 데이터를 삽입하기 위한 필드 영역을 페이지 내에 레이아웃하는 경우의 기준 사이즈를 결정하기 위한 결정 수단과;
상기 결정 수단에 의해 결정된 기준 사이즈에 대응하는 데이터 디스플레이 사이즈를 갖는 데이터 필드를 상기 복수의 레코드들 내에 동일한 데이터 필드명을 갖는 데이터 필드들로부터 선정하는 선정 수단과;
상기 선정 수단에 의해 선정된 데이터 필드의 데이터 디스플레이 사이즈에 기초하여, 상기 데이터 필드의 데이터를 삽입하기 위한 필드 영역을 상기 페이지 내에 레이아웃하기 위한 레이아웃 수단을 구비하는 정보 처리 장치를 제공함으로써 달성된다.
바람직한 실시예에서, 상기 결정 수단은 상기 레코드 내의 복수 종류의 데이터 필드마다 상기 기준 사이즈를 결정하고,
상기 선정 수단은 상기 복수 종류의 데이터 필드마다 상기 결정 수단에 의해 결정된 기준 사이즈에 대응하는 데이터 디스플레이 사이즈를 갖는 데이터 필드를 선정하여, 선정한 데이터 필드로부터 기준 데이터 필드 세트를 생성한다.
바람직한 실시예에서, 상기 장치는:
상기 기준 데이터 필드 세트 내에 데이터 필드를 삽입하기 위한 필드 영역을 상기 페이지 내에 레이아웃하기 위한 조작 화면을 디스플레이하기 위한 디스플레이 수단과,
상기 조작 화면 내의 데이터 필드 세트로부터 원하는 데이터 필드를 선택하기 위한 선택 수단을 더 구비하고,
상기 레이아웃 수단은, 상기 선택 수단에 의해 선택된 데이터 필드의 데이터 디스플레이 사이즈에 기초하여, 상기 데이터 필드의 데이터를 삽입하기 위한 필드 영역을 상기 페이지 내에 레이아웃한다.
바람직한 실시예에서, 기준 사이즈는, 상기 복수의 레코드 내에 동일한 데이터 필드명을 갖는 데이터 필드의 평균 데이터 디스플레이 사이즈, 최대 데이터 디스플레이 사이즈 및 최소 데이터 디스플레이 사이즈 중 적어도 하나이다.
바람직한 실시예에서, 상기 결정 수단은, 처리 대상의 데이터 필드의 데이터가 이미지 데이터인 경우에는, 그 이미지 데이터의 종횡 사이즈로부터 이미지 데이터의 데이터 디스플레이 사이즈를 산출하고, 데이터가 텍스트 데이터인 경우에는, 지정된 폰트 정보에 기초하여 상기 텍스트 데이터의 데이터 디스플레이 사이즈를 산출하기 위한 산출 수단을 포함한다.
바람직한 실시예에서, 상기 기준 사이즈가 복수의 레코드에서 동일한 데이터 필드명을 갖는 데이터 필드의 평균 데이터 디스플레이 사이즈인 경우, 상기 선정 수단은 상기 평균 데이터 디스플레이 사이즈에 가장 가까운 데이터 디스플레이 사이즈를 갖는 데이터 필드를, 상기 복수의 레코드에서 동일한 데이터 필드명을 갖는 데이터 필드들로부터 선정한다.
바람직한 실시예에서, 상기 장치는:
상기 기준 데이터 필드 세트 내에 데이터 필드의 데이터를 삽입하기 위한 필드 영역을 상기 페이지 내에 레이아웃하기 위한 조작 화면을 디스플레이하는 디스플레이 수단과;
상기 조작 화면 상에 디스플레이되는 데이터 필드의 필드 정보로서, 데이터 타입, 데이터 필드명, 데이터 또는 데이터 파일명을 디스플레이하기 위한 디스플레이 제어 수단을 더 구비한다.
바람직한 실시예에서, 상기 장치는:
상기 기준 데이터 필드 세트 내에 데이터 필드의 데이터를 삽입하기 위한 필드 영역을 상기 페이지 내에 레이아웃하기 위한 조작 화면과, 상기 필드 영역을 레이아웃하는 페이지의 페이지 화면을 디스플레이하기 위한 디스플레이 수단과,
상기 조작 화면 내의 데이터 필드 세트로부터 원하는 데이터 필드를 선택하여, 상기 페이지 화면 상에 드래그 앤 드롭(dragging and dropping)하여, 상기 데이터 필드의 데이터를 삽입하기 위한 필드 영역을 상기 페이지 내에 레이아웃하기 위한 조작 수단을 더 구비한다.
바람직한 실시예에서, 상기 레코드를 형성하는 데이터 필드 세트 또는 상기 기준 데이터 필드 세트 내에 데이터 필드의 데이터를 삽입하기 위한 필드 영역을 상기 페이지 내에 레이아웃하기 위한 조작 화면을 디스플레이하는 디스플레이 수단을 더 구비하고,
상기 조작 화면은 상기 복수의 레코드를 각각 형성하는 데이터 필드 세트 중 하나, 또는 상기 기준 데이터 필드 세트를 스위칭하고 디스플레이한다.
바람직한 실시예에서, 상기 장치는:
상기 레이아웃 수단이 필드 영역들을 레이아웃하는 템플릿 페이지 상의 대응하는 필드 영역에, 상기 레코드에 포함되는 복수 종류의 데이터 필드의 데이터를 삽입하기 위한 삽입 수단과;
상기 삽입 수단에 의해 데이터 필드의 데이터가 삽입된 템플릿 페이지에 기초하여 프린팅 장치에 의해 프린팅되어야 할 프린트 데이터를 생성하기 위한 프린트 데이터 생성 수단을 더 구비한다.
본 발명에 따르면, 앞서 말한 목적은 복수 종류의 데이터 필드로부터 형성된 레코드로부터 선택된 데이터 필드의 데이터를 삽입하기 위한 필드 영역을 페이지 내에 레이아웃하는 정보 처리 장치의 제어 방법으로서:
복수의 레코드에서 동일한 데이터 필드명을 갖는 데이터 필드의 각 데이터 사이즈에 기초하여 상기 데이터 필드의 데이터를 삽입하기 위한 필드 영역을 페이지 내에 레이아웃하는 경우의 기준 사이즈를 결정하는 결정 단계와,
상기 결정 단계에서 결정된 사이즈에 기초하여 상기 데이터 필드의 데이터를 삽입하기 위한 필드 영역을 상기 페이지 내에 레이아웃하는 레이아웃 단계를 구비하는 정보 처리 장치의 제어 방법을 제공함으로써 달성된다.
본 발명에 따르면, 앞서 말한 목적은 복수 종류의 데이터 필드로부터 형성된 레코드로부터 선택된 데이터 필드의 데이터를 삽입하기 위한 필드 영역을 페이지 내에 레이아웃하는 정보 처리 장치의 제어를 구현하기 위한 프로그램으로서:
복수의 레코드들에서 동일한 데이터 파일명을 갖는 데이터 필드들의 각 데이터 사이즈에 기초하여 페이지 내에 상기 데이터 필드의 데이터를 삽입하기 위한 필드 영역을 레이아웃하는 경우의 기준 사이즈를 결정하는 결정 단계를 위한 프로그램 코드와,
상기 결정 단계에서 결정된 사이즈에 기초하여 상기 데이터 필드의 데이터를 삽입하기 위한 필드 영역을 상기 페이지 내에 레이아웃하는 레이아웃 단계를 위한 프로그램 코드를 구비하는 프로그램을 제공함으로써 달성된다.
본 발명의 다른 특징들 및 이점들이 첨부 도면으로부터 명백해질 것이며, 같은 참조 문자들은 전체 도면에서 같거나 유사한 부분을 지정한다.
본 발명의 명세서 및 실시예의 일부를 구성하며, 그에 통합되어 있는 첨부 도면들 및 상세한 설명은 본 발명의 원리를 설명하는 역할을 한다.
<실시예>
본 발명의 바람직한 실시예를 첨부 도면을 참조하여 설명할 것이다.
<시스템 구성>
실시예에 따른 정보 처리 시스템의 구축 요소인 정보 처리 시스템과 호스트 컴퓨터의 하드웨어 구성을 도 1a 및 도 1b를 참조하여 설명할 것이다.
도 1a는 본 발명의 실시예예 따른 정보 처리 시스템의 구성예를 도시하는 블 록도이다. 도 1b는 본 발명의 실시예에 따른 정보 처리 시스템의 구축 요소인 호스트 컴퓨터(본 발명에 따른 정보 처리 장치에 대응함)의 하드웨어 구성을 도시하는 블록도이다.
도 1a 중 호스트 컴퓨터 외의 각종 컴퓨터들(예를 들면, 데이터베이스 서버(117), 파일 서버(115) 및 프린트 서버(109)) 역시, 예를 들어, 도 1b의 하드웨어 구성과 동일한 하드웨어 구성을 갖고 있다.
도 1a에서, 정보 처리 시스템(100)은 네트워크(107)를 통해, 호스트 컴퓨터(101), 데이터베이스 서버(117), 파일 서버(115) 및 프린트 서버(109)가 서로 접속되어 있다.
데이터베이스 서버(117)는 데이터베이스(119)를 구비하고 있다. 프린트 서버(109)는 프린터(113)에 접속되고 있고, 네트워크(107)를 통해 수신된 프린트 데이터를 적절하게 프린터(113)에 출력하여, 그 프린터(113)가 프린트 데이터를 프린트하도록 한다.
도 1a의 정보 처리 시스템(100)은 특히 가변 데이터 문서를 프린트하는 가변 프린팅 시스템의 구성예를 도시하고 있다. 본 실시예에서 설명되는 가변 프린팅 처리는, 레이아웃 편집 장치로서 기능하는 호스트 컴퓨터(101)(범용 컴퓨터 모듈로 형성됨)에 의해 구현된다.
가변 프린팅 시스템(100)에서 실행할 수 있는 레이아웃 편집 어플리케이션(121)은 호스트 컴퓨터(101)에서 전체적으로 또는 부분적으로 실행된다. 특히, 레이아웃 편집과 연관된 처리 및 가변 데이터 문서의 프린팅과 연관된 처리는 호스트 컴퓨터(101)에 의해 실행되는 소프트웨어에 의해 구현된다.
레이아웃 편집 어플리케이션(121)과 같은 소프트웨어 및 컴퓨터 프로그램은 컴퓨터 판독가능 매체에 저장된다. 그 소프트웨어 및 컴퓨터 프로그램은 컴퓨터 판독가능 매체로부터 호스트 컴퓨터(101)의 메모리(136)에 로드되어 실행된다. 소프트웨어 및 컴퓨터 프로그램을 저장한 컴퓨터 판독 가능 매체는 컴퓨터 프로그램 제품이다. 그 컴퓨터 프로그램 제품이 예를 들어, 호스트 컴퓨터(101)에 사용되는 경우, 가변 데이터 문서의 레이아웃 편집 및 가변 프린팅에 적합한 장치가 제공된다.
도 1b에 도시된 바와 같이, 포인팅 디바이스의 역할을 하는 키보드(132) 및 마우스(133)가 입력 디바이스로서 I/O(입출력) 인터페이스(143)를 통해 호스트 컴퓨터(101)에 접속된다. 디스플레이 장치(144)가 출력 장치로서 비디오 인터페이스(137)를 통해 접속된다. 또한, 프린터(145)가 I/O 인터페이스(138)를 통해 접속될 수 있다.
또한, I/O 인터페이스(138)는 호스트 컴퓨터 컴퓨터(101)를 네트워크(107)에 접속하는 기능도 갖는다. I/O 인터페이스(138)에 의해, 네트워크(107)를 통해 가변 프린팅 시스템(100) 내의 또 다른 컴퓨터 장치(외부 디바이스)에 호스트 컴퓨터(101)를 접속할 수 있다. 네트워크(107)의 전형적인 예로서는, 근거리 네트워크(LAN) 및 원거리 네트워크(WAN)가 있다.
도 1b에 도시된 바와 같이, 호스트 컴퓨터(101)는 적어도 하나의 프로세서(135), 및 랜덤 액세스 메모리(RAM) 또는 리드 온리 메모리(ROM)와 같은 반도체 메 모리로부터 형성되는 메모리(136)를 포함하고 있다. 저장 디바이스(139)는 프로그램과 같은 각종 데이터를 저장하는 컴퓨터 판독 가능 매체와 데이터를 교환할 수 있는 하드디스크 드라이브(HDD)(140) 및 플로피(등록상표) 디스크 드라이브(FDD)(141)를 포함한다.
도 1b에 도시되어 있지는 않지만, 자기 테이프 드라이브 및 메모리 카드와 같은 각종 저장 디바이스도 저장 디바이스(139)로서 사용될 수 있다. CD-ROM 드라이브(142)는 비휘발성의 데이터 소스로서 제공된다(컴퓨터 프로그램은 CD-ROM에 의해 제공될 수도 있음).
호스트 컴퓨터(101)는 상호접속 버스(134)를 통해 호스트 컴퓨터(101)의 구축 요소(135 내지 143)와 통신한다. 이러한 통신은 GNU/LINUX 또는 마이크로소프트 Windows(등록상표)와 같은 운영체제 또는 전형적으로 운영체제에 따르는 컴퓨터 시스템의 종래의 동작 모드의 방법에 의해 실현되거나 잘 공지되어 있는 관련 기술에 의해 형성된다. 즉, 구축 요소(135 내지 143)는 서로 통신할 수 있도록 상호접속 버스(134)를 통해 접속되어 있으며, 호스트 컴퓨터(101)에 설치된 운영체제에 의해 사용된다.
도 1b에 도시된 호스트 컴퓨터(1O1)의 예들로서는, IBM-호환 PC(퍼스널 컴퓨터), Sun의 Sparcstation, 및 이들을 포함한 컴퓨터 시스템을 생각할 수 있다.
<레이아웃 편집 어플리케이션의 개요>
실시예에서, 레이아웃 편집 어플리케이션(121)은 하드디스크 드라이브(140)에 상주하여, 프로세서(135)에 의한 실행 및 로딩을 제어한다. 레이아웃 편집 어플리케이션(121)의 중간 저장 디바이스 및 네트워크(107)로부터 페치된(fetched) 데이터는 하드디스크 드라이브(140)에 응답하여 메모리(136)를 사용한다.
예를 들어, 레이아웃 편집 어플리케이션(121)의 인코딩된 프로그램이, CD-ROM 또는 플로피(등록상표) 디스크에 저장된다. 이 프로그램은 대응하는 CD-ROM 드라이브(142) 또는 플로피(등록상표) 디스크 드라이브(141)를 통해 호스트 컴퓨터(101)로 로딩되어, 하드디스크 드라이브(140)에 인스톨된다.
또 다른 예로서, 레이아웃 편집 어플리케이션(121)은 네트워크(107)로부터 호스트 컴퓨터(101) 내에 로딩될 수 있고, 하드디스크 드라이브(140)에 인스톨될 수 있다.
레이아웃 편집 어플리케이션(121)을 포함하는 각종 소프트웨어 프로그램은 자기 테이프, ROM, 집적 회로, 광자기 디스크, 호스트 컴퓨터(101)와 또 다른 디바이스 간의 무선통신(예를 들어, 적외선 통신), 컴퓨터 판독가능 카드(예를 들어, PCMCIA 카드), 또는 이메일 통신, WEB 사이트 상의 기록 정보를 갖는 인터넷이나 인트라넷을 포함하는 또 다른 적절한 컴퓨터로부터 호스트 컴퓨터(101) 내에 로딩될 수 있다. 이들은 컴퓨터 판독가능 매체의 예이고, 또 다른 컴퓨터 판독가능 매체가 물론 사용될 수도 있다.
도 1a에서, 레이아웃 편집 어플리케이션(121)은 호스트 컴퓨터(101)가 가변 프린팅(가변 데이터 프린트(VDP)로도 언급됨)을 구현하도록 하고, 2개의 소프트웨어 콤포넌트인 레이아웃 엔진(105) 및 사용자 인터페이스(103)를 포함하고 있다.
레이아웃 엔진(105)은, 필드 영역(부분 영역)으로 역할을 하는 콘테이너(직 사각형 범위) 상의 사이즈 및 위치의 제약 하에서, 데이터베이스(119)에 레코드 단위로 저장되어 있는 가변 데이터로부터 하나씩 레코드를 로딩하여, 그 로딩된 가변 데이터와 콘테이너의 제약으로부터, 로딩된 가변 데이터가 유입되는 콘테이너의 사이즈나 위치를 포함하는 레이아웃을 계산하는 소프트웨어 콤포넌트이다.
실시예에서, 레이아웃 엔진(105)은 또한 콘테이너에 할당된 가변 데이터를 묘화하여, 가변 데이터 문서의 이미지를 생성하는 처리도 수행한다. 그러나, 본 발명은 이에 제한되는 것이 아니며, 레이아웃 엔진(105)은 각 부분 영역(콘테이너)의 사이즈와 위치를 결정하는 어플리케이션으로서 동작하여, 프린터 드라이버(도시되지 않음)에 묘화 정보를 출력한다. 프린터 드라이버는 가변 데이터 문서의 이미지 묘화 처리를 수행하여, 인쇄 데이터를 생성할 수 있다.
사용자 인터페이스(103)는 사용자가 콘테이너의 레이아웃 및 속성을 설정하여 문서 템플릿을 생성하도록 허용한다. 사용자 인터페이스(103)는 문서 템플릿 내의 각 콘테이너를 데이터 소스(데이터베이스(119) 내의 가변 데이터(콘텐츠))와 연관시키는 메카니즘을 제공한다. 사용자 인터페이스(103)와 레이아웃 엔진(105)은 통신 채널(123)을 통해 서로 통신한다.
가변 데이터 문서를 생성하기 위한 데이터 소스의 일례는, 일반적으로 데이터베이스 어플리케이션을 실행하고, 또 다른 컴퓨터로부터 형성되는 데이터베이스 서버(117) 내에 있는 통상의 데이터베이스(119)이다.
호스트 컴퓨터(101)는 네트워크(107)를 통해 데이터베이스 서버(117)와 통신한다. 레이아웃 편집 어플리케이션(121)은 호스트 컴퓨터(101) 또는 일반적으로 또 다른 컴퓨터로 형성된 파일 서버(115)에 보존되는 문서 템플릿을 생성한다.
레이아웃 편집 어플리케이션(121)은 가변 데이터와 머지된(merged) 문서 템플릿으로부터 형성된 가변 데이터 문서를 생성한다. 가변 데이터 문서는 호스트 컴퓨터(101)의 로컬 파일 시스템, 파일 서버(115), 또는 프린트 서버(109)를 통해 프린터(113)에 의해 직접 프린트된다.
프린트 서버(109)는 네트워크(107)에 직접적으로 접속되어 있지 않은 프린터(113)에 네트워크 기능을 제공하는 컴퓨터이다. 프린트 서버(109)와 프린터(113)는 통상의 통신 채널(111)(예를 들어, USB, IEEE 1394, 또는 무선 LAN)을 통해 접속된다.
가변 프린팅 시스템(100)의 또 다른 구성예가 도 1c를 참조하여 설명될 것이다.
도 1c는 본 발명의 실시예에 따른 정보 처리 시스템의 또 다른 구성을 도시하는 블록도이다.
도 1c는 네트워크(107)에 엔진 서버(227)를 추가하여 레이아웃 엔진(225)이 엔진 서버(227)에 인스톨되는 예를 도시하고 있다. 즉, 이러한 구성에서, 호스트 컴퓨터(101) 내의 레이아웃 엔진(105)을 엔진 서버(227) 내에서 구현한다. 이 구성은 호스트 컴퓨터(101)의 처리 부하를 줄일 수 있다.
엔진 서버(227)는 다른 서버들과 유사한 통상의 컴퓨터로 형성된다. 파일 서버(115)에 보존된 문서 템플릿은 프린팅 또는 또 다른 목적에 대해 레이아웃 엔진(225)에 의해 문서를 생성하기 위해 데이터베이스(119)에 보존된 데이터와 결합 될 수 있다. 그러한 동작은 사용자 인터페이스(103)를 통해 요청되거나 또는 특정한 레코드만 프린트하도록 요청된다.
호스트 컴퓨터의 기능적 구성은 도 1d를 참조하여 설명될 것이다.
도 1d는 본 발명의 실시예에 따른 호스트 컴퓨터의 기능적 구성을 도시하는 블록도이다.
데이터 처리 유닛(2115)는 저장 유닛(2111), 디스플레이 유닛(2116) 및 입력 유닛(113)을 제어하고, 레이아웃 편집 어플리케이션(103)과 같은 각종 프로그램들에 의해 실현되는 각종 처리들(예를 들면, 도 8, 도 9, 도 16, 도 18, 도 19의 플로우차트에 제시되어 있는 처리들)을 실행한다.
데이터 처리 유닛(2115)는 복수 종류의 데이터 필드로 구성된 레코드들로부터 선택된 데이터 필드의 데이터를 삽입하기 위한 필드 영역을 페이지 내에 레이아웃하는 기능을 갖는다. 이러한 기능을 구현하는 콤포넌트들로서, 데이터 처리 유닛(2115)은 적어도 결정 유닛(2115a) 및 레이아웃 유닛(2115b)을 갖는다.
결정 유닛(2115a)은 복수의 레코드들에서 동일한 데이터 필드명을 갖는 데이터 필드들의 데이터 사이즈에 기초하여 페이지에 데이터 필드의 데이터를 삽입하기 위한 필드 영역을 레이아웃할 때, 기준 사이즈를 결정한다.
레이아웃 유닛(2115b)은 결정된 사이즈에 기초하여 데이터 필드의 데이터를 삽입하기 위한 필드 영역을 페이지에 레이아웃한다.
도 1d는 독립항 1항에 정의된 구성요소 특징에 대응하는 구성을 단순히 도시한 것이며, 데이터 처리 유닛의 내부 구성에 대응하는 구성은 또한 그 종속항에 대해 구현된다.
통신 유닛(2114)은 I/O 인터페이스(138)에 의해 구현되며, 네트워크(107)를 통해 데이터를 교환한다. 입력 유닛(2113)은 키보드(132) 및 마우스(133)에 의해 구현되며 사용자로부터의 조작 입력을 받아들인다.
디스플레이 유닛(2116)은 디스플레이(144)에 의해 구현되며, 처리시 조작 입력 및 이미지 데이터의 상태를 디스플레이한다. 저장 유닛(2111)은 저장 디바이스(139)에 의해 구현되며, 처리 대상의 데이터 및 레코드들을 저장하기 위한 데이터를 저장한다.
가변 데이터 프린팅의 개요가 도 2를 참조하여 설명될 것이다.
도 2는 본 발명의 실시예에 따른 가변 데이터 프린팅의 개요를 설명하는 도면이다.
레이아웃 편집 어플리케이션(121)의 사용자 인터페이스(103)를 통해 사용자로부터의 조작 명령에 따라서 페이지 상에 복수의 콘테이너(181 내지 183)를 레이아웃하여, 각 콘테이너에 위치나 사이즈에 관한 제약 조건을 할당하여 문서 템플릿(180)을 생성한다.
사용자 인터페이스(103)는 문서 템플릿(180)을 데이터 소스(190)(예를 들면, 데이터베이스(119))와 연관시키고, 각 콘테이너를 데이터 소스(190) 내의 각 데이터 필드와 연관시킨다. 각 콘테이너와 데이터 소스(190) 내의 각 데이터 필드 간의 연관성을 나타내는 연관성 정보는, 문서 템플릿(180)에 기술되며, 그 문서 템플릿(180)은 HDD(140)에 저장된다. 데이터 소스(190)는 각 레코드마다 항목 데이터 를 기재하고 있는 파일이고, HDD(140)에 저장되어 있다.
레이아웃 엔진(105)은 사용자로부터의 프린트 명령 또는 프리뷰 명령에 따라서, 연관성 정보에 의해 연관된 데이터를 데이터 소스(190)로부터 문서 템플릿(180)의 콘테이너(181, 182)에 로드한다. 그 레이아웃 엔진(105)은 각 레코드의 로딩된 데이터를 콘테이너들로 유입시킨다(예를 들어, 데이터 레코드 1의 데이터 필드(A 내지 C)를 콘테이너(181 내지 183)로 유입시킴). 레이아웃 엔진(105)은 그 유입된 데이터에 따라서 각 콘테이너의 사이즈 등을 조정(레이아웃 조정)한다.
프리뷰 명령에 대해, 레이아웃 엔진(105)은 레이아웃 조정된 문서 이미지를 생성하고, 디스플레이 디바이스(144)의 화면 상에서 그것을 프리뷰한다. 프린트 명령에 대해, 레이아웃 엔진(105)은 레이아웃 엔진(105) 또는 프린터 드라이버를 이용하여 생성된 문서 이미지를 프린트 데이터로서 프린트 서버(109)에 출력한다. 데이터 레코드 1, 2, 3,…을 순차적으로 처리함으로써, 가변 데이터 프린팅이 구현된다.
<레이아웃 편집 어플리케이션의 설명>
레이아웃 편집 어플리케이션(121)에 대하여 설명한다.
사용자 인터페이스(103)에 의해 실현되는 사용자 인터페이스의 일례가 도 3을 참조하여 설명될 것이다.
[메인 윈도우]
도 3은 본 발명의 실시예에 따른 사용자 인터페이스의 일례를 도시하는 도면이다.
도 3에 도시된 바와 같이, 사용자 인터페이스(103)는 조작시에 어플리케이션 윈도우(301)에 의해 형성된 사용자 인터페이스를 디스플레이 디바이스(144) 상에 디스플레이한다. 윈도우(301)는 메뉴바(302), 툴 바(303), 작업 영역(306) 및 옵션 팔레트(311)를 갖는다.
메뉴바(302) 및 툴 바(303)는 숨김으로 하거나, 화면 내의 다양한 위치로 이동할 수 있다. 작업 영역(306)의 위치는 마우스(133)의 조작에 의해서 이동될 수 있다. 팔레트(311)는 옵션이며, 목적에 따라서 디스플레이/숨김을 제어할 수 있다. 커서/포인터(313)는 마우스(133)의 지시위치(hotspot)를 나타낸다.
공지되어 있는 기술로서, 메뉴바(302)는 메뉴 옵션의 계층의 아래로 확장되는 많은 메뉴 항목(304)을 갖는다.
툴 바(303)는 어플리케이션이 특별 모드에 의해 숨김으로 하거나 디스플레이할 수 있는 많은 툴 버튼과 부품(구성요소)(305)을 갖는다.
룰러(ruler)(308)는 옵션이며, 작업 영역(306) 내의 포인터, 페이지, 라인, 마진 가이드, 콘테이너 또는 오브젝트의 위치를 나타내는데 사용된다.
팔레트(311)는 가변 데이터 라이브러리와 같은 추가 기능에 액세스하는데 사용된다. 팔레트(311)는 이동, 리사이징, 클로즈를 하기 위한 윈도우 제어 버튼(312)을 갖는다. 팔레트(311)는 작업 영역(306)의 전면 또는 오브젝트의 후면에 디스플레이될 수 있다. 팔레트(311)는 어플리케이션 윈도우(301)의 외부에 부분적으로 또는 전체적으로 디스플레이될 수 있다.
툴 바(303)는 도 4에 도시된 바와 같이, 사용자에 의해 선택될 수 있는 복수 종류의 "버튼"(403 내지 406)을 가지고 있다.
(1) 선택 툴 버튼(403): 버튼(403)은 콘테이너의 에지를 선택, 이동, 리사이즈, 및 로크/언로크에 사용된다. 콘테이너는 그 콘테이너의 주위의 선택 박스를 드래그함으로써 선택된다. 복수의 콘테이너는 키보드(132)의 CTRL 키를 누른채 선택 및 조작함으로써 선택될 수 있다.
(2) 텍스트 콘테이너 툴 버튼(404): 버튼(404)은 정적 또는 가변 텍스트를 갖는 콘테이너를 생성하는데 사용된다.
(3) 이미지 콘테이너 툴 버튼(405): 버튼(405)은 정적 또는 가변 이미지를 갖는 콘테이너를 생성하는데 사용된다.
(4) 링크 툴 버튼(406): 버튼(406)은 콘테이너들을 연관시키기 위한 링크를 생성하는데 사용되며, 링크의 거리를 제어하는데 사용된다.
이러한 버튼들은 공지된 기술로서 조작 상태에 따라 변화하는 아이콘의 툴 팁으로서 구현된다.
어플리케이션 윈도우(301)는 페이지 내에 콘테이너들 및 링크들을 레이아웃함으로써 기본 레이아웃을 결정할 수 있다. 기본 레이아웃은 가변 데이터 프린팅의 기초가 된다. 기본 레이아웃 내의 각 콘테이너가 고정된 레이아웃인 경우, 모든 레코드의 프린트 결과는 동일한 레이아웃을 갖는다.
기본 레이아웃 내의 각 콘테이너가 (후술될) 가변 콘테이너인 경우, 각 레코드로부터 로딩되는 데이터의 량 및 사이즈에 따라서 그 콘테이너의 사이즈 및 위치가 (후술될) 제약 하에서 변동한다. 그러므로, 레이아웃 편집 어플리케이션(121)에 의해 생성되는 문서 템플릿은 단지 기본 레이아웃을 결정한다. 문서 템플릿이 가변 콘테이너를 포함하는 경우에는, 최종으로 프린트된 재료의 레이아웃을 로딩된 데이터에 따라서 조정한다.
[문서 템플릿]
도 3에서, 작업 영역(306)은 문서 템플릿(180: 기본 레이아웃)의 디자인을 디스플레이하고 편집하는데 사용된다. 그 작업 영역(306)은 사용자가 문서 템플릿을 디자인하는 동안, 프린트될 문서의 개요를 사용자에게 제시할 수 있다. 이러한 프리뷰(preview)로부터, 사용자는 데이터 소스(190)와 머지된 문서가 가변 데이터의 량 및 사이즈에 의존하여 어떻게 변화하는 지를 쉽게 이해할 수 있다.
데이터 소스가 문서 템플릿과 연관되는 경우, 현재의 문서를 프리뷰하기 위해서, 대응하는 가변 텍스트 및 이미지들을 레이아웃된 콘테이너들에 디스플레이한다.
문서 템플릿 내의 콘테이너를 묘화하기 위한 문서 구조와 시각적인 단서(예를 들어, 콘테이너의 프레임, 앵커, 슬라이더 및 링크)는 문서 템플릿을 생성할 때에 항상 디스플레이된다. 또한, 가변 데이터를 유입시키는 프리뷰시에는, 시각적인 단서는 커서를 콘테이너상으로 이동시켰을 때 또는 콘테이너를 선택했을 때에 디스플레이된다.
작업 영역(306)은 스크롤 바(307), 옵션의 룰러(308) 및 문서 템플릿(309)을 포함한다. 문서 템플릿(309)은 문서가 복수의 페이지를 가지고 있음을 나타낼 수 있다. 문서 템플릿(309)은 도 2의 문서 템플릿(180)에 대응한다.
제공된 문서 템플릿의 페이지 사이즈는 공지된 기술을 이용하여 사용자에 의해 지정된다. 예를 들어, 메뉴 상의 "파일"로부터 "페이지 설정"을 선택함으로써 페이지 사이즈를 설정하기 위한 대화창이 디스플레이되며, 사용자가 지정한 페이지 사이즈를 대화창에 반영한다.
각각의 문서에서의 실제 페이지 수는 연관된 데이터 소스 내의 가변 데이터에 따라서 변화할 수 있다. 이것은 문서 템플릿 내에 가변 테이블과 같이 가변 데이터 량에 따라 크기가 변하는 필드가 설정되어 있는 경우, 한 페이지에 피트(fit)할 수 없는 가변 데이터를 로딩할 때에 추가 페이지가 자동적으로 작성되기 때문이다.
각 페이지에 디스플레이되는 경계선(310)은 페이지 상의 인쇄가능 오브젝트의 최대 폭을 나타내는 임의의 페이지 마진이다.
도 4는 한 페이지에 대한 문서 템플릿(309) 내에 디스플레이될 수 있는 오브젝트의 일례를 도시하고 있다.
이러한 오브젝트로는 콘테이너(407, 408), 임의로 적용된 앵커 아이콘(409), 고정 에지(411, 414), 비고정 에지(410), 링크(412) 및 슬라이더(413)가 있다.
앵커 아이콘(409)은 직사각형 콘테이너의 코너(corner) 또는 에지, 또는 콘테이너의 중앙에 설정될 수 있다. 앵커 아이콘(409)이 설정되면, 설정된 앵커 아이콘(409)의 위치가 고정된다. 도 4의 예에서는, 앵커 아이콘(409)은 콘테이너(407)의 좌측 상부 코너에 설정되어 있다. 이 경우, 가변 데이터가 콘테이너(407)로 유입된다. 가변 데이터의 이미지 사이즈 또는 텍스트량이 많은 경우에는, 콘테이너가 우측 또는 하부로 확대될 수 있음을 나타낸다.
앵커 아이콘(409)이 에지에 설정되어 있는 경우, 그 에지는 고정되고, 콘테이너는 나머지 3개의 에지를 따라 확대될 수 있다. 앵커 아이콘(409)이 콘테이너의 중앙에 설정되어 있는 경우에는, 콘테이너의 중앙 위치가 고정되어 직사각형 콘테이너의 중앙 위치가 변하지 않도록 4 방향으로 확대될 수 있다. 링크(412)는 콘테이너(407, 408)가 연관되어 있는 것을 나타내고, 이 링크(412)의 세부 사항은 후술될 것이다. 링크(412)는 또한 그 링크(412)에 대해 설정되어 있는 길이(범위를 지정할 수 있음)를 유지하면서, 콘테이너(408)가 우측으로 이동될 수 있음을 나타내고 있다. 슬라이더(413)는 슬라이더(413)가 설정되어 있는 에지와 평행하게 이동될 수 있음을 나타낸다.
[콘테이너]
데이터베이스 내의 각 레코드에 포함된 복수 종류의 데이터 필드의 데이터를 삽입하기 위한 필드 영역으로서 역할을 하는 콘테이너에 대하여 설명한다. 콘테이너는 가변 데이터 파일로부터 고정 또는 가변적 텍스트 및 이미지(복수 종류의 데이터 필드의 데이터)가 문서 템플릿 내에 유입되어, 묘화되는 필드 영역(부분 영역으로 언급됨)이다. 그 콘테이너는 도 4에 도시된 바와 같이, 다른 콘테이너 및 오브젝트와 함께 레이아웃된다. 콘테이너는 사용자 인터페이스를 통해 사용자로부터의 조작 명령에 따라 마우스(133)의 조작에 의해, 이동되고, 사이즈 조정되고, 다시 작성된다.
보다 정확하게는, 콘테이너는 설정, 시각적 표현, 상호작용 및 편집 동작의 세트를 가지고 있다. 실시예에서 콘테이너의 정의를 기술할 것이다.
(1) 콘테이너는 고정 또는 가변적 콘텐츠를 갖는다. 가변적 콘텐츠(가변 데이터)는 데이터 소스로부터 취득한 데이터가 문서마다, 즉, 레코드마다 바뀔 수 있다는 의미에서 다이내믹하다고 말할 수 있다. 애니메이팅된 콘텐츠 또는 다른 방법으로 시간에 따라 변화하는 콘텐츠는 프린팅에는 적합하지 않기 때문에 실시예의 가변적 콘텐츠가 이들 콘텐츠를 의도하지 않음을 주목해야 한다.
마찬가지로, 고정 콘텐츠는 콘테이너를 사용하여 생성되는 모든 문서에 대해 동일한 방식으로 디스플레이된다. 그러나, 가변적 콘텐츠로의 링크가 설정되어 있는 경우, 가변 콘텐츠의 영향을 받아, 고정 콘텐츠는 각 문서 내의 위치로 바꿀 수 있다.
(2) 콘테이너는 콘텐츠에 적용되는 배경색, 경계 및 폰트 스타일과 같은 텍스트 설정과 마찬가지의 데코레이션(decoration) 기능을 갖는다. 이러한 설정을 콘테이너 속성이라고 부른다. 콘테이너 속성은 각 콘테이너마다 설정될 수 있으며, 주어진 콘테이너와 동일한 콘테이너 속성이 주어질 수도 있다.
(3) 콘테이너는 문서를 생성할 때에 데이터 소스로부터의 데이터와 머지된다. 데코레이션 기능은 임의의 고정 콘텐츠에 대한 출력정보 상에서 확인할 수 있다. 가변적 콘텐츠는 데이터 소스로부터의 특정한 데이터의 디스플레이를 제공한다. 이러한 콘테이너의 표현은, 예를 들면, 프린트될 수도 있고, 및/또는 디스플레이 디바이스(144)의 스크린 상에 디스플레이될 수도 있다.
(4) 콘테이너는 도 4에 도시된 바와 같이, 시각적인 단서로서 사용자 인터페 이스를 갖는다. 예를 들면, 콘테이너는 콘테이너를 편집하여 그 디스플레이를 설정하기 위한 대화식(interactive) 그래픽 사용자 인터페이스(GUI)를 갖는다. GUI 구성요소는 디스플레이 디바이스(144)의 스크린 상에 디스플레이되지만, 문서로서는 인쇄되지 않는다. 레이아웃 편집 어플리케이션(121)의 사용자 인터페이스(103)는 배경색 및 폰트와 같은 콘테이너 장식 기능의 일부를 디스플레이하고, 콘테이너 설정을 편집 및 디스플레이할 수 있는 기능을 갖고 있다.
사용자 인터페이스 기능의 특수 목적의 예로서는, 경계, 또는 콘테이너의 사이즈나 위치를 대화식으로 변경하고 디스플레이하기 위한 코너 아이콘, 또는 콘테이너가 데이터 소스로부터의 데이터와 머지되었을 때 콘테이너의 동작을 나타내는 오버라이트 수, 선, 아이콘 및 텍스트가 있다.
[콘테이너 제약]
콘테이너는 각각의 문서에 디스플레이되는 콘텐츠를 어떻게 링크할 것인지를 제어하는 것에 관한 제약을 갖는다. 이러한 제약들(고정/가변적 콘텐츠를 콘테이너에 링크하는 것을 포함함)은 사용자에 의해 하나의 문서 템플릿으로부터 다수의 문서의 생성을 제어하는 주요 방법이다.
제약의 일례로서는 "이 콘테이너 내의 콘텐츠의 높이는 최대 4인치입니다"가 있다. 제약의 또 다른 예로서는 "콘테이너 내의 콘텐츠의 좌측 에지는 각 문서 내의 동일한 수평 위치에 디스플레이되어야 합니다"가 있다. 이러한 제약의 기술은 GUI를 사용하여 이러한 제약들을 디스플레이 및 편집하기 위한 여러가지 방법을 제공한다.
페이지 상에 정의된 장소를 가지고 있는 이미지와 같이, 고정 콘텐츠의 레이아웃을 지정하는 콘텐츠 장소 홀더는, 디지털 프린팅 기술 분야에 잘 알려져 있다. 콘테이너는 위치와 사이즈를 가지며, 이들은 종래 기술로 공지된 방법으로 편집되어 디스플레이된다. 이하의 설명은 가변 데이터 프린팅에 특수화된 방법에 의한 디스플레이 및 편집에 초점을 두었다.
콘테이너를 이용함으로써, 사용자는 문서 내의 콘텐츠의 사이즈(묘화 사이즈) 및 위치를 지정할 수 있다. 복수 종류의 문서들이 하나의 문서 템플릿으로부터 생성되기 때문에, 콘테이너에 다수의 가능성 및 제약이 설정된다. 이러한 설정(지정) 및 디스플레이를 위해, 소정의 사용자 인터페이스가 이용된다.
하나의 콘테이너의 에지는 연관된 콘텐츠가 문서 내에 디스플레이되는 가상의 경계선을 정의한다. 그러므로, 콘테이너의 좌측 에지에 대한 논의는 연관된 콘텐츠가 각 문서 내에 디스플레이될 수 있는 영역 내의 가장 좌측 에지에 대한 논의이다. 마찬가지로, 콘테이너의 높이에 대한 논의는 생성된 문서 내의 연관된 콘텐츠의 높이의 제약에 대한 논의로서 이해된다. 본 명세서에서는, 사용자 인터페이스(103)를 참조함으로써 콘테이너의 에지 또는 사이즈를 논하는 경우, 이 구별은 명백해 질 것이다.
이하의 기재에서, 콘텐츠의 디스플레이를 제한하는데 사용되는 주어진 값을 정의하고 있는 용어 "고정"은 모든 문서에 적용된다.
(1) 콘테이너의 폭이 고정인 경우, 연관된 콘텐츠에 할당되는 폭은 모든 문서에 동일하다.
(2) 콘테이너의 높이가 고정인 경우, 연관된 콘텐츠에 할당되는 높이는 모든 문서에 동일하다.
(3) 거리(링크의 길이)가 고정인 경우, 지정된 거리는 모든 문서에서의 제약이 된다.
(4) 콘테이너의 좌측 및 우측 에지가 고정인 경우, 페이지의 에지의 수평 위치는 모든 문서에서 동일하다. 그러나, 콘테이너의 높이 또는 수직 위치는 바뀔 수 있다. 예를 들면, 콘테이너의 좌측 에지가 고정인 경우, 좌측 에지의 위치는 모든 문서에서 동일하지만, 연관된 콘텐츠의 디스플레이 위치는 어떤 문서에서는 페이지의 상부에 디스플레이되며, 다른 문서에서는 페이지의 하부에 디스플레이되도록 바뀔 수 있다.
(5) 콘테이너의 상부 및 하부 에지가 고정인 경우, 페이지의 에지의 수직 위치는 모든 문서에서 동일하다. 그러나, 콘테이너의 폭 또는 수평 위치는 각 문서에 있어서 바뀔 수 있다.
(6) 콘테이너의 수직축은 그 콘테이너의 우측 및 좌측 에지에 평행하고, 이들 사이에 위치되는 가상의 수직선이다. 콘테이너의 수직축이 고정이면, 그 콘테이너의 좌측 및 우측 에지의 수평 위치의 평균(즉, 좌측과 우측 사이의 중앙 위치)은 모든 문서에서 동일하다. 이 제약 하에서, 콘테이너의 폭은 변화할 수 있다. 그러나, 수직축은 좌측 및 우측 에지가 수직축에서 가장 먼 문서와 가장 가까운 문서를 포함하는 모든 문서에서 동일한 수평 위치로 된다. 콘테이너의 높이 및 수직 위치는 이 제약에 의해서 영향을 받지 않는다.
(7) 마찬가지로, 수평축이 고정이면, 콘테이너의 상부 및 하부 에지의 평균이 동일한 수직 위치와 일치한다. 그러나, 콘테이너의 폭 및 수평 위치는 이 제약에 의해 영향을 받지 않는다.
(8) 수평축과 수직축의 양방이 고정인 경우, 콘테이너의 중심 위치가 고정되어 있음을 의미한다. 그러나, 콘테이너의 폭 및 높이는 이 제약에 의해서 영향을 받지 않는다.
(9) 콘테이너의 코너 위치, 콘테이너의 에지의 중간 위치 또는 콘테이너의 중심 위치가 고정인 경우, 그 고정 위치는 모든 문서에서 동일하다. 예를 들면, 콘테이너의 상부 좌측 코너가 고정이면, 레이아웃된 콘테이너의 상부 좌측 위치가 모든 문서에서 동일하다.
(10) 수직 에지 또는 수직 축은 페이지의 좌측 또는 우측 에지, 좌측 또는 우측 페이지 마진 또는 또 다른 수평 위치와 연관되어 고정될 수 있다. 마찬가지로, 수평 에지 또는 수평 축은 페이지의 상부 또는 하부 에지, 상부 또는 하부 페이지 마진 또는 또 다른 수직 위치와 연관되어 고정될 수 있다.
"고정"에 반대되는 용어는 콘테이너의 에지, 축, 코너, 중간 위치, 또는 문서 제약이 문서들(레코드들) 간에 변화할 수도 있음을 의미하는 "가변성"이다. 예를 들면, 페이지 내의 레이아웃은 가변 데이터의 사이즈 및 량에 의존하여 동적으로 변경될 것으로 예상된다. 특정 콘테이너에 대해서는, 사이즈 및 위치가 바람직하게 고정될 수 있거나, 페이지의 코너에서의 콘테이너의 4개의 코너는 바람직하게 고정될 수 있다.
이러한 요구에 부합하기 위해, 레이아웃 편집 어플리케이션(121)은 각 콘테이너(부분 영역)에 대하여, 에지, 축, 코너, 중간 위치 등을 고정할지 아니면 변경할지의 여부를 적절히 설정할 수 있다. 사용자는 문서 템플릿(180)의 기본 레이아웃을 결정하는 경우에, 원하는 기본 레이아웃을 작성할 수 있다.
[콘테이너 디스플레이 및 편집]
-- 신규 콘테이너 작성 방법 --
콘테이너는 텍스트 콘테이너와 이미지 콘테이너의 2종류 중 어느 하나로 기술된다. 텍스트 콘테이너는 텍스트 및 매립된 이미지를 갖는다. 이미지 콘테이너는 이미지만을 갖는다.
도 4에 도시된 바와 같이, 텍스트 콘테이너 툴(404) 또는 이미지 콘테이너 툴(405)을 마우스(133)로 클릭하여 문서 템플릿(309) 상에 직사각형을 드래그함으로써 신규 텍스트 콘테이너 또는 이미지 콘테이너가 문서 템플릿(309)상에 작성된다.
대안으로, 콘테이너는 텍스트 콘테이너 툴(404)과 이미지 콘테이너 툴(405) 중 원하는 것을 활성으로 하여, 문서 템플릿(309) 상에 간단히 클릭함으로써 작성될 수 있다. 이 경우, 마우스(133)의 클릭에 따라서 디폴트 사이즈의 콘테이너가 템플릿 내에 삽입되고, 그 신규 콘테이너의 크기 등을 설정하기 위한 다이얼로그 박스 또는 다른 프롬프트가 제공된다.
콘테이너 사이즈가 자동적으로 미리 정의되거나 콘테이너가 계산된 스키마에 따라 작성되어 레이아웃되도록, 콘테이너 사이즈는 여러가지 방법에 의해 설정될 수 있음을 주목해야 한다. 여기서, 생성된 콘테이너를 마우스와 같은 입력 장치로 선택하여, 우측 클릭으로 속성 지정 등의 조작을 수행한다. 이어서, 콘테이너의 속성 다이얼로그가 디스플레이되어, 콘테이너의 제약을 설정할 수 있다.
[콘테이너 디스플레이 방법]
도 5a 내지 도 5d는 콘테이너의 에지에 관한 디스플레이 룰을 도시하고 있다.
레이아웃 편집 어플리케이션(121)은 콘테이너 에지의 상태를 표현하기 위해, 실선(503)(아이템) 또는 점선(504)을 이용함으로써 에지를 묘화한다. 또한, 레이아웃 편집 어플리케이션(121)은 앵커(506, 507, 509)(콘테이너의 에지 근처에 묘화된 선, 형상, 아이콘), 핸들(502)(이동 및 수정을 위해 영역의 에지 상에 또는 근처에 묘화되는 제어점), 슬라이더(413)(에지의 양측에 묘화되는 짧은 평행선: 도 4 참조), 스케일링 아이콘(505) 및 컬러를 이용한다.
도 5a 내지 도 5d에 도시된 콘테이너 디스플레이 방법의 룰은 다음과 같다.
(1) 각 에지를 고정하기 위해, 에지를 실선으로 묘화한다.
(2) 폭이 고정인 경우는, 좌측과 우측의 에지를 실선으로 묘화한다.
(3) 높이가 고정인 경우는, 상부와 하부의 에지를 실선으로 묘화한다.
(4) 축은 묘화하지 않는다.
(5) 룰(1) 내지 룰(3)에 의해 묘화되지 않은 에지들 근처에 스케일링 아이콘을 묘화하고, 이 에지들을 점선으로 묘화한다.
(6) 수직 및 수평 에지들의 쌍 또는 수직 및 수평 축의 쌍이 고정되면, 교차 점에 앵커가 묘화된다.
(7) 어떠한 앵커도 임의의 고정 에지에 묘화되어 있지 않으면, 에지의 중앙에 슬라이더가 묘화된다.
(8) 수직 및 수평 에지의 쌍 또는 수직 및 수평 축의 쌍에 앵커도 슬라이더도 묘화되어 있지 않으면, 교차점에 핸들이 묘화된다.
룰(1), 룰(2), 룰(3)에 정의된 선은 상술된 바와 같이 이 선들이 고정 또는 제한되어 있기 때문에 실선으로 묘화된다. 룰(5)에 정의된 바와 같이, 가변 라인은 점선으로 묘화된다. 룰(6), 룰(7), 룰(8)로 정의된 고정점에 앵커를 디스플레이하여, 몇개의 고정된 에지 상에 슬라이더를 디스플레이하며, 다른 구성요소에는 핸들을 디스플레이한다.
상기 룰보다 사용자에 의해 나중에 설정된 제약이 우선된다. 보다 구체적으로는, 나중에 다른 제약이 설정된 경우, 그 룰은 묘화되어야 하는 에지에 영향을 미치고, 실선이나 점선의 묘화 콘텐츠가 변경된다. 예를 들어, 콘테이너가 너무 작아서 아이콘들이 서로 중첩되거나 또 다른 디스플레이 기능이 불명료하게 될 경우, 아이콘들이 선을 묘화하기 위해 변경되거나 생략될 수 있다.
가변 에지가 묘화되는 장소는 콘테이너의 콘텐츠에 의존한다. 후술되는 바와 같이, 문서 템플릿에 콘텐츠가 머지되어 사용자 인터페이스 상에서 시각화됨을 의미하는 "다이내믹 교정 처리(dynamic calibration process)"가 이용된다. 가변 에지가 모든 문서에 평균화된 콘테이너의 사용자 인터페이스 또는 콘텐츠 영역에 레이아웃되는 것을 결정하기 위한 또 다른 수단에 의해, 대안적인 실행이 달성될 수 있다.
이들 콘텐츠 표현은 콘테이너의 각 에지의 상태를 디스플레이하는 그래픽 기능을 제공한다. 그 표현은 다음과 같이 해석된다.
(1) 점선은, 도 4의 에지(410)와 같이, 문서 내의 에지 위치가 콘테이너의 콘텐츠에 의존하여 변화함을 의미한다.
(2) 실선 에지(414)는, 콘테이너의 폭 또는 높이가 고정되어 있기 때문에(콘테이너(408)의 4개의 에지가 실선으로 묘화되고, 폭과 높이는 고정되기 때문에), 고정 에지 또는 제한된 에지임을 의미한다.
(3) 앵커는, 에지들 또는 축들이 서로 교차하는 장소가 고정되어 있음을 의미한다. 앵커점은 모든 문서의 수평 및 수직 위치에서 나타나며, 앵커는 당연히 고정된다. 도 4의 아이콘(409)은 에지들(414)이 서로 교차하는 위치가 고정되어 있음을 의미하는 앵커 아이콘의 일례이다.
(4) 슬라이더는, 연관된 에지의 길이는 고정되어 있지만, 병행이동할(translate) 수는 있음을 의미한다. 예를 들면, 도 4의 슬라이더(413)는 콘테이너(408)의 콘텐츠가 문서 내의 특정 도면에 의해 제공되는 위치의 좌측 또는 우측에 디스플레이될 수 있음을 나타낸다.
예를 들면, 콘테이너(408)와 연관된 (링크가 그 사이에 설정됨) 콘테이너(407)에 유입되는 데이터의 이미지 사이즈 또는 텍스트량이 적은 경우에는, 콘테이너(407)의 사이즈가 감소한다. 그러므로, 콘테이너(408)는 좌측으로 슬라이드(병행이동)되어 레이아웃되고 디스플레이된다. 콘테이너(407)의 사이즈가 증가하는 경우, 콘테이너(408)는 우측으로 슬라이드되어 레이아웃된다.
이러한 아이콘 및 에지의 일부 또는 모두는 어떤 툴과 어떤 콘테이너를 선택하여 하이라이트 또는 액티브로 할 것인지에 따라서 묘화되거나 묘화되지 않는다. 일반적으로, 콘테이너의 에지 및 아이콘은 문서 템플릿을 디자인하는데 도움을 주며, 프린트물에는 묘화되지 않는다.
상술된 바와 같이, 콘테이너의 폭 및 높이의 디폴트, 최소 및 최대 값과 같은 기본 패턴 설정은 부차적인 대화창에 디스플레이된다.
도 5a에서, 콘테이너(501)의 폭과 높이 둘 모두가 고정되어 있지 않다(가변성이다). 고정 에지(503)는 실선으로 표현되고, 가변 에지(504)는 점선으로 표현된다. 스케일링 아이콘(505)은 인접하는 에지(504)가 가변적임을 나타낸다. 다른 형태의 표시자가 대신 또는 추가로 이용될 수 있다.
도 5b에서, 콘테이너(501)는 폭과 높이 둘 모두가 가변적이다. 앵커 아이콘(506)이 두 교차 에지들(503) 간의 코너 위치가 고정되어 있음을 명시적으로 표현하기 위해 추가되어 있다.
도 5c는 콘테이너(501)의 폭과 높이 둘 모두가 가변적이고, 콘테이너(501)는 임의의 앵커 아이콘(507)으로 표시된 바와 같은 중심점 주위의 방향으로 똑같이 확대될 수 있는 상태를 도시하고 있다. 즉, 콘테이너(501)는 앵커 아이콘(507)을 중심으로 사용하여 확대 또는 축소될 수 있다. 확대/축소에서는, 앵커 아이콘(507)의 위치가 항상 콘테이너(501)의 중심점에 있도록 레이아웃이 조정된다.
도 5d에서, 콘테이너(501)의 상부 에지(508)가 고정되어 있지만, 폭과 높이 둘 모두는 가변적이다. 상부 에지(508)의 중심에 위치된 앵커 아이콘(509)은 고정되어 있다. 콘테이너(501)의 좌측 및 우측 에지(502)는 앵커 아이콘(509)을 통과하며 수직 중심축(수직축)으로부터 떨어지거나 근접하게 이동한다.
[링크]
링크는 콘테이너들 간의 연관성을 나타낸다. 연관성이란 콘테이너들 간의 거리를 나타내고, 링크에 의해서 연관된 콘테이너들은 그들의 레이아웃 변경시 레이아웃 계산을 실행한다. 예를 들어, 상술된 바와 같이, 도 4의 링크(412)는 콘테이너(407, 408)를 서로 연관시킨다. 링크에 의해 연관된 콘테이너들에 대한 링크 설정 방법 및 레이아웃 계산 방법을 후술한다.
[링크 설정 방법]
콘테이너들을 연관시키기 위한 링크의 설정에 대해 설명한다.
도 6은 본 발명의 실시예에 따른 링크의 설정 처리를 나타내는 플로우차트이다. 도 7a 내지 도 7c는 본 발명의 실시예에 따른 링크 설정 시의 사용자 인터페이스의 천이예를 도시하는 도면이다. 도 6 및 도 7을 참조하여 콘테이너들 간에 링크를 설정하는 방법에 대하여 설명한다.
단계 S601에서, 레이아웃 편집 어플리케이션(121)은 사용자 인터페이스의 작업 영역(306)에 편집 대상으로서 선택된 문서 템플릿을 디스플레이한다. 링크를 설정하기 위해, 링크를 설정하기 위한 콘테이너(적어도 2개)가 문서 템플릿 상에 작성되어야 한다. 도 7a 내지 도 7c는 단계 S601에서 2개의 콘테이너를 작성하여 링크를 설정하는 경우의 사용자 인터페이스의 천이예를 도시한다.
단계 S602에서, 레이아웃 편집 어플리케이션(121)은 링크 툴을 선택한다(도 4의 버튼(406)을 클릭함으로써 링크 툴을 선택함).
도 7a에서, 콘테이너(701, 702)는 고정된 에지로 구성된다. 참조번호 703 및 704는 도 4의 409와 유사한 앵커를 나타낸다. 참조번호 705는 마우스 포인터를 나타낸다.
링크 툴이 선택되는 동안에, 사용자는 링크가 설정된 2개의 콘테이너 중 하나(예를 들어, 콘테이너(701))를 클릭하여 선택한다. 이 조작에 따라서, 레이아웃 편집 어플리케이션(121)의 사용자 인터페이스(103)는 제1 콘테이너가 선택되었음을 인식하여(단계 S603), 선택된 콘테이너를 지정하는 정보를 보유한다.
마우스 커서의 다음 이동에 대응하는 궤적이 화면에 디스플레이된다. 예를 들면, 도 7b의 선분(706)은 도 7a의 상태에서의 클릭 위치와 현재의 마우스 포인터(705)의 위치를 접속하는 선을 나타내고 있다. 선분(706)에 의해 지시된 UI는 링크가 설정된 위치를 사용자에게 제시할 수 있다.
도 7b에 도시된 바와 같이, 사용자는 다른 콘테이너(콘테이너(702))에 마우스 포인터(705)를 이동하여 클릭한다. 이 조작에 따라서, 사용자 인터페이스(103)는 제2 콘테이너가 선택되었음을 인식하며(단계 S604), 선택된 콘테이너를 지정하는 정보를 보유한다.
레이아웃 편집 어플리케이션(121)은 단계 S603로 선택된 제1 콘테이너와 단계 S604로 선택된 제2 콘테이너 사이에 링크를 설정한다.
사용자에 의해 선택된 2개의 콘테이너(701, 702)의 사이에 링크가 설정된 후 , 링크(707)를 디스플레이한다(단계 S605). 이 링크 설정에 응답하여, 콘테이너의 디스플레이 상태는, 도 7c의 상태로 바뀐다(단계 S606).
즉, 링크를 설정할 때, 콘테이너 UI가 자동으로 변경된다. 이 경우, 링크에 의해 연관된 에지들은 가변적이 되고 점선으로 도시된다. 도 7c에서, 참조번호 708은 점선으로 도시된 에지를 나타내며, 상술된 바와 같이 가변 에지를 나타낸다.
도 7c에 도시된 바와 같이, 콘테이너 에지의 상태는 콘테이너 에지를 가변적으로 하기 위한 필요성이 링크를 설정할 때 발생하는 경우에 자동으로 변경된다. 이러한 조작의 목적은 링크를 설정할지라도 모든 에지들이 고정되는 모순의 상태를 방지하기 위한 것이다. 참조번호 709는 도 5의 505와 유사하고, 링크 설정시 콘테이너가 변화될 수 있는 방향을 사용자에게 시각적으로 제시하는 마크를 나타낸다. 도 7c의 예에서는, 좌측 콘테이너의 우측 에지 및 우측 콘테이너의 좌측 에지가 가변 상태로 변화하지만, 이는 단지 예일뿐이다. 우측 콘테이너가 도 4의 슬라이더(413)를 갖는 설정으로 변화할 수 있다.
<레이아웃 엔진에 의한 레이아웃 계산 처리>
[레이아웃 계산 방법(전체 플로우)]
실시예에 따른 레이아웃 편집 어플리케이션(121)은 적어도 두가지 모드이다. 한가지 모드는 사용자 인터페이스(103)를 이용하여 콘테이너를 작성하고, 레이아웃을 생성하기 위해 연관시키는(링크가 설정됨) 레이아웃 모드이다. 다른 모드는 작성한 레이아웃에 데이터 소스 내의 각 레코드가 레이아웃 엔진(105)에 의해 삽입되고, 실제로 레코드가 삽입된 후의 레이아웃 결과를 프리뷰하는 프리뷰 모드이다.
프리뷰 모드에서, 실제 레코드를 삽입하여 레이아웃을 계산한다. 프리뷰 모드에서는, 디스플레이 상에서 레이아웃 계산을 수행한다. 실제 프린팅에서, 레이아웃 엔진(105)이 각 콘테이너에 데이터를 삽입하여 레이아웃을 계산하며, 이 때의 계산 방법은 프리뷰 모드와 동일하다.
도 8은 본 발명의 실시예에 따른 레이아웃 계산 처리를 도시하는 플로우차트이다.
프리뷰 모드가 선택된다(단계 S801). 프리뷰 모드에서는, 레이아웃 편집 어플리케이션(121)은 사용자가 프리뷰될 레코드를 데이터 소스로부터 선택하도록 하고, 선택된 레코드의 각 필드 데이터를 각 콘테이너에 삽입한다(단계 S802).
필드 데이터가 각 콘테이너에 삽입된 후, 레이아웃 편집 어플리케이션(121)은 그 레코드를 레이아웃하기 위한 레이아웃 계산을 실행하고, 필요하다면, 레이아웃을 조정한다(단계 S803). 단계 S803에서의 레이아웃 계산의 상세는 후술한다.
레이아웃 편집 어플리케이션(121)은 단계 S803에서 계산된 레이아웃을 디스플레이(프리뷰)한다(단계 S804). 레이아웃 편집 어플리케이션(121)은 다른 레코드에 대해서도 프리뷰할 것인지를 사용자로부터의 명령에 기초하여 판정한다(단계 S805). 또 다른 레코드가 단계 S805에서 프리뷰될 필요가 없다면(단계 S805에서 NO), 프리뷰 모드를 종료한다(단계 S807).
또 다른 레코드가 프리뷰될 필요가 있다면(단계 S805에서 YES), 레이아웃 편집 어플리케이션(121)은 다른 레코드를 선택하여 레이아웃 계산을 다시 실행하여, 계산된 레이아웃을 프리뷰한다(단계 S806).
프린팅시, 프리뷰 모드와는 달리, 레이아웃 계산은 프린트될 모든 레코드에 대해 순차적으로 수행된다. 그러므로, 프린팅시, 단계 S804를 생략하고, 프린트 대상의 모든 레코드들이 처리되었는지의 여부를 단계 S805에서 판정한다. 단계 S803에서, 레이아웃 계산의 결과들은 묘화되어 출력되고 프린터 드라이버를 이용하여 프린트 데이터로서 생성됨으로써, 프린터에 프린트 데이터를 출력한다. 이 경우, 프린트 데이터가 모든 레코드(프린트 대상의 모든 레코드들)에 대해 출력될 때, 처리를 종료한다.
[레이아웃 계산 방법(상세)]
단계 S803의 레이아웃 계산의 상세에 대하여 도 9를 참조하여 설명한다.
도 9는 본 발명의 실시예에 따른 레이아웃 계산 처리의 상세 내용을 도시하는 플로우차트이다.
도 9는 레이아웃 계산 처리만을 설명하기 위한 플로우차트이며, 이 플로우는 가변 데이터 프린팅의 하나의 레코드의 프린팅/프리뷰 시의 레이아웃 계산 처리에 대응한다. 복수의 레코드에 대해, 다음의 처리가 반복된다.
레이아웃 편집 어플리케이션(121)은 레이아웃을 계산하는 콘테이너의 세트를 설정한다(단계 S901). 레이아웃 계산은 연관된 콘테이너들에 대해 하나의 세트로서 행한다.
예를 들면, 도 10을 참조하면, 페이지 상에 4개의 콘테이너가 레이아웃되고, 그 콘테이너들 사이에 연관성이 설정된다. 이 경우에, 콘테이너 A와 콘테이너 B가 링크에 의해 연관되는 한편, 콘테이너 C와 콘테이너 D가 링크에 의해 연관된다.
콘테이너 A와 B가 세트 1로 지정되어 있는 반면, 콘테이너 C와 D가 세트 2로 지정된다. 다시 말해, 링크에 의해서 접속된 콘테이너들이 하나의 세트으로 지정된다. 상술된 바와 같이, 참조번호 1101은 앵커, 1102는 고정 에지, 1103은 컨트롤러, 1104는 가변 에지의 변화 방향을 나타내고 있는 화살표, 1105는 가변 에지, 1106은 링크, 1107은 슬라이더를 나타낸다.
레이아웃 편집 어플리케이션(121)은 단계 S901에서 레이아웃을 계산하기 위해 취득한 콘테이너 세트에서 하나를 선택한다(단계 S902). 선택한 콘테이너의 세트에 대하여, 레이아웃을 계산한다.
선택한 콘테이너 세트에 포함되는 가변 요소인 2개의 콘테이너 A 및 B에 대해, 유입되는 데이터의 이미지 사이즈 또는 텍스트 량으로부터 각 콘테이너가 어떠한 제약도 받지 않는 경우의 크기를 계산한다.
보다 구체적으로는, 레이아웃 편집 어플리케이션(121)은 콘테이너 A가 이미지 데이터 콘테이너인지 텍스트 콘테이너인지를 판정한다. 이 판정은 상술된 바와 같이, 콘테이너에 대해 설정되어 있는 속성에 기초하여 행해진다.
이어서, 레이아웃 편집 어플리케이션(121)은 콘테이너 A에 유입된 데이터를 로드한다. 콘테이너 A가 이미지 데이터 콘테이너인 경우에는, 그 이미지 데이터의 사이즈(폭 및 높이에 대응하는 픽셀 수, 및 해상도)는 콘테이너 A가 어떤 제약도 없는 경우의 사이즈가 된다.
콘테이너 A가 텍스트 콘테이너인 경우에는, 콘테이너 A에 유입될 텍스트 데이터의 양은 문자 수 및 콘테이너 A의 콘테이너 속성으로 지정되어 있는 문자 속성 (예를 들어, 폰트 타입, 폰트 사이즈, 문자 피치, 행 피치)에 기초하여 계산될 수 있다.
텍스트 콘테이너에 대해, 콘테이너 A의 종횡비는 제약을 고려하지 않으면 결정될 수 없기 때문에, 제약을 부과한다. 도 10의 예에서는, 콘테이너 A의 상부 및 하부 좌측 코너에 앵커가 설정되며, 높이(세로 방향)는 고정된다. 레이아웃 편집 어플리케이션(121)은 계산된 데이터량(텍스트량)의 문자를 콘테이너 A의 기본 패턴으로서 설정되어 있는 폭(가로방향)을 갖는 콘테이너 A에 유입될 수 있는 지의 여부를 판정한다.
레이아웃 편집 어플리케이션(121)이 모든 문자를 유입할 수 있다고 판정된 경우에는, 기본 패턴으로 설정되어 있는 콘테이너 A의 사이즈(폭 및 높이)가 변경되지 않는다. 레이아웃 편집 어플리케이션(121)이 모든 문자를 유입할 수 없다고 판정된 경우에는, 콘테이너 A는 앵커 설정에 의해 높이가 고정되어 있기 때문에 가로 방향으로 연장한다. 레이아웃 편집 어플리케이션(121)은 계산된 데이터량의 문자들을 유입할 수 있는 콘테이너 A의 폭을 계산하여, 콘테이너 A의 사이즈를 계산한다.
레이아웃 편집 어플리케이션(121)은 레이아웃된 콘테이너의 사이즈와 실제 콘텐츠의 사이즈 간의 차를 최소화하기 위해 레이아웃을 최적화한다(단계 S903).
레이아웃은 사이즈를 동적으로 변경하도록 연관된 각 콘테이너들에서 레이아웃 사이즈와 콘테이너에 삽입될 콘텐츠의 사이즈 간의 차를 최소화하도록 최적화된다.
레이아웃 편집 어플리케이션(121)은 단계 S902에서 산출된 콘테이너 세트의 사이즈, 즉, 콘테이너 A 및 콘테이너 B와 링크(1106)(이 경우, 고정 링크)의 전체 사이즈를 계산한다. 레이아웃 편집 어플리케이션(121)은 전체 사이즈와 기본 레이아웃으로 설정된 콘테이너 세트의 사이즈(도 10의 예에서는, 콘테이너 A와 콘테이너 B의 앵커 아이콘의 거리에 대응함) 간의 차를 계산한다. 콘테이너 A 및 B가 넓어지면, 차분값은 이전 단계의 계산 후에 발생한다. 레이아웃 편집 어플리케이션(121)은 이 차분값을 콘테이너 세트의 각 요소에 균등하게 분배함으로써 레이아웃 조정한다.
레이아웃 편집 어플리케이션(121)은 레이아웃을 최적화하고, 그 레이아웃이 룰을 위반하는지의 여부를 판정한다(단계 S904). 레이아웃이 룰을 위반하지 않은 경우(단계 S904에서 YES), 처리는 단계 S905로 진행한다. 레이아웃이 룰을 위반하고 있는 경우(단계 S904에서 NO), 처리는 단계 S903에 되돌아가서 룰을 위반하지 않도록 레이아웃을 재차 계산한다.
룰은 레이아웃 작성 시에 사용자에 의해 설정된 제약이고, 콘테이너의 사이즈 및 콘테이너의 위치의 가변 범위에 대한 제약, 및 가변 링크의 경우, 링크의 길이의 변화의 제약을 포함한다. 레이아웃 편집 어플리케이션(121)이 룰을 위반하지 않도록 레이아웃을 계산하면, 그 세트의 레이아웃은 완성된다.
단계 S902 내지 S904의 처리를 페이지 상의 모든 세트에 대하여 수행하고, 레이아웃 편집 어플리케이션(121)은 전체 페이지의 레이아웃이 계산되었는지의 여부를 판정한다(단계 S905). 계산이 종료하지 않은 경우(단계 S905에서 NO), 처리 는 단계 S902로 되돌아간다. 계산이 종료한 경우(단계 S905에서 YES), 처리를 종료한다.
상술된 레이아웃 계산시 UI의 예가 도 11a 내지 도 11c를 참조하여 설명될 것이다.
도 11a 내지 도 11c는 본 발명의 실시예에 따른 레이아웃 계산 처리에 있어서의 사용자 인터페이스의 일례를 도시하는 도면이다.
도 11a는 주어진 레코드가 삽입되어 레이아웃이 결정된 상태를 도시한다. 참조번호 1001 및 1002는 앵커, 1003 및 1004는 고정 에지, 1005은 가변 에지, 1006은 가변 에지가 변화하는 방향을 나타내는 화살표, 1008는 링크를 나타낸다. 이 상태에서, 레코드를 변경하여 다른 사이즈의 콘텐츠를 삽입한다.
도 11b는 도 11a의 상태에 새로운 콘텐츠의 사이즈를 도시하고 있다. 참조번호 1009는 각각의 콘테이너에 삽입되는 콘텐츠의 사이즈를 나타낸다. 그 후, 레이아웃을 계산한다.
도 11c는 레이아웃 계산의 결과를 도시한다. 계산 후의 각 콘테이너의 사이즈는 실제로 삽입되는 콘텐츠의 사이즈와 동등한 차이를 갖도록 계산되며, 상기 언급된 룰을 위반하지 않도록 계산된다. 도 11c에 도시된 바와 같이, 도 11b에 도시된 삽입된 콘텐츠 사이즈(1009)와 계산된 콘텐츠 사이즈(1010)는 동등한 차이를 갖는다.
본 발명의 특징이 되며 최적의 콘테이너의 자동 레이아웃을 실현하는 자동 레이아웃 처리에 대하여 이하에 설명한다.
본 발명에 따르면, 소정의 조건식(일반적으로는, 이 표현은 SQL(Structured Query Language) 문장에 따른 레코드의 추출을 의미한다)에 기초하여, 데이터베이스(119)에 저장되어 있는 여러가지 레코드에 필터링을 적용하여, 소정의 조건을 만족하는 레코드로부터 형성된 데이터베이스 테이블을 작성한다.
이 데이터베이스 테이블의 일례가 도 12를 참조하여 기술될 것이다.
도 12는 본 발명의 실시예에 따른 데이터베이스 테이블의 일례를 도시하는 테이블이다.
도 12의 데이터베이스 테이블에서, 복수 종류의 데이터 필드를 각각 갖는 레코드들을 그것을 고유하게 식별하기 위한 레코드 넘버로 관리하고 있다. 각 레코드에서, 레코드를 형성하는 항목 데이터로 역할을 하는 필드 데이터가 데이터 필드명에 의해 관리된다.
본 실시예에서, 각 레코드에 포함되는 복수 종류의 필드 데이터(도 12에서는, 데이터 필드명 "제품 컨셉", "제품 이미지", "특징 1", "특징 2", "설명"을 갖는 필드 데이터)에 저장된 콘텐츠(텍스트 또는 이미지)를 데이터베이스 테이블로부터 하나씩 로드한다. 각 데이터 필드에 저장된 데이터의 데이터 디스플레이 사이즈(콘텐츠 사이즈(예를 들면, 직사각형 사이즈))를 산출한다.
사이즈 산출시, 이미지 콘텐츠인 경우, 이미지 콘텐츠의 종횡 사이즈로부터 직사각형 사이즈를 산출한다. 텍스트 콘텐츠에 대하여, 워드랩(word wrap)과 같은 조판 처리 전에 행 바꿈을 포함하지 않는 하나의 문자열을 디스플레이하는데 필요한 직사각형 사이즈를 산출한다.
레코드 내의 각 필드 데이터마다 산출된 직사각형 사이즈 안에서 가장 평균적인 직사각형 사이즈(평균 직사각형 사이즈)를 갖는 평균 필드 데이터(평균 직사각형 사이즈에 가장 가까운 데이터 디스플레이 사이즈(직사각형 사이즈)를 갖는 데이터 필드)를 각 데이터 필드명마다 선정한다. 선정한 평균 필드 데이터를 하나의 평균 필드 세트(기준 필드 세트의 한가지 형태)로 통합한다.
평균 필드 세트는, 예를 들면, 도 3의 팔레트(311) 상에서 구현되는 필드 세트 리스트 화면에 디스플레이될 수 있다.
평균 필드 세트 리스트 화면에 대해서 도 13a를 참조하여 설명한다.
도 13a는 본 발명의 실시예에 따른 필드 세트 리스트 화면의 일례를 도시하는 도면이다.
도 13a의 필드 세트 리스트 화면(1600)은 데이터베이스(119) 내의 원하는 레코드의 필드 데이터 그룹(필드 세트)을 레코드 간에 스위칭하고 그 스위칭된 필드 세트를 디스플레이하는 기능을 갖는다. 이에 부가하여, 각 필드 데이터마다 평균의 직사각형 사이즈를 갖는 필드 데이터로부터 형성되는 상기 언급된 평균 필드 세트를 디스플레이하는 기능을 갖는다.
도 13a는 평균 필드 세트를 디스플레이하고 있는 상태를 도시하고 있다. 필드 세트 리스트 화면(1600)은 기본적인 제어 도구로서 타이틀 바(1601), 평균 필드 세트 리스트 기능을 활성화하는 컨트롤 버튼(1602), 스크롤 바(1605) 및 레코드 점프 컨트롤 버튼(1606)(평균 필드 세트가 디스플레이되는 경우에는, 버튼(1606)은 불필요하므로, 디스에이블됨)을 갖는다.
필드 세트 리스트 화면은 필드 세트를 형성하는 각 필드 데이터의 필드명, 필드 데이터가 속하는 레코드 넘버 및 콘텐츠 개요를 디스플레이한다. 콘텐츠의 종별은 아이콘으로 디스플레이된다. 텍스트 콘텐츠인 경우는 실제 콘텐츠인 텍스트 열이 디스플레이되고, 이미지 콘텐츠의 경우는 대응하는 이미지 파일명이 디스플레이된다.
도 13a에서, 참조번호 1603a 내지 1603d가 필드 데이터가 텍스트 콘텐츠임을 각각 나타내는 텍스트 콘텐츠 정보 디스플레이 영역을 디스플레이한다. 참조번호 1604a 및 1604b가 필드 데이터가 이미지 콘텐츠임을 각각 나타내는 이미지 콘텐츠 정보 디스플레이 영역을 나타낸다.
예를 들어, 텍스트 콘텐츠 정보 디스플레이 영역(1603a)은 필드 데이터가 텍스트임을 나타내는 텍스트 아이콘(좌측 코너에 배치되어 있음), 필드명 "field-1", 필드 데이터가 속하는 레코드 넘버(RecNo: 5) 및 콘텐츠 개요로서 텍스트 문자열 "abicdefghije..."으로 구성되어 있다.
이미지 콘텐츠 정보 디스플레이 영역(1604a)은 필드 데이터가 이미지임을 나타내는 아이콘(좌측 코너에 배치되어 있음), 필드명 "field-3", 필드 데이터가 속하는 레코드 넘버(RecNo: 20), 이미지 콘텐츠 개요로서 이미지 파일명(Products.jpg)으로 구성되어 있다.
필드 세트 리스트 화면(1600)을 본 실시예에 이용하는 경우, [콘테이너의 디스플레이 및 편집]에 기술된 절차에 의해 문서 템플릿을 우선 작성한다. 이어서, 그 작성된 문서 템플릿 내에 필드 세트 리스트 화면(1600) 내의 각 필드 데이터와 연관된 콘테이너를 레이아웃할 수 있다.
특히, 필드 세트 리스트 화면(1600)에 평균 필드 세트 리스트를 디스플레이하고 있는 경우, 많은 레코드에서 평균 직사각형 사이즈를 갖는 필드 데이터와 연관된 콘테이너를 문서 템플릿에 레이아웃할 수 있다.
필드 세트 리스트 화면(1600)을 이용한 콘테이너의 레이아웃은, 예를 들면, 필드 세트 리스트 화면(1600) 내의 원하는 콘텐츠 정보 디스플레이 영역을 선택하여, 그 선택된 영역을 문서 템플릿 상으로 드래그 앤 드롭함으로써 달성할 수 있다.
따라서, 그 선택된 콘텐츠 정보 디스플레이 영역에 대응하는 필드 데이터와 연관된 콘테이너가 그 필드 데이터의 데이터 디스플레이 사이즈에 기초하여 문서 템플릿 상에 레이아웃된다.
필드 세트 리스트 화면(1600)이 평균 필드 세트 리스트 화면인 경우에는, 레이아웃되는 콘텐츠(1610)는 레코드 중의 가장 평균적인 직사각형 사이즈를 갖는 평균 필드 데이터의 데이터 디스플레이 사이즈에 기초하여 사이즈를 규정하고, 문서 템플릿(309) 상에 레이아웃될 수 있다.
즉, 가장 평균적인 콘텐츠 사이즈를 갖는 필드 데이터를 사용하여 문서 템플릿을 작성할 수 있다. 이는 레코드들을 자동으로 레이아웃했을 경우의 레이아웃의 차이를 최소화할 수 있다. 그 결과, 자동 레이아웃 후의 조정 작업을 최소화할 수 있다.
콘테이너를 레이아웃한 문서 템플릿의 디스플레이 예를 도 14를 참조하여 설명한다.
도 14는 본 발명의 실시예에 따른 문서 템플릿의 디스플레이 예를 도시하는 도면이다.
도 14는 도 3 및 도 4의 어플리케이션 윈도우(301)의 부분 상세도이다. 동일한 참조번호는 동일한 부분을 나타낸다.
도 14에서, 버튼(700)은 멀티-레코드 버튼이며, 이 멀티-레코드 버튼(700)을 조작자가 클릭하면, 멀티-레코드 콘테이너를 템플릿 페이지 내에 작성할 수 있다. 멀티-레코드 콘테이너는 복수의 레코드 내의 데이터를 동일 페이지 내에 연속하여 레이아웃하는데 이용된다.
예를 들어, 데이터베이스가 5개의 레코드를 보유하고 있는 경우, 멀티-레코드 콘테이너를 템플릿 페이지 내에 레이아웃한다. 레이아웃 위치에 제1 레코드의 대응하는 데이터 필드의 데이터가 삽입되고, 그 멀티-레코드 콘테이너의 위치로부터 우측으로 제2 레코드의 데이터가 삽입된다. 더 이상 어떤 데이터도 우측으로 레이아웃할수 없게 되면, 데이터는 하방으로 레이아웃된다. 모든 레코드의 데이터가 삽입될 때까지 데이터가 연속으로 레이아웃된다.
도 14에서, 문서 템플릿(309) 상에 콘테이너 A(711), 콘테이너 B(712), 콘테이너 C(713), 콘테이너 D(714), 콘테이너 E(715)가 레이아웃되어 있다. 이 콘테이너들은 통상의 앵커 아이콘(730, 731, 734), 고정 에지(720, 722, 725, 727, 728), 및 가변 에지(721, 723, 724, 726, 729)로 구성되어 있다. 통상적으로, 고정 에지 는 실선, 가변 에지는 점선으로 나타내고 있다.
앵커 아이콘은 콘테이너의 코너에 배치되며, 그 코너가 문서 템플릿(309) 상의 고정 위치에 지정됨을 나타내는 기능이며, 그 위치로부터 이동하지 않는다.
각 콘테이너는 가변 에지를 갖기 때문에, 에지가 가변적으로 움직이는 방향을 각각 나타내는 표시자(735, 736, 737, 738, 739)는 대응하는 콘테이너에 디스플레이된다. 그 표시자는 표시자에 의해 표시된 방향(및 반대 방향)으로 각 콘테이너의 에지가 가변적으로 움직일 수 있음을 나타내는 기능이다.
콘테이너의 사이즈가 세로 방향으로 가변적으로 확대 및 축소할 수 있음을 각각 나타내는 슬라이더(732, 733)가 디스플레이된다. 이 슬라이더는 통상적으로 고정 에지에 디스플레이된다. 이 경우, 콘테이너 D(714)의 고정 에지(727)에 슬라이더(733)가 부착된다. 이 고정 에지(727)는 가로 방향으로 위치를 바꾸지는 않지만, 가변 에지(726)가 세로 방향으로 존재하므로, 콘테이너 D(714)는 세로 방향으로 가변 길이로 신장 또는 수축할 수 있다.
콘테이너 A(711)에는 <제품명 컨셉>(701), 콘테이너 B(712)에는 <특징 1>(702), 콘테이너 C(713)에는 <제품 이미지>(703), 콘테이너 D(714)에는 <특징 2>(704), 콘테이너 E(715)에는 <설명>(705)의 텍스트로서 디스플레이되어 있다. 이러한 텍스트들은 데이터베이스(119)의 레코드 중 데이터 필드명(열명)과의 연관성 및 그 데이터 필드의 정보를 나타내는 일례이다.
이 예에서, 콘테이너 A(711)에 제품명 컨셉의 텍스트가 데이터로 삽입된다. 콘테이너 A(711)의 제품명 컨셉으로 제시된 제품의 특징을 나타내는 텍스트가 콘테 이너 B(712)와 콘테이너 D(714)에 데이터로 삽입된다. 콘테이너 A(711)의 제품명컨셉으로 제시된 제품의 이미지가 콘테이너 C(713)에 데이터로 삽입된다. 콘테이너 A(711)의 제품명 컨셉으로 제시된 제품의 설명문의 텍스트가 콘테이너 E(715)에 데이터로서 삽입된다.
도 14에서, 콘테이너 A 내지 E가 레이아웃된 문서 템플릿(309)은 평균 필드 세트에 기초하여, 레이아웃된 것이다. 이 예는 데이터베이스 내의 레코드들의 동일 필드명(동일 데이터 필드명)을 갖는 필드 데이터에서 가장 평균적인 콘텐츠 사이즈를 갖는 필드 데이터를 이용함으로써 콘테이너를 레이아웃한 결과를 나타낸다.
그 후, 레이아웃된 콘테이너에 대해서는 레이아웃 엔진(105)에 의한 레이아웃 계산 처리를 실행하고, 실제의 콘텐츠를 디스플레이할 수 있다.
지정된 레코드(이 경우, 평균 필드 세트를 갖는 레코드) 내의 각 필드 데이터가 문서 템플릿(309)에 삽입되는 경우의 디스플레이 예(프리뷰 모드에서의 디스플레이)에 대하여 도 15를 참조하여 설명한다.
도 15는 본 발명의 실시예에 따른 문서 템플릿의 프리뷰 디스플레이의 예를 도시하는 도면이다.
특히, 도 15는 지정된 레코드(이 경우, 평균 필드 세트를 갖는 레코드) 내의 각 필드 데이터의 콘텐츠를 도 14의 문서 템플릿(309)에 실제로 삽입한 예를 도시하고 있다.
도 15에서, 어플리케이션 윈도우(301)에 레이아웃 뷰 윈도우(801)가 디스플레이되어 있다. 레이아웃 뷰 윈도우(801)는 통상적으로 타이틀 바(802), 윈도우를 최대화, 최소화, 클로즈하는데 사용되는 툴 버튼(803), 및 윈도우의 스크롤 바(804)로 구성되어 있다.
레이아웃 뷰 윈도우(801)는 지정된 레코드 내에 필드 데이터, 이 경우, 평균 필드 세트를 갖는 레코드를, 도 14의 문서 템플릿 상의 콘테이너 A 내지 E에 삽입한 레이아웃 결과를 나타내고 있다.
콘테이너 A(711), 콘테이너 B(712), 콘테이너 D(714) 및 콘테이너 E(715)에는 텍스트 데이터가 삽입되지만, 콘테이너 C(713)에는 이미지 데이터가 삽입된다. 레이아웃 뷰 윈도우(801)의 레이아웃 결과는, 도 14의 레이아웃과 유사한 콘테이너의 레이아웃 및 그 콘테이너 내의 데이터의 레이아웃이 잘 밸런싱되어 있는, 사용자가 의도하는 레이아웃 결과이다.
본 실시예에 따른 특징적인 처리에 대하여 상세히 설명한다.
평균 필드 세트를 작성하는 필드 리스트 작성 처리에 대하여 도 16을 참조하여 설명한다.
도 16은 본 발명의 실시예에 따른 필드 리스트 작성 처리를 도시하는 플로우차트이다.
레이아웃 편집 어플리케이션(121)은 데이터베이스 접속 처리를 실행한다(단계 S1201). 데이터베이스는 일반적인 데이터베이스 드라이버(예를 들면, ODBC 드라이버)를 통해 접속되기 때문에, 그 처리 상세에 대해서는 생략한다. 데이터베이스는 데이터베이스 서버(117)의 데이터베이스(119)로부터 추출된 레코드를 원하는 조건 하에서 상정하고 있다. 그 레코드들은 일반적인 레코드 취득 처리에 의해 순차적으로 억세스될 수 있다.
이어서, 레이아웃 편집 어플리케이션(121)은 접속된 데이터베이스로부터 레코드를 취득하는 레코드 취득 처리를 실행한다(단계 S1202). 취득한 레코드의 콘텐츠는 메모리(136) 내의 작업 영역에 일시적으로 저장된다. 레이아웃 편집 어플리케이션(121)은 처리 대상의 모든 레코드들이 취득되었는지의 여부를 판정한다(단계 S1203). 모든 레코드들이 취득된 경우(단계 S1203에서 YES), 처리를 종료한다.
모든 레코드들이 취득되지 않은 경우(단계 S1203에서 NO), 레이아웃 편집 어플리케이션(121)은 레코드 중의 필드 데이터로부터 처리 대상의 필드 데이터를 취득하는 필드 데이터 취득 처리를 실행한다(단계 S1204). 취득한 필드 데이터의 콘텐츠(필드 정보)는 메모리(136) 내의 작업 영역에 확보된 필드 리스트 선형 리스트(이하, 필드 리스트로 언급됨)에 순차적으로 저장된다.
필드 리스트는 도 17을 참조하여 설명될 것이다.
도 17은 본 발명의 실시예에 따른 필드 리스트의 일례를 도시하는 도면이다.
도 17에서, 참조번호 1301는 필드 리스트를 나타낸다. 필드 데이터를 취득할 때마다, 그 필드 정보가 순차적으로 필드 리스트에 등록된다. 필드 리스트(1301)의 선두의 PrevRecAddress에는 이전 필드 리스트의 어드레스가 저장된다. RecordNo에는 레코드 넘버, fieldCount에는 필드 카운트, fieldName에는 필드명, fieldContentType에는 콘텐츠 타입(텍스트, 이미지 등), fieldContentsAddr에는 콘텐츠(fieldContents(1302))의 엔티티를 저장한 어드레스, fieldContentsSize에는 후술하는 처리에 의해서 산출되는 콘텐츠 사이즈, NextRecAddress에는 다음의 필드 정보가 저장되는 메모리(136)의 작업 영역의 어드레스를 저장하고 있다.
참조번호 1303은 동일 필드명(동일 데이터 필드명)을 갖는 필드 데이터(field-N-Contents-Size-Total: N은 필드 번호)의 필드 데이터 디스플레이 사이즈(콘텐츠 사이즈)를 더하는데 사용되는 작업 영역(이하, 총 필드 리스트로 언급됨)을 나타낸다. 이 작업 영역은 모든 레코드에 대해 동일 필드명(동일 데이터 필드)을 갖는 필드 데이터 디스플레이 사이즈의 합계를 저장한다.
도 16의 설명에 되돌아가서, 레이아웃 편집 어플리케이션(121)은 레코드 내의 모든 필드 데이터가 취득되었는지의 여부를 판정한다(단계 S1205). 취득이 종료된 경우(단계 S1205에서 YES), 처리는 다음 처리 대상 레코드를 취득하기 위해 단계 S1202로 되돌아간다. 취득이 종료되지 않은 경우(단계 S1205에서 NO), 필드 데이터에 저장되어 있는 실제 데이터로서 콘텐츠를 취득한다(단계 S1206).
이어서, 취득한 콘텐츠가 텍스트 데이터인지의 여부를 판정한다(단계 S1207). 텍스트 데이터인 경우(단계 S1207에서 YES), 레이아웃 편집 어플리케이션(121)은 콘테이너에 정의된 폰트 정보를 취득한다(단계 S1208). 폰트 정보는 폰트종별, 폰트 사이즈 및 문자 간격(자간)을 포함한다.
레이아웃 편집 어플리케이션(121)은 취득한 폰트 종별, 사이즈, 행간에 대한 정보에 기초하여 텍스트 콘텐츠로서 역할을 하는 문자열 데이터로부터 문자열(행 공급은 무시됨)이 필요한 문자열 폭 및 문자 높이를 취득한다(단계 S1209).
문자열 폭의 취득 방법에 관해서는, 예를 들면, 마이크로소프트사 Windows(등록상표) OS가 제공하는 그래픽 디스플레이 인터페이스(통칭, GDI)라고 불리는 모듈을 디바이스 콘텍스트라고 불리는 묘화 오브젝트를 통해 호출함으로써, 각 문자 폭을 고려한 문자열 폭을 취득할 수 있다. OS의 종류에 따라 GDI의 호출 방법이 변할 수 있지만, 본 발명은 문자열 폭을 취득할 수 있는 한, 임의의 취득 방법을 채택할 수 있다.
OS를 통해 어떠한 문자열 폭도 취득할 수 없는 경우에는, 문자 폭 및 높이는 문자열 폭을 산출하기 위한 기준으로서 통상의 문자, 예를 들어, "A"를 이용하여 정의하고, 그 문자열 폭은 문자 번호에 문자 폭을 간단히 곱함으로써 산출할 수 있다.
단계 S1207에서 취득한 콘텐츠가 텍스트 데이터가 아닌 경우(단계 S1207에서 NO), 레이아웃 편집 어플리케이션(121)은 취득한 콘텐츠가 이미지 데이터인지의 여부를 판정한다(단계 S1210). 취득한 콘텐츠가 이미지 데이터가 아닌 경우(단계 S1210에서 NO), 취득한 콘텐츠는 텍스트 데이터도 이미지 데이터도 아닌 알려지지 않은 데이터이며, 레이아웃 편집 어플리케이션(121)은 에러 처리로서 콘텐츠에 대한 처리를 중지한다(단계 S1213).
취득한 콘텐츠가 이미지 데이터인 경우(단계 S1210에서 YES), 레이아웃 편집 어플리케이션(121)은 이미지 콘텐츠 속성으로서 유지되어 있는 이미지 폭 및 높이에 기초하여 콘텐츠 사이즈(직사각형 사이즈)를 계산한다(단계 S1211). 플로우가 단계 S1209의 처리를 통과하는 경우에는, 콘텐츠 사이즈(사각형 사이즈)가 취득한 텍스트 콘텐츠의 문자열 폭과 문자 높이에 기초하여 계산된다(단계 S1211).
계산 결과는 도 17의 필드 리스트(1301)의 fieldContents-Size에 필드 사이즈(콘텐츠 사이즈)로서 저장된다. 동시에, 그 계산 결과는 필드 합계 리스트 (1303)의 역할을 하는 field-n-Contents-Size-Total에 저장되어 있는 전체 사이즈에 추가된다.
산출된 필드 사이즈들의 합에 기초하여, (후술하는) 평균 필드 세트 작성 처리에 의해, 동일 필드명(동일 데이터 필드명)마다 그 필드 데이터 디스플레이 사이즈(콘텐츠 사이즈)의 평균값을 계산할 수 있다.
이상의 처리를 레코드 수만큼 반복함으로써, 각 레코드의 필드 사이즈에 포함된 필드 정보 및 필드들의 필드 사이즈의 합이 산출될 수 있다.
필드 리스트 작성 처리로 작성한 필드 리스트를 이용하여 평균 필드 데이터를 작성하는 평균 필드 데이터 처리에 대하여 도 18을 참조하여 설명한다.
도 18은 본 발명의 실시예에 따른 평균 필드 세트 작성 처리를 나타내는 플로우차트이다.
레이아웃 편집 어플리케이션(121)은 도 17의 필드 리스트 구조를 갖는 평균 필드 세트를 저장하기 위해 하나의 레코드마다 빈 영역을 메모리(136)에 확보한다(단계 S1401). 이 때, fieldContents-Size에 차분의 최대값으로서, "99999999"가 설정된다. 평균 필드 세트에 대해서는, fieldContents-Size는 최소의 차분값을 저장한다.
필드 리스트 작성 처리에 의해 작성된 필드 합계 리스트에 저장된 필드들의 콘텐츠 사이즈 합과 레코드 수로부터 필드 데이터의 평균 데이터 디스플레이 사이즈(평균 콘텐츠 사이즈)를 산출한다(단계 S1402). 산출된 평균 콘텐츠 사이즈값은 필드 합계 리스트에 겹쳐쓰며, 최종적으로 필드 평균값 리스트를 제공한다.
필드 리스트에 저장된 각 필드 사이즈(콘텐츠 사이즈)를 필드 평균값 리스트의 대응하는 필드 데이터의 평균 콘텐츠 사이즈와 비교하기 위해서, 필드 리스트로부터 처리 대상의 필드 데이터의 필드 데이터 디스플레이 사이즈를 취득한다(단계 S1403).
레이아웃 편집 어플리케이션(121)은 필드 리스트 내의 모든 필드 데이터의 필드 사이즈가 취득되었는지의 여부를 판정한다(단계 S1404). 취득이 종료된 경우(단계 S1404에서 YES), 처리를 종료한다. 한편, 취득이 종료되지 않은 경우(단계 S1404에서 NO), 처리 대상의 필드 데이터의 콘텐츠 사이즈와 평균 콘텐츠 사이즈값 간의 차분을 산출한다(단계 S1405).
레이아웃 편집 어플리케이션(121)은 현재 산출된 차분값(현재 차분값)과 평균 필드 세트에 저장되어 있는 필드 데이터의 이전에 저장된 차분값(이전 차분값)을 비교한다(단계 S1406). 현재 차분값이 이전 차분값보다 큰 경우(단계 S1406에서 YES), 차분값을 업데이트하지 않고, 처리는 단계 S1403으로 되돌아가서 필드 리스트로부터 다음 처리 대상 필드를 취득한다.
현재 차분값이 이전 차분값보다 작거나 같은 경우(단계 S1406에서 NO), 필드 리스트 내의 필드 데이터의 필드 정보(fieldContents-Size를 제외하고 PrevRecAddress, RecordNo, fieldNo, fieldName, fieldContentType, fieldContentsAddr 및 NextRecAddress)를 평균 필드 세트의 데이터 필드에 카피하여, 평균 필드 세트를 업데이트한다(단계 S1407).
모든 레코드, 모든 필드 데이터에 대해 상기 처리를 반복함으로써, 평균 콘 텐츠 사이즈에 가장 가까운 콘텐츠 사이즈를 갖는 필드 데이터로부터 형성되는 평균 필드 세트를 작성할 수 있다.
작성된 평균 필드 세트를 이용하여 필드 세트 리스트 화면을 작성하고 디스플레이하는 디스플레이 처리에 대하여 도 19를 참조하여 설명한다.
도 19는 본 발명의 실시예에 따른 필드 세트 리스트 화면의 디스플레이 처리를 도시한 플로우차트이다.
특히, 도 19는 필드 세트 리스트 화면에서 평균 필드 세트 리스트를 디스플레이하는 처리를 도시한다. 도 19의 처리는, 예를 들어, 도 13a의 제어 버튼(1602)을 조작함으로써 실행된다. 그러나, 본 발명은 이에 제한되는 것이 아니며, 상술된 도 16, 도 18, 도 19의 처리를 일련의 처리로 도 13a의 제어 버튼(1602)을 조작함으로써 실행할 수 있다.
레이아웃 편집 어플리케이션(121)은 상기 처리에 의해 취득된 평균 필드 세트로부터 처리 대상의 평균 필드 데이터의 필드 정보를 취득한다(단계 S1501). 레이아웃 편집 어플리케이션(121)은 모든 평균 필드 데이터가 평균 필드 세트로부터 취득되었는지의 여부를 판정한다(단계 S1502). 취득이 종료된 경우(단계 S1502에서 YES), 처리를 종료한다.
취득이 종료되지 않은 경우(단계 S1502에서 NO), 취득된 평균 필드 데이터의 필드 정보 내의 필드명(fieldName) 및 레코드 넘버(RecordNo)로부터 "필드명(레코드 넘버)"의 문자열을 작성하고, 도 13a에 도시된 필드 세트 리스트 화면(1600) 중 대응하는 부분에 문자열을 디스플레이한다.
레이아웃 편집 어플리케이션(121)은 평균 필드 데이터에 저장된 콘텐츠의 타입이 텍스트 콘텐츠를 나타내는지 이미지 콘텐츠를 나타내는지의 여부를 필드 정보 중의 fieldContentType으로부터 판정한다(단계 S1504).
콘텐츠의 타입이 텍스트를 나타내는 경우, 레이아웃 편집 어플리케이션(121)은 텍스트 콘텐츠를 나타내는 텍스트 아이콘을 해당하는 텍스트 콘텐츠 정보 디스플레이 영역에 디스플레이한다(단계 S1505). 도 13a의 예에서는, 필드명의 선두에 텍스트 아이콘을 디스플레이한다. 레이아웃 편집 어플리케이션(121)은 가능한한 텍스트 콘텐츠를 텍스트 콘텐츠 정보 디스플레이 영역에 디스플레이한다(단계 S1506). 디스플레이될 수 없는 텍스트 콘텐츠는 텍스트 콘텐츠 정보 디스플레이 영역에서 클립핑된다.
콘텐츠 타입이 이미지 콘텐츠를 나타내는 경우, 레이아웃 편집 어플리케이션(121)은 이미지 콘텐츠를 나타내는 콘텐츠 아이콘을 대응하는 이미지 콘텐츠 정보디스플레이 영역에 디스플레이한다(단계 S1507). 도 13a의 예에서는, 필드명의 선두에 이미지 아이콘을 디스플레이한다. 레이아웃 편집 어플리케이션(121)은 가능한한 많은 이미지 파일의 파일명을 디스플레이한다.
상기 처리를 평균 필드 세트 내의 모든 평균 필드 데이터에 대하여 실행함으로써, 도 13a에 도시된 평균 필드 세트 리스트 화면을 작성하여 디스플레이할 수 있다.
도 13a에는 도시되지 않았지만, 평균 필드 세트 리스트 화면은 또한 스케일링 제어 버튼을 구비할 수 있다. 스케일링 조작을 이 제어 버튼으로 실행하는 경 우, 각 콘텐츠 정보 디스플레이 영역이 조작에 따라서 확대/축소된다.
상술된 바와 같이, 본 실시예에 따르면, 콘테이너가 레코드를 이용하여 문서 템플릿 상에 레이아웃되는 경우, 레코드 내의 동일 필드명(동일 데이터 필드명)을 갖는 필드 데이터 중에서 가장 평균적인 콘텐츠 사이즈를 갖는 필드 데이터를 사용하여, 문서 템플릿을 작성한다.
이 처리는 각 레코드의 필드 데이터와 연관된 콘테이너들이 자동으로 레이아웃되는 경우의 레이아웃 차이를 최소화할 수 있다. 즉, 자동 레이아웃 후의 조정 작업을 최소화할 수 있어, 사용자-친화성(user-friendliness)이 더 개선될 수 있다.
본 실시예에서는, 레코드 내의 동일 필드명(동일 데이터 필드명)을 갖는 필드 데이터로부터 소정의 조건으로서 가장 평균적인 콘텐츠 사이즈를 갖는 필드 데이터를 선정한다. 선정된 필드 데이터를 평균 필드 세트로서 작성한다. 이 평균 필드 세트를 이용함으로써, 문서 템플릿 상의 콘테이너의 레이아웃을 작성한다.
평균 필드 세트 내의 각 필드 데이터를 이용하여 문서 템플릿을 작성하는 경우, 그 필드 데이터의 데이터 디스플레이 사이즈가 그 필드 데이터를 문서 템플릿 상에 레이아웃하는데 사용되는 기준 사이즈로서 역할한다.
그러므로, 평균 필드 세트는 레이아웃을 작성하기 위한 기준으로 역할하는 기준 필드 세트로 간주될 수 있다.
기준 필드 세트를 형성하는 필드 데이터는 본 실시예에서 평균 데이터 필드로부터 취득되지만, 본 발명은 이에 한정되는 것이 아니다. 예를 들어, 최대 또는 최소 콘텐츠 사이즈와 같은 또 다른 소정의 조건을 만족하는 필드 데이터를 각 동일 데이터 필드마다 선정할 수 있고, 그 선정된 데이터 필드로부터 형성되는 데이터 필드 세트를 기준 데이터 필드 세트로 정의할 수 있다.
본 발명은 단일 디바이스를 구비한 장치 또는 복수의 디바이스로 구성된 시스템에 적용가능함을 주목해야 한다.
또한, 본 발명은 전술한 실시예의 기능을 구현하는 소프트웨어의 프로그램(실시예로서는 그림에 도시하는 플로우차트에 대응한 프로그램)을 시스템 또는 장치에 직접 또는 간접적으로 공급하고, 그 시스템 또는 장치의 컴퓨터로 공급된 프로그램 코드를 판독한 후 실행함으로써 구현될 수 있다. 이 경우, 시스템 또는 장치가 프로그램의 기능을 갖는 한, 구현 모드는 프로그램에 의존할 필요가 없다.
따라서, 본 발명의 기능을 컴퓨터로 구현하기 때문에, 그 컴퓨터에 인스톨된 프로그램 코드도 본 발명을 구현한다. 다시 말해, 본 발명의 청구범위는 본 발명의 기능을 구현하기 위한 컴퓨터 프로그램도 역시 포함한다.
이 경우, 그 시스템 또는 장치가 프로그램의 기능을 갖고 있는 한, 오브젝트 코드, 인터프리터에 의해 실행되는 프로그램, 또는 운영체제에 공급된는 스크립트 데이터와 같이 임의의 형태로 프로그램을 실행할 수 있다.
프로그램을 공급하는데 사용될 수 있는 저장 매체의 예로서는, 플로피 디스크, 하드 디스크, 광 디스크, 광자기 디스크, CD-ROM, CD-R, CD-RW, 자기 테이프, 비휘발성의 메모리 카드, ROM 및 DVD(DVD-ROM, DVD-R) 등이 있다.
프로그램을 공급하는 방법에 관해서는, 클라이언트 컴퓨터가 브라우저를 이 용하여 인터넷으로 웹사이트에 접속될 수 있으며, 본 발명의 컴퓨터 프로그램 또는 프로그램의 자동을 인스톨가능한 압축 파일을 하드 디스크와 같은 기록 매체에 다운로드받을 수 있다. 또한, 본 발명의 프로그램은 프로그램을 구성하는 프로그램 코드를 복수의 파일들로 분할하고 다른 웹사이트로부터 그 파일들을 다운로드함으로써 공급될 수 있다. 다시 말해, 본 발명의 기능을 컴퓨터로 구현하는 프로그램 파일을 복수의 사용자들이 다운로드하게 하는 WWW(월드 와이드 웹) 서버도 본 발명의 청구범위에 포함된다.
또한, 본 발명의 프로그램을 암호화하여 CD-ROM과 같은 저장 매체에 저장하고, 그 저장 매체를 사용자에게 배포하여, 임의의 요구조건에 부합하는 사용자들이 인터넷을 통해 웹페이지로부터 해독 키 정보를 다운로드하도록 허용하며, 그 키 정보를 사용함으로써 사용자들로 하여금 암호화된 프로그램을 해독하도록 하여, 프로그램을 사용자 컴퓨터에 인스톨하는 것도 가능하다.
또한, 컴퓨터가 판독한 프로그램을 실행함으로써, 상기 실시예들에 따른 앞서 말한 기능들이 구현되는 경우들 외에도, 컴퓨터를 가둥하는 운영체제 등이 실제 처리의 전부 또는 일부를 수행할 수 있어서, 앞서 말한 실시예들의 기능을 이러한 처리에 의해 구현할 수도 있다.
아울러, 저장 매체로부터 판독된 프로그램이 컴퓨터에 삽입된 기능 확장 보드 또는 컴퓨터에 접속된 기능 확장 유닛에 구비된 메모리에 기입된 후, 기능 확장 보드 또는 기능 확장 유닛 상에 장착된 CPU 등이 실제의 처리의 전부 또는 일부를 수행하여, 앞서 말한 실시예들의 기능을 이러한 처리에 의해 구현할 수도 있다.
본 발명의 여러가지 명백하게 수많은 다른 실시예들이 본 발명의 정신 및 범위를 벗어나지 않고 행해질 수 있으므로, 본 발명은 첨부 청구범위에 정의된 것 외의 특정 실시예들에 제한되는 것이 아님을 이해해야 한다.
본 발명은 복수의 레코드에 포함되는 복수 종류의 데이터 필드의 각 데이터를 삽입하기 위한 필드 영역을 페이지 내에 레이아웃할 때에, 출력 시의 레이아웃 결과를 조작자가 인식하기 쉽게 되어, 템플릿의 레이아웃 조정을 용이하고 효율적으로 실행할 수 있는 정보 처리 장치 및 그 제어 방법, 프로그램을 제공할 수 있다.

Claims (12)

  1. 복수 종류의 데이터 필드로부터 형성된 레코드로부터 선택된 데이터 필드의 데이터를 삽입하기 위한 필드 영역을 페이지 내에 레이아웃하는 정보 처리 장치로서,
    상기 데이터 필드의 데이터를 삽입하기 위한 필드 영역을 페이지 내에 레이아웃하는 경우, 복수의 상기 레코드들에서 동일한 데이터 필드명을 갖는 데이터 필드들의 각 데이터 디스플레이 사이즈에 기초하여 상기 필드 영역의 기준 사이즈를 결정하는 결정 수단과;
    상기 복수의 상기 레코드들 중에서 상기 동일한 데이터 필드명을 갖는 데이터 필드군으로부터, 상기 결정 수단으로 결정한 기준 사이즈에 대응하는 데이터 디스플레이 사이즈를 갖는 데이터 필드를 선정하는 선정 수단과;
    상기 선정 수단으로 선정한 데이터 필드의 데이터 디스플레이 사이즈에 기초하여 상기 데이터 필드의 데이터를 삽입하기 위한 필드 영역을 상기 페이지 내에 레이아웃하는 레이아웃 수단
    을 포함하는 정보 처리 장치.
  2. 제1항에 있어서,
    상기 결정 수단은 상기 레코드 내의 상기 복수 종류의 데이터 필드마다 상기 기준 사이즈를 결정하고,
    상기 선정 수단은 상기 복수 종류의 데이터 필드마다 상기 결정 수단으로 결정한 상기 기준 사이즈에 대응하는 데이터 디스플레이 사이즈를 갖는 데이터 필드를 선정하고, 선정된 데이터 필드로부터 기준 데이터 필드 세트를 작성하는 정보 처리 장치.
  3. 제2항에 있어서,
    상기 기준 데이터 필드 세트 내의 데이터 필드를 삽입하기 위한 필드 영역을 상기 페이지 내에 레이아웃하기 위한 조작 화면을 디스플레이하는 디스플레이 수단과;
    상기 조작 화면 내의 데이터 필드 세트로부터 원하는 데이터 필드를 선택하는 선택 수단을 더 구비하고,
    상기 레이아웃 수단은 상기 선택 수단으로 선택한 데이터 필드의 데이터 디스플레이 사이즈에 기초하여 상기 데이터 필드의 데이터를 삽입하기 위한 필드 영역을 상기 페이지 내에 레이아웃하는 정보 처리 장치.
  4. 제1항에 있어서,
    상기 기준 사이즈는, 상기 복수의 레코드 중에서 동일한 데이터 필드명을 갖는 데이터 필드의 평균 데이터 디스플레이 사이즈, 최대 데이터 디스플레이 사이즈 및 최소 데이터 디스플레이 사이즈 중 적어도 하나인 정보 처리 장치.
  5. 제1항에 있어서,
    상기 결정 수단은 처리 대상의 데이터 필드의 데이터가 이미지 데이터인 경우에는, 상기 이미지 데이터의 종횡 사이즈로부터 상기 이미지 데이터의 데이터 디스플레이 사이즈를 산출하고, 상기 데이터가 텍스트 데이터인 경우에는, 지정된 폰트 정보에 기초하여 상기 텍스트 데이터의 데이터 디스플레이 사이즈를 산출하는 산출 수단을 포함하는 정보 처리 장치.
  6. 제1항에 있어서,
    상기 기준 사이즈가 상기 복수의 레코드 중에서 동일한 데이터 필드명을 갖는 데이터 필드의 평균 데이터 디스플레이 사이즈인 경우, 상기 선정 수단은 상기 평균 데이터 디스플레이 사이즈에 가장 가까운 데이터 디스플레이 사이즈를 갖는 데이터 필드를 상기 복수의 레코드 중에서 동일한 데이터 필드명을 갖는 데이터 필드들로부터 선정하는 정보 처리 장치.
  7. 제2항에 있어서,
    상기 기준 데이터 필드 세트 내의 데이터 필드의 데이터를 삽입하기 위한 필드 영역을 상기 페이지 내에 레이아웃하기 위한 조작 화면을 디스플레이하는 디스플레이 수단과;
    상기 조작 화면에 디스플레이되는 상기 데이터 필드의 필드 정보로서, 데이터 타입, 데이터 필드명, 데이터 또는 데이터 파일명을 디스플레이하는 디스플레이 제어 수단을 더 구비하는 정보 처리 장치.
  8. 제2항에 있어서,
    상기 기준 데이터 필드 세트 내의 데이터 필드의 데이터를 삽입하기 위한 필드 영역을 상기 페이지 내에 레이아웃하기 위한 조작 화면과, 상기 필드 영역을 레이아웃하는 페이지의 페이지 화면을 디스플레이하는 디스플레이 수단과;
    상기 조작 화면 내의 데이터 필드 세트로부터 원하는 데이터 필드를 선택하여, 상기 페이지 화면 상에 상기 원하는 데이터 필드를 드래그 앤 드롭(dragging and dropping)하고, 상기 데이터 필드의 데이터를 삽입하기 위한 필드 영역을 상기 페이지 내에 레이아웃하는 조작 수단을 더 구비하는 정보 처리 장치.
  9. 제1항에 있어서,
    상기 레코드를 형성하는 데이터 필드 세트 또는 상기 기준 데이터 필드 세트 내의 데이터 필드의 데이터를 삽입하기 위한 필드 영역을 상기 페이지 내에 레이아웃하기 위한 조작 화면을 디스플레이하는 디스플레이 수단을 더 구비하고,
    상기 조작 화면은 상기 복수의 레코드를 각각 형성하는 데이터 필드 세트 중 하나 또는 상기 기준 데이터 필드 세트를 스위칭하여 디스플레이하는 정보 처리 장치.
  10. 제1항에 있어서,
    상기 레코드에 포함되는 복수 종류의 데이터 필드의 데이터를 상기 레이아웃 수단이 필드 영역들을 레이아웃하는 템플릿 페이지 상의 대응하는 필드 영역에 삽입하는 삽입 수단과;
    상기 삽입 수단에 의해 상기 데이터 필드의 데이터가 삽입된 템플릿 페이지에 기초하여 프린팅 장치에 의해 프린트되는 프린트 데이터를 생성하는 프린트 데이터 생성 수단을 더 구비하는 정보 처리 장치.
  11. 복수 종류의 데이터 필드로부터 형성된 레코드로부터 선택된 데이터 필드의 데이터를 삽입하기 위한 필드 영역을 페이지 내에 레이아웃하는 정보 처리 장치의 제어 방법으로서,
    상기 데이터 필드의 데이터를 삽입하기 위한 필드 영역을 페이지 내에 레이아웃하는 경우, 복수의 상기 레코드들에서 동일한 데이터 필드명을 갖는 데이터 필드들의 각 데이터 디스플레이 사이즈에 기초하여 상기 필드 영역의 기준 사이즈를 결정하는 결정 단계와;
    상기 복수의 상기 레코드들 중에서 상기 동일한 데이터 필드명을 갖는 데이터 필드군으로부터, 상기 결정 단계에서 결정한 기준 사이즈에 대응하는 데이터 디스플레이 사이즈를 갖는 데이터 필드를 선정하는 선정 단계와;
    상기 선정 단계에서 선정한 데이터 필드의 데이터 디스플레이 사이즈에 기초하여 상기 데이터 필드의 데이터를 삽입하기 위한 필드 영역을 상기 페이지 내에 레이아웃하는 레이아웃 단계
    를 포함하는 정보 처리 장치의 제어 방법.
  12. 복수 종류의 데이터 필드로부터 형성된 레코드로부터 선택된 데이터 필드의 데이터를 삽입하기 위한 필드 영역을 페이지 내에 레이아웃하는 정보 처리 장치의 제어를 구현하는 프로그램을 기록한 컴퓨터 판독가능한 기록 매체로서,
    상기 프로그램은,
    상기 데이터 필드의 데이터를 삽입하기 위한 필드 영역을 페이지 내에 레이아웃하는 경우, 복수의 상기 레코드들에서 동일한 데이터 필드명을 갖는 데이터 필드들의 각 데이터 디스플레이 사이즈에 기초하여 상기 필드 영역의 기준 사이즈를 결정하는 결정 단계를 위한 프로그램 코드와;
    상기 복수의 상기 레코드들 중에서 상기 동일한 데이터 필드명을 갖는 데이터 필드군으로부터, 상기 결정 단계에서 결정한 기준 사이즈에 대응하는 데이터 디스플레이 사이즈를 갖는 데이터 필드를 선정하는 선정 단계를 위한 프로그램 코드와;
    상기 선정 단계에서 선정한 데이터 필드의 데이터 디스플레이 사이즈에 기초하여 상기 데이터 필드의 데이터를 삽입하기 위한 필드 영역을 상기 페이지 내에 레이아웃하는 레이아웃 단계를 위한 프로그램 코드
    를 구비하는 컴퓨터 판독가능한 기록 매체.
KR1020050071788A 2004-08-06 2005-08-05 정보 처리 장치와 그 제어 방법 및 기록 매체 KR100818860B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2004231440A JP4262164B2 (ja) 2004-08-06 2004-08-06 情報処理装置及びその制御方法、プログラム
JPJP-P-2004-00231440 2004-08-06

Publications (2)

Publication Number Publication Date
KR20060050271A KR20060050271A (ko) 2006-05-19
KR100818860B1 true KR100818860B1 (ko) 2008-04-01

Family

ID=35427491

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020050071788A KR100818860B1 (ko) 2004-08-06 2005-08-05 정보 처리 장치와 그 제어 방법 및 기록 매체

Country Status (5)

Country Link
US (1) US7707494B2 (ko)
EP (1) EP1624384A3 (ko)
JP (1) JP4262164B2 (ko)
KR (1) KR100818860B1 (ko)
CN (1) CN100399332C (ko)

Families Citing this family (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4250577B2 (ja) * 2004-08-31 2009-04-08 キヤノン株式会社 情報処理装置、情報処理方法、ならびにプログラム
US20070028169A1 (en) * 2005-07-28 2007-02-01 Microsoft Corporation Getting started assistance
US7676744B2 (en) * 2005-08-19 2010-03-09 Vistaprint Technologies Limited Automated markup language layout
US7584424B2 (en) * 2005-08-19 2009-09-01 Vista Print Technologies Limited Automated product layout
US9158749B2 (en) * 2005-09-23 2015-10-13 International Business Machines Corporation Smart form completion of form values
KR100736077B1 (ko) * 2005-10-24 2007-07-06 삼성전자주식회사 데이터 방송의 텍스트를 제어하는 장치 및 그 방법
US8635553B2 (en) * 2006-02-16 2014-01-21 Adobe Systems Incorporated Auto adjustable pane view
JP2008310525A (ja) * 2007-06-13 2008-12-25 Canon Inc 情報処理装置、情報処理方法、及び、情報処理プログラム
JP2009271777A (ja) * 2008-05-08 2009-11-19 Sharp Corp 情報処理装置、テキスト表示プログラム、およびテキスト表示方法
US8156425B2 (en) * 2008-06-04 2012-04-10 Microsoft Corporation User interface (UI) dimensioning
US9292582B2 (en) * 2009-05-27 2016-03-22 International Business Machines Corporation Rendering a database record in a fixed display space
US9417787B2 (en) * 2010-02-12 2016-08-16 Microsoft Technology Licensing, Llc Distortion effects to indicate location in a movable data collection
CN102381062A (zh) * 2010-09-03 2012-03-21 上海商务数码图像技术有限公司 一种彩色数码印刷机的控制系统
US20120131445A1 (en) 2010-11-23 2012-05-24 International Business Machines Corporation Template-based content creation
US8972848B2 (en) 2010-11-23 2015-03-03 International Business Machines Corporation Document renewal and translation
US8863039B2 (en) 2011-04-18 2014-10-14 Microsoft Corporation Multi-dimensional boundary effects
JP2013130964A (ja) * 2011-12-20 2013-07-04 Ricoh Co Ltd 表示制御装置、表示制御システムおよびプログラム
JP2014106882A (ja) * 2012-11-29 2014-06-09 Toshiba Corp 情報処理装置及び表示制御方法
US20140298243A1 (en) * 2013-03-29 2014-10-02 Alcatel-Lucent Usa Inc. Adjustable gui for displaying information from a database
CN104881298A (zh) 2014-02-27 2015-09-02 国际商业机器公司 用于在线显示文档的方法和装置
JP6464862B2 (ja) * 2015-03-24 2019-02-06 富士通株式会社 表示プログラム、表示方法及び表示装置
US11200529B2 (en) * 2015-08-06 2021-12-14 Ns Solutions Corporation Information processing apparatus, information processing system, information processing method and non-transitory computer readable recording medium
JP7081048B2 (ja) * 2018-09-30 2022-06-06 華為技術有限公司 システムナビゲーションバー表示方法、システムナビゲーションバー制御方法、グラフィカルユーザインターフェース、および電子機器
US20210264099A1 (en) * 2020-02-26 2021-08-26 Fujifilm Business Innovation Corp. Information processing device and computer readable medium

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100238814B1 (ko) * 1996-05-16 2000-01-15 가시오 가즈오 데이터처리장치 및 데이터처리방법
KR20020013555A (ko) * 1999-05-25 2002-02-20 실버브룩 키아 책 배달 방법 및 시스템
KR20020020243A (ko) * 2000-09-06 2002-03-14 구사마 사부로 열람 정보 작성 시스템 및 디지털 콘텐츠 배송 시스템
KR20020087974A (ko) * 2000-04-14 2002-11-23 픽셀 (리서치) 리미티드 디지털 문서를 조작하고 표시하기 위한 사용자 인터페이스및 방법

Family Cites Families (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
NL296772A (ko) * 1962-03-21
DE2700292C2 (de) * 1977-01-05 1981-09-24 Bayer Ag, 5090 Leverkusen Verwendung von bestimmten Bisstyryl-phenyl- oder -biphenyl- Verbindungen sowie deren Metall- oder organischen Ammoniumsalzen zur Erzeugung einer kohärenten Laseremission
DE2822190A1 (de) * 1978-05-20 1979-11-22 Hoechst Ag Photopolymerisierbares gemisch
US4459349A (en) * 1981-03-27 1984-07-10 Toyo Boseki Kabushiki Kaisha Photosensitive resin composition
DE3738864A1 (de) * 1987-11-16 1989-05-24 Hoechst Ag Polymerisierbare verbindungen und diese enthaltendes durch strahlung polymerisierbares gemisch
SG44775A1 (en) * 1990-09-19 1997-12-19 Koninkl Philips Electronics Nv Mechanism for controlling presentation of display- ed picture
JPH07129658A (ja) 1993-11-02 1995-05-19 Toppan Printing Co Ltd レイアウトデザイン装置
JPH0950535A (ja) 1995-08-04 1997-02-18 Casio Comput Co Ltd イメージデータ出力装置
JPH09319537A (ja) * 1996-05-27 1997-12-12 Sharp Corp 情報表示装置
US6016492A (en) * 1997-07-15 2000-01-18 Microsoft Corporation Forward extensible property modifiers for formatting information in a program module
DE19915717A1 (de) * 1999-04-08 2000-10-12 Agfa Gevaert Ag Aufzeichnungsmaterial mit pigmentgefärbter strahlungsempfindlicher Schicht
DE19933139A1 (de) * 1999-07-19 2001-01-25 Agfa Gevaert Ag Stabile Pigmentdispersion und damit hergestelltes strahlungsempfindliches Aufzeichnungsmaterial
JP3775130B2 (ja) 1999-09-22 2006-05-17 富士ゼロックス株式会社 文書処理装置および方法
EP1410226A1 (en) * 2000-02-03 2004-04-21 XMPIE Inc. A system and method for creating customized documents for cross media publishing
KR200213555Y1 (ko) 2000-07-12 2001-02-15 노재근 오픈캐비닛의 상판 구조
JP3880321B2 (ja) * 2001-02-16 2007-02-14 キヤノン株式会社 情報処理装置、データ通信システム、情報処理方法、プログラムおよび記憶媒体
JP3835193B2 (ja) 2001-03-30 2006-10-18 セイコーエプソン株式会社 ディジタルコンテンツ作成システム及びディジタルコンテンツ作成プログラム
JP4146620B2 (ja) * 2001-03-30 2008-09-10 セイコーエプソン株式会社 ディジタルコンテンツ作成システム及びディジタルコンテンツ作成プログラム
JP4154976B2 (ja) * 2002-09-24 2008-09-24 セイコーエプソン株式会社 レイアウトシステム、プログラム
JP4241325B2 (ja) * 2002-12-25 2009-03-18 セイコーエプソン株式会社 レイアウトシステム
US7272258B2 (en) * 2003-01-29 2007-09-18 Ricoh Co., Ltd. Reformatting documents using document analysis information
US20040151399A1 (en) * 2003-01-30 2004-08-05 Skurdal Vincent C. Positioning images in association with templates
JP4580148B2 (ja) * 2003-03-14 2010-11-10 ソニー株式会社 情報処理装置,メタデータ表示方法
US8239343B2 (en) * 2003-05-23 2012-08-07 Bmc Software, Inc. Database reorganization technique
JP2005049834A (ja) * 2003-07-11 2005-02-24 Matsushita Electric Ind Co Ltd メディアデータ表示装置、メディアデータ表示方法およびメディアデータ表示プログラム
US7144115B2 (en) * 2004-04-14 2006-12-05 Sharp Laboratories Of America, Inc. Projection system

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100238814B1 (ko) * 1996-05-16 2000-01-15 가시오 가즈오 데이터처리장치 및 데이터처리방법
KR20020013555A (ko) * 1999-05-25 2002-02-20 실버브룩 키아 책 배달 방법 및 시스템
KR20020022665A (ko) * 1999-05-25 2002-03-27 추후제출 문서 분배 방법 및 시스템
KR20020087974A (ko) * 2000-04-14 2002-11-23 픽셀 (리서치) 리미티드 디지털 문서를 조작하고 표시하기 위한 사용자 인터페이스및 방법
KR20020020243A (ko) * 2000-09-06 2002-03-14 구사마 사부로 열람 정보 작성 시스템 및 디지털 콘텐츠 배송 시스템

Also Published As

Publication number Publication date
CN100399332C (zh) 2008-07-02
EP1624384A2 (en) 2006-02-08
EP1624384A3 (en) 2008-12-24
JP2006048539A (ja) 2006-02-16
US20060031761A1 (en) 2006-02-09
KR20060050271A (ko) 2006-05-19
US7707494B2 (en) 2010-04-27
CN1731397A (zh) 2006-02-08
JP4262164B2 (ja) 2009-05-13

Similar Documents

Publication Publication Date Title
KR100818860B1 (ko) 정보 처리 장치와 그 제어 방법 및 기록 매체
US8250470B2 (en) Information processing apparatus, control method therefor, and program
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
US7930632B2 (en) Information processing apparatus, control method therefor, and computer-readable medium displaying a layout result on the basis of adjustment record information stored with respect to a predetermined record
KR100716084B1 (ko) 레이아웃 조정 방법 및 장치
KR100821449B1 (ko) 레이아웃 조정 방법 및 장치
JP4522280B2 (ja) 情報処理装置及びその制御方法、プログラム
JP4110105B2 (ja) 文書処理装置及び文書処理方法及び文書処理プログラム
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
JP4298642B2 (ja) レイアウト処理方法およびレイアウト処理装置およびレイアウト処理プログラム
JP4912139B2 (ja) 情報処理装置
JP2006277727A (ja) レイアウト処理方法、情報処理装置及びコンピュータプログラム
US20060174194A1 (en) Layout decision method, apparatus, and program
US7853872B2 (en) Laying out field regions in a page for insertion of data
JP2005216180A (ja) 文書処理装置及び文書処理方法及び文書処理プログラム
JP4194501B2 (ja) 文書処理方法、文書処理装置及び文書処理プログラム
JP4250577B2 (ja) 情報処理装置、情報処理方法、ならびにプログラム
JP2007122487A (ja) 自動レイアウトシステム
JP2010176366A (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: 20130221

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20140226

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20150226

Year of fee payment: 8

LAPS Lapse due to unpaid annual fee