KR20040027879A - 포매팅 템플릿, 인쇄 시스템, 복수의 요소를 갖는 파일의 인쇄 방법 및 컴퓨터 판독 가능 기록 매체 - Google Patents

포매팅 템플릿, 인쇄 시스템, 복수의 요소를 갖는 파일의 인쇄 방법 및 컴퓨터 판독 가능 기록 매체 Download PDF

Info

Publication number
KR20040027879A
KR20040027879A KR10-2004-7000703A KR20047000703A KR20040027879A KR 20040027879 A KR20040027879 A KR 20040027879A KR 20047000703 A KR20047000703 A KR 20047000703A KR 20040027879 A KR20040027879 A KR 20040027879A
Authority
KR
South Korea
Prior art keywords
xml
elements
file
formatting
printing
Prior art date
Application number
KR10-2004-7000703A
Other languages
English (en)
Other versions
KR100576030B1 (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 KR20040027879A publication Critical patent/KR20040027879A/ko
Application granted granted Critical
Publication of KR100576030B1 publication Critical patent/KR100576030B1/ko

Links

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
    • 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
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1202Dedicated interfaces to print systems specifically adapted to achieve a particular effect
    • G06F3/1203Improving or facilitating administration, e.g. print management
    • G06F3/1205Improving or facilitating administration, e.g. print management resulting in increased flexibility in print job configuration, e.g. job settings, print requirements, job tickets
    • 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
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1202Dedicated interfaces to print systems specifically adapted to achieve a particular effect
    • G06F3/1203Improving or facilitating administration, e.g. print management
    • G06F3/1206Improving or facilitating administration, e.g. print management resulting in increased flexibility in input data format or job format or job type
    • 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
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1223Dedicated interfaces to print systems specifically adapted to use a particular technique
    • G06F3/1237Print job management
    • G06F3/1244Job translation or job parsing, e.g. page banding
    • G06F3/1246Job translation or job parsing, e.g. page banding by handling markup languages, e.g. XSL, XML, HTML
    • 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
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1223Dedicated interfaces to print systems specifically adapted to use a particular technique
    • G06F3/1237Print job management
    • G06F3/1253Configuration of print job parameters, e.g. using UI at the client
    • G06F3/1257Configuration of print job parameters, e.g. using UI at the client by using pre-stored settings, e.g. job templates, presets, print styles
    • 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
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1223Dedicated interfaces to print systems specifically adapted to use a particular technique
    • G06F3/1237Print job management
    • G06F3/126Job scheduling, e.g. queuing, determine appropriate device
    • 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
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1278Dedicated interfaces to print systems specifically adapted to adopt a particular infrastructure
    • G06F3/1285Remote printer device, e.g. being remote from client or server

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Record Information Processing For Printing (AREA)
  • Accessory Devices And Overall Control Thereof (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Particle Formation And Scattering Control In Inkjet Printers (AREA)
  • Dot-Matrix Printers And Others (AREA)
  • Rotary Presses (AREA)

Abstract

포매팅 템플릿을 직접 이용하여 XML 파일을 인쇄하는 인쇄 시스템 및 방법이 개시되어 있다. 인쇄 시스템의 실시예는 인쇄 채널로부터 인쇄 가능한 정보를 수신하는 스풀러와, XML 파일을 파싱하고, 포매팅 템플릿에 따라서 XML 파일을 포매팅하고, 포매팅된 XML 파일을 나타내는 데이터 스트림을 구성하고, 포매팅 템플릿을 이용하여 포매팅되는 인쇄 스트림을 생성하는 인쇄 서비스 설비와, 포매팅 템플릿에 의해서 정의되는 포매팅에 따라서 인쇄 스트림을 인쇄하는 프린터를 포함하며, 여기에서 포매팅 템플릿은 XML 파일의 요소에 대한 포매팅을 정의하는 XML 기술자를 포함하는 데이터 맵 포맷을 정의한다.

Description

포매팅 템플릿, 인쇄 시스템, 복수의 요소를 갖는 파일의 인쇄 방법 및 컴퓨터 프로그램{A PRINTING SYSTEM}
XML(Extensible Markup Language)는 텍스트 기반의 마크업 언어(markup language)로서, 정보가 자체 기술(self-describing)되도록 설계된다. XML은 보다 탄력적이고 융통성이 있는 정보 식별을 제공하는 것에 의해서 웹(Web)의 기능을 향상시키도록 설계된다. 이는 HTML(단일의, 사전 정의된 마크업 언어) 등과 같이 고정된 포맷이 아니기 때문에 확장 가능(extensible)으로 지칭된다. 대신에, XML은 실제적으로 "메타 언어(metalanguage)"로서, 즉, 다른 언어를 기술하기 위한 언어이고, 누구나 무한히 서로 다른 타입의 문서에 대해 자신의 맞춤형 마크업 언어로 설계할 수 있게 한다. XML은 텍스트 마크업 시스템을 위한 국제 표준 메타 언어(ISO 8879)인 SGML로 기록되어 있어서, 전술한 것을 가능하게 한다.
XML은 급속히 웹 상에서 데이터 상호 교환에 대한 표준으로 되어가고 있다. 또한, XML은 W3C(World Wide Web Consortium)에 의해서 1998년 초반에 완성되었기때문에, 이 표준은 과학 분야를 통해서 산업 분야로 들불처럼 번져나갔다. XML은 웹 상에서 용이하고 직접적인 방식으로 SGML을 이용하고자 의도된 것으로서, 예를 들면, 용이하게 문서 타입을 정의하고, 용이하게 SGML로 정의된 문서를 작성하고 관리하며, 웹을 거쳐서 그것을 용이하게 전달하고 공유한다. XML은 XML 스펙(specification)에서 완전히 기술되는 극도로 단순한 SGML의 방언(dialect)을 정의한다. 본 목표는 현재 HTML을 가지고 실행될 수 있는 방식으로 XML을 프로세싱할 수 있게 하는 것이다. 그렇기 때문에, XML은 구현이 용이하도록 설계되었다.
HTML의 경우, 데이터는 태그(tags)를 이용하여 식별된다(식별자(identifiers)에는 예를 들어, <...>과 같이 구부러진 괄호(angle brackets)를 씌움). 집합적으로, 태그는 "마크업(markup)"으로서 알려져 있다. 그러나 HTML과는 다르게, XML 태그는 어떻게 디스플레이하는지가 아니라 데이터가 무엇을 의미하는지를 기술하는 것으로, 예를 들면, HTML 태그는 "굵은 폰트로 데이터를 디스플레이함"(즉, <b>...</b>)과 관련되는 반면, XML 태그는 컴퓨터 프로그램 내에서 필드 네임(field name)과 마찬가지로 작용하여 데이터의 일부분에 라벨(label)을 할당하여 그것을 식별한다(예를 들면, <message>...</message>).
데이터 구조에 대해 필드 네임이 정의되는 것과 동일한 방식으로, 프로그래머는 주어진 애플리케이션에서 의미가 통하는 임의의 XML 태그를 자유롭게 이용한다. 자연적으로, 다수의 애플리케이션이 동일한 XML 데이터를 이용한다고 해도, 이용하도록 의도된 태그 네임은 동의되어야 한다.
XML로 기술되는 문서 등과 같이, 사전 결정된 요소로 형성되는 조직화된 문서는 컨텐츠(content) 및 구조에 의해서만 조직화된다. 디스플레이 또는 인쇄에 필요한 정보의 포맷 및 속성 등과 같이 문서에 대한 유형과 관련된 정보의 정의는, 문서 컨텐츠 정보와는 독립적으로 정의되고 관리된다.
이러한 조직화된 문서를 디스플레이 장치 상에서 디스플레이하기 위해서, 또는 이 문서를 인쇄 장치 상에서 인쇄하기 위해서, 문서의 구조에 대한 정보("구조 정보")를 먼저 분석하고, 유형 정의에 대해 별도로 정의된 정보("유형 정의 정보(style definition information)")를 획득한다. 유형 정의 정보는 분석된 구조에 의존하고, 일단 획득되면, 디스플레이 또는 인쇄 속성 정보로서 설정된다.
이러한 구조 분석의 결과는 트리 구조(tree structure)로 나타낼 수 있다. 독립적으로 정의된 유형 정의 정보는 때때로, 문서의 여러 유닛에 대한 문서 구조의 요소들을 나타내는 식별자(identifiers)의 세트(이하에서는 "태그"로서 지칭됨)와 관련하여 정의된다.
작가 및 공급자는 HTML만을 이용하는 것 대신에 XML을 이용하여 그들 자신의 문서 타입을 설계할 수 있고, 문서 타입을 관중에 대해서 명확하게 맞출 수 있다. 그러므로, 작가 및 설계자는 그들 자신의 마크업 요소를 자유롭게 생성한다. 또한, XML의 기술적인 기능 및 하이퍼텍스트 링크 기능(hypertext linking abilities)이 HTML의 그것보다 훨씬 더 크기 때문에, 정보 컨텐츠(information content)를 이용하기에 더 풍부하고 용이할 수 있다. XML은 CSS(Cascading Stylesheet Specification) 및 XSL 등과 같은 스타일 시트를 이용하는 프레젠테이션을 위한 더 많고 더 나은 설비를 제공할 수 있다.
HTML에서, HTML의 태그 세트(tag set)가 브라우저(browsers) 내에 사전 정의되고 설치되어있기 때문에, 디폴트 스타일링(default styling)을 브라우저 내에 설계한다. XML에서, 누구나 자신의 태그 세트를 정의할 수 있고, 브러우저는 어떤 네임이 사용될 것이며 그것이 무엇을 의미할지 알지 못하기 때문에, 포매팅된 텍스트가 디스플레이된다면 스타일 시트가 필요하다. 예를 들면, XML을 판독하는 브라우저는 적어도 CSS 스타일 시트를 허용하고 이용할 것이지만, XML을 HTML로 변환하기 위해서는 보다 강력한 XSLT 스타일 시트 언어를 이용할 수 있다.
CSS는 요소에 유형을 할당하기 위한 단순한 신택스(syntax)를 제공하고, 대부분의 브라우저에서 구현되어 왔다. XSL(Extensible Stylesheet Language)는 XML 전용으로 이용하기 위해서 생성되었다. XSL은 XML 신택스(XSL 스타일 시트는 XML 파일임)를 이용하며, 현재의 브라우저 지원은 제한되어 있음에도 몇몇 주요 판매상으로부터 널리 공급되고 있다. XSL은 순수한 포매팅 언어(formatting language)이고 인쇄 가능한 출력을 생성하기 위해서 FOP 또는 PassiveTeX 등과 같은 텍스트 포매터(text formatter)를 필요로 한다(둘 다 PDF를 생성할 수 있음). XSLT(T는 변환(Transformation)을 의미함)는 전송하기 전에 브라우저 내부 또는 서버의 어느 한 쪽에서 XML을 HTML로 변환하도록 지정하는 언어이다. XSLT는 또한 하나의 XML 어휘로부터 다른 하나로 변환하고 XML을 평문(plaintext)으로 변환하도록 지정할 수 있다.
스타일 시트는 출판 및 문서 관리 애플리케이션에서 생성된다. 그러나, XML 애플리케이션은 전통적인 문서 관리에 가려져 있었고 또한 이러한 애플리케이션에유용하다. SGML 접근법은 문서를 그 자체의 프레젠테이션와 분리시킨다. 문서는 임의의 매체, 예를 들면 하드커버판(hardcover edition), 포켓판(pocket edition), CD-ROM판 등의 서로 다른 형태로 출판될 수 있다. 사실상, SGML로, 문서는 "목표 변경 가능(retargetable)"하다. 예를 들면, 문서 매체 및 전자 매체를 포함하는 서로 다른 매체에 동일한 문서를 자동적으로 출판할 수 있다. 이 목표를 달성하기 위해서 SGML(및 XML)는 높은 레벨의 시맨틱 정보(semantic information)를 인코딩한다. 예를 들면, XML 마크업은 문서 내의 제목, 단락(paragraphs) 및 키워드를 식별할 수 있을 것이며, 예를 들어 제목의 폰트(font)에 특별한 관련을 갖지 않는다. 폰트, 크기 및 색상은 주어진 매체에 출판된 문서의 특성이다. 보다 중요하게는, 이들 특성은 높은 레벨의 시맨틱 마크업(semantic markup)으로부터 자동적으로 유추될 수 있다. 그러므로, 소프트웨어는 자동적으로 출판할 문서를 작성할 수 있고, 인쇄 시에 제목을 임의의 폰트로 조판하고, 단락은 다른 폰트로 조판할 수 있다. 키워드는 특별한 포매팅을 필요로 하지는 않지만, 인덱스(index) 내에서 편집되어야 하고, 웹 상에서 출판될 때, 제목은 자신의 프레임(frame) 내의 그래픽이 될 수 있으며, 키워드의 목록은 하이퍼링크를 갖는 인덱스일 수 있다.
특정 매체를 위한 문서를 작성하는 방법에 대한 특정한 인스트럭션이 스타일 시트 내에 수집된다. 인쇄 및 웹에 대해서는 서로 다른 스타일 시트를 사용한다. 서로 다른 스타일 시트는 하드커버판 및 포켓판에서도 이용될 수 있다.
XSL 스타일 시트는 규칙의 세트로서, 각 규칙은 문서 내에서 특정한 요소를 포맷하는 방법을 기술한다. 스타일 시트는 제목, 단락 및 키워드에 대한 규칙을갖는다. XSL에서, 이들 규칙은 문서를 포맷할 수 있을 뿐만 아니라 그것을 재구성(예를 들면, 제목을 표지(front page)로 이동시키거나, 키워드의 목록을 추출하는 것 등에 의해서)하기에 충분할 정도로 강력하다. 이는 XSL의 애플리케이션을 전통적인 출판의 영역 외부까지 적용시킬 수 있게 한다. 예를 들면, XSL은 회사의 특정 마크업과 표준 마크업 사이에서 문서를 변환하는 데 이용될 수 있다.
위에서 논의된 바와 같이, 스타일 시트는 문서와 분리되어 있다. 그러므로, 하나의 문서는 하나 이상의 스타일 시트를 가질 수 있고, 역으로, 하나의 스타일 시트는 수 개의 문서들 사이에서 공유될 수 있다. 연관되는 수 개의 스타일 시트를 단일 문서에 연관시키는 기능은, 동일 문서가 매체에 따라서 서로 다르게 렌더링(rendered)될 수 있다는 것을 의미한다. 수 개의 문서 사이에서 스타일 시트를 공유하는 기능은 통합 유형의 이행을 필요로 한다.
웹이 보다 상업화될수록, 출판업자들은 인쇄된 매체에서 획득할 수 있는 출력의 품질에 대해 동일하게 제어하기를 원한다. 이는 점차적으로 명확한 폰트 및 페이지 위에서 자료의 절대적 위치 배정 등과 같은 고정된 표현 제어법의 이용이 증가되게 한다. 불리하지만 전체적으로 예측될 수 있는 부작용은, 동일한 컨텐츠를 디지털 TV 세트 및 WAP 전화기 등과 같은 다른 장치에 전달하는 데 있어서 어려움이 증가된다는 것이다. 지금까지, 인쇄를 제어하기 위해서, 컨텐츠 제공자는 위에서 언급된 바와 같은 스타일 시트를 이용하여, 예를 들면 웹 문서(그 구조를 포함하지 않음)의 폰트, 색상, 줄간격(leading), 여백(margins), 활자체(typefaces), 및 유형에 대한 다른 특성 등의 렌더링을 제어했다. XML 데이터를 인쇄하는 것은,XSLT 프로세서를 이용하여 XSL 등과 같은 스타일 시트를 데이터에 적용하는 것이다. 프로세서는 포맷되는 대상을 출력하고, 그 다음 이 포맷되는 대상은 최종 형태의 페이지를 생성하는 컴포저(composer)에 입력된다. 다음에 이들 페이지는 포스트 스크립트(PostScript), PDF 또는 AFP 등과 같은 PDL로 변환된다. 그럼에도, 스타일 시트는 귀찮은 작업이고 사용자가 XML 데이터를 효율적이고 빠르게 인쇄할 수 없게 한다. 생산 시스템에서는, 예를 들면, 인쇄 속도가 분당 1000페이지를 초과한다. XSL 스타일 시트를 가지고 XML 데이터를 변환하는 것은 프로세싱 집약적(processing-intensive)이고, 이러한 인쇄 속도를 지원하지 않는다.
그러므로, 포매팅 탬플릿(formatting template)을 이용하여 직접적으로 XML을 인쇄하는 방법 및 장치가 필요한 것을 확인할 수 있다.
본 발명은 일반적으로 인쇄 시스템에 관한 것이다.
도 1은 프린터 시스템의 개요를 도시하는 도면,
도 2는 프린터 및 디지털 복사기 등과 같은 인쇄 장치의 보다 세부적인 블록도를 도시하는 도면,
도 3은 전형적인 문서의 인쇄를 도시하는 도면,
도 4는 포매팅 템플릿을 이용하는 XML의 인쇄를 도시하는 도면,
도 5는 도 4의 포매팅 템플릿을 이용하여 XML을 인쇄하는 방법에 대한 흐름도.
따라서, 본 발명은 복수의 요소를 갖는 적어도 하나의 파일을 인쇄하기 위한 포매팅 템플릿을 제공하고, 포매팅 템플릿은 복수의 요소 각각에 대한 포맷을 정의하기 위한 연관되는 복수의 기술자(descriptors)를 갖는 데이터 맵 포맷을 포함한다.
바람직하게는, 페이지 정의(Page Definition) 등과 같은 포매팅 템플릿을 이용하여 XML 파일의 각 요소를 포맷한다. 포매팅 템플릿은 위치, 회전, 폰트, 색상 등과 같은 프레젠테이션 파라미터(presentation parameter)를 지정하는 XML 기술자를 포함한다. 바람직한 실시예에서, 기술자는 요소에 대한 컨텐츠를 포맷하는 데이용되는 기술(description)을 식별하는 적정 태그(qualified tag)에 의해 식별된다. 기술자는, 특정한 XML 요소에 도달하기 위해서 반드시 거쳐야 하는 XML 시작 태그(start tag)의 연접(concatenation)을 이용하여 인덱스화된다. 시작 태그와 마주치게될 때마다 적정 태그가 생성되거나 수정된다.
적절하게, 복수의 요소 각각은 기술자의 제 1 세트에 의해서 프로세싱되는 복수의 필드를 포함한다. 인쇄되는 XML 파일은 필드들로 분리될 수 있거나 필드 XMD(XML 기술자)들의 체인을 이용하여 프로세싱될 수 있는 요소 컨텐츠(element contents)로 파싱(parsing)된다. 요소 컨텐츠는 바이트 카운트(byte counts) 또는 분리 문자(delimiter) 중 어느 하나를 갖는 필드로 분리된다. 보다 적절하게는, 복수의 요소 각각은 기술자의 제 2 세트에 의해서 프로세싱되는 복수의 속성(attributes)을 포함한다. 속성 XMD의 체인은 속성을 포매팅하는 데 이용되고, 여기에서, 속성은 필드들로 분리되고, 필드는 필드 XMD의 체인으로 포매팅된다.
다른 측면에 따르면, 본 발명은 스풀러(spooler)와, 복수의 요소를 갖는 적어도 하나의 파일을 파싱하고, 포매팅 템플릿에 따라서 적어도 하나의 파일을 포매팅하며, 포매팅된 파일을 나타내는 데이터 스트림(data stream)을 작성하고, 인쇄 스트림(print stream)을 생성하는 인쇄 서비스 설비(print services facility)와, 인쇄 스트림을 인쇄하기 위한 프린터를 포함하는 인쇄 시스템을 제공하고, 여기에서 포매팅 템플릿은 복수의 요소 각각의 포맷을 정의하는 연관된 복수의 기술자를 갖는 데이터 맵 포맷(data map format)을 정의한다.
다른 측면에 따르면, 본 발명은 복수의 요소를 갖는 적어도 하나의 파일을 인쇄하는 방법을 제공하며, 이 방법은, 적어도 하나의 파일을 서버 스풀(server spool) 상에 배치하는 단계와, 포매팅 템플릿을 인쇄 서비스 설비에 제공하는 단계-여기에서 포매팅 템플릿은 복수의 요소 각각의 포맷을 정의하는 연관된 복수의 기술자를 갖는 데이터 맵 포맷을 포함함-와, 포매팅 템플릿을 이용하여 포매팅되는 인쇄 스트림을 생성하기 위해 서버 스풀로부터 적어도 하나의 파일을 뽑아내는 단계를 포함한다. 바람직하게는, 이 방법은 적어도 하나의 파일을 복수의 요소 내에 파싱하는 단계와, 복수의 요소 각각에 대해서, 인스트럭션(instruction)을 포매팅하기 위한 포매팅 템플릿을 탐색하는 단계와, 성공적인 탐색 단계에 응답하여, 포매팅 인스트럭션을 이용하여 각각의 요소를 포매팅하는 단계를 더 포함한다.
또 다른 측면에 따르면, 본 발명은 프로그램이 컴퓨터에서 실행될 때, 위에서 설명된 방법의 모든 단계를 수행하도록 조절된 프로그램 코드 수단을 포함하는 컴퓨터 프로그램을 제공한다.
또 다른 측면에 따르면, 본 발명은 인쇄 시스템을 제공한다. 인쇄 시스템은 인쇄 채널(print channel)로부터 인쇄 가능한 정보를 수신하는 스풀러와, XML 파일을 파싱하고, 포매팅 템플릿에 따라서 XML 파일을 포매팅하고, 포매팅된 XML 파일을 나타내는 데이터 스트림을 작성하고, 포매팅 템플릿을 이용하여 포매팅되는 인쇄 스트림을 생성하는 인쇄 서비스 설비와, 포매팅 템플릿에 의해서 정의되는 포매팅에 따라서 인쇄 스트림을 인쇄하는 프린터를 포함하며, 여기에서 포매팅 템플릿은 XML 파일의 요소에 대한 포매팅을 정의하는 XML 기술자를 포함하는 데이터 맵포맷을 정의한다.
또 다른 측면에 따르면, 본 발명은 포매팅 템플릿을 이용하여 XML 파일을 직접적으로 인쇄하는 방법을 제공한다. 이 방법은 인쇄될 XML 파일을 서버 스풀 상에 배치하는 단계와, 포매팅 템플릿을 인쇄 서비스 설비에 제공하는 단계-여기에서 포매팅 템플릿은 XML 파일의 요소에 대한 포매팅을 정의하는 XML 기술자를 포함하는 데이터 맵 포맷을 정의함-와, 포매팅 템플릿을 이용하여 포매팅된 인쇄 스트림을 생성하기 위해 스풀러로부터 XML 파일을 뽑아내는 단계를 포함한다. 바람직하게는, 이 방법은 인쇄될 XML 파일을 요소 컨텐츠 내에 파싱하는 단계와, 파싱된 요소 컨텐츠에 대해서 인스트럭션을 포매팅하기 위한 포매팅 템플릿을 탐색하는 단계와, 탐색이 성공적이었는지 여부를 판정하여, 문서의 종료점에 도달했는지 여부를 탐색하고 판정하는 것에 의해서 획득되는 포매팅 인스트럭션을 이용하여 요소 컨텐츠를 포매팅하는 단계를 더 포함한다. 이 방법은 파싱된 요소 컨텐츠를 계속적으로 프로세싱하는 단계와 포매팅된 데이터 스트림을 프린터에 전송하는 단계를 더 포함한다.
다른 측면에 따르면, 본 발명은 컴퓨터 판독 가능 프로그램 기록 매체를 포함하는 제조물을 제공한다. 매체는 컴퓨터에 의해서 실행가능한 인스트럭션의 하나 이상의 프로그램을 실체적으로 포함하는 것으로, 포매팅 템플릿을 직접 이용하여 XML 파일을 인쇄하는 방법을 수행하고, 여기에서 이 방법은 인쇄될 XML 파일을 서버 스풀 상에 배치하는 단계와, 인쇄 서비스 설비에 포매팅 템플릿을 제공하는 단계-포매팅 템플릿은 XML 파일의 요소에 대한 포매팅을 정의하는 XML 기술자를 포함하는 데이터 맵 포맷을 정의함-와, 포매팅 템플릿을 이용하여 포매팅된 인쇄 스트림을 생성하기 위해서 스풀러로부터 XML 파일을 뽑아내는 단계를 포함한다.
또 다른 측면에 따르면, 본 발명은 인쇄 시스템을 제공하는 것으로, 인쇄 시스템은 인쇄 채널로부터 인쇄 가능한 정보를 수신하는 스풀러 수단과, XML 파일을 파싱하고, 포매팅 수단에 따라서 XML 파일을 포매팅하는 인쇄 드라이버(print driver)와, 포매팅된 XML 파일을 나타내는 데이터 스트림을 작성하고, 포매팅 템플릿을 이용하여 포매팅되는 인쇄 스트림을 생성하는 인쇄 서비스 설비와, 포매팅 템플릿에 의해서 정의되는 포매팅에 따라서 인쇄 스트림을 인쇄하는 인쇄 수단을 포함하며, 여기에서 포매팅 수단은 XML 파일의 요소에 대한 포매팅을 정의하는 XML 기술자를 포함하는 데이터 맵 포맷을 정의한다.
다음에, 이하의 도면에서 도시된 바와 같이, 본 발명의 바람직한 실시예를 참조하여 오직 예시의 방법으로만 본 발명을 설명할 것이다.
본 발명은 포매팅 템플릿을 직접 이용하여 XML을 인쇄하는 방법 및 장치를 제공한다. 페이지 정의(Page Definition) 등과 같은 포매팅 템플릿은 각각의 XML 요소를 포매팅하는 데 이용된다. 포매팅 템플릿은 위치, 회전, 폰트, 색상 등과 같은 표시 파라미터(presentation parameter)를 지정하는 XML 기술자를 포함한다. 기술자는 특정한 XML 요소에 도달하기 위해서 반드시 거쳐야 하는 XML 시작 태그의 연접을 이용하여 인덱스화된다.
도 1은 프린터 시스템(100)의 개요를 도시한다. 도 1에서, 프린터 시스템(100)은 입력 인쇄 데이터 스트림(112)을 수신하기 위한 인쇄 서버(110), 데이터 파일의 스풀링을 제어하기 위한 인쇄 스풀러(114), 및 양방향 인쇄 데이터 스트림(bi-directional print data stream)(150)을 이용하여, 접속된 프린터를 구동하는 데 적절한 커맨드를 생성하는 프레젠테이션 서비스(presentation services)(120)를 포함한다. 스풀러(114)는 인쇄 채널로부터 인쇄 가능한 정보를 수신한다. 또한, 인쇄 서버(110)는 접속된 프린트를 모니터링하고 구성하며, 인쇄 작업 관리를 제공하는 등의 기본적인 작업을 수행하는데 있어서 도시되지 않은 다른 구성 요소를 포함할 수 있다. 프린터 서버(110)는 입력 인쇄 데이터 스트림(112)을 프린터(130)에 의해서 지원되는 데이터 스트림으로 변환한다.
도 2는 본 발명에 따른, 프린터 및 디지털 복사기 등과 같은 인쇄 장치(200)의 보다 세부적인 블록도를 도시한다. 또한 서브 유닛(sub-units)은, 페이지 기술 언어를 위한 해석기(interpreters) 및 인쇄 장치의 여러 작동 모드를 설정하는 커맨드 프로세서 등과 같은 정의 가능한 로직 프로세스(logical processes)의 세트일 수 있다.
도 2는 인쇄 장치의 3개의 기본적인 기능을 도시하는 도면으로서, 3개의 기본적인 기능은, (1) 인쇄 파일의 해석기 내부 및 마커(marker)로의 흐름, (2) 마커를 통한 매체의 흐름 및 (3) 위의 2개의 흐름을 제어하고 촉진하는 보조적 서브 유닛이다. 도 2에 도시된 바와 같이, 인쇄 데이터의 흐름은, 몇몇 형태의 전송 프로토콜 스택을 인쇄 장치 인터페이스(212)에 전달하는 물리적 접속부(210)를 통해서 발생된다. 전송 프로토콜(인터페이스)에 의해서 공급되는 데이터를 해석기(216)의 입력부에 전달한다. 해석기(216)는 의도되는 인쇄 인스턴스(print instances)의 기술을 매체 상에 마킹되는(marked) 이미지로 변환하는 역할을 한다. 인쇄 장치는 하나 이상의 해석기를 가질 수 있다.
도 2에 도시된 바와 같이, 매체(260)가 초기에 입력 서브 유닛(220) 내에 상주하며, 입력 서브 유닛(220)으로부터 매체(260)를 선택하고, 이를 매체 경로(250)를 통해서 먼저 마커(230)에 전송하고, 다음에, (선택적으로) 몇몇 피니싱 동작(finishing operations)(270)을 수행할 출력부(240)에 전송한다. 입력부(220)는 마킹된 매체를 인쇄 장치에 공급하는 메커니즘이다. 별도로 선택 가능한 입력 "어드레스"가 존재하는 만큼의 개수의 입력부(220)가 존재할 수 있다. 매체(260)는 입력부(220) 내에 있는 그 매체를 나타내는 입력부(220)의 확장부이다.출력부(240)는 마킹된 매체를 수신하는 메커니즘이다. 인쇄 장치는 하나 이상의 출력 메커니즘(240)을 가질 수 있다. 별도로 선택 가능한 출력 "어드레스가" 존재하는 만큼의 개수의 출력부(220)가 존재할 수 있다. 피니셔(finisher)(270)는 매체에 마킹 이외의 어떤 동작을 수행하는 유닛이다. 피니싱 프로세스의 몇몇 예로서는, 스탬플링(stapling), 펀칭(punching), 바인딩(binding), 삽입(inserting) 또는 폴딩(folding) 등이 있다. 선택적 피니셔(270)를 이용하여 매체에 강조된 색상(highlight color), 이미지 또는 MICR(magnetic ink character recognition) 잉크 또는 토너를 적용한다.
마커(230)는 인쇄 매체에 마크를 생성하는 메커니즘이다. 인쇄 장치는 하나 이상의 마커(230)를 포함할 수 있다. 다수의 마커 서브 유닛(230)의 몇몇 예로는, 보통 잉크 및 자기 잉크에 대해서 별도의 마커를 갖는 인쇄 장치 또는 프루핑 장치(proofing device) 및 최종 필름의 양자에 출력할 수 있는 이미지 설정기(image setter)가 있다. 각 마커(230)는 마킹 기법 및 해상도(resolution) 등과 같이 자신과 연관되는 자체적인 특성의 세트를 가질 수 있다. 매체 경로(250)는 인쇄 장치 내에서 인쇄 장치를 통해 매체를 이동시키고 다른 모든 매체 관련 유닛인 입력부(220), 출력부(240), 마커(230) 및 피니셔(270)를 접속하는 메커니즘을 포함한다. 인쇄 장치는 하나 이상의 매체 경로(250)를 포함할 수 있다. 일반적으로, 매체 경로(250)의 설계는 인쇄 장치의 최대 속도뿐만 아니라 인쇄 장치가 처리할 수 있는 최대 매체 크기를 결정한다. 매체 경로(250)는 복잡한 메카니즘이고, 매체 이동 장치(media movement devices), 매체 버퍼(mediabuffers), 양면 인쇄 유닛(duplex units) 및 인터록(interlocks) 등과 같은 여러 서로 다른 식별 가능한 서브 메커니즘을 포함할 수 있다. 여러 서브 메커니즘 전체가 모든 매체 경로(250)에 상주하는 것은 아니다. 예를 들면, 하나의 매체 경로는 오직 하나의 매체 표면에만 인쇄를 제공할 수 있고(단방향 경로(simplex path)), 다른 매체 경로는 매체를 반전시켜서 마커 서브 유닛을 통해 다시 공급할 수 있다(양방향 경로(duplex path)). 양방향 경로는, 모든 복사본의 아래면(reverse side)을 마킹하기 전에, 마주보는 면(obverse side)의 복수의 복사본이 유지될 수 있게 허용하는 버퍼 서브 메커니즘(buffer sub-mechanism)을 가질 수도 있다.
일반 인쇄 장치(General Print Device)(202), 조작자 콘솔(Operator Console)(280) 및 경고(Alerts)(282) 등과 같은 보조적 서브 유닛은, 인쇄 장치의 제어, 조작자 패널의 질의/제어, 경고의 보고, 및 인쇄 장치를 여러 자연 언어(natural languages) 및 특성의 세트로 조절하는 것을 용이하게 한다. 일반 인쇄 장치(202)는 인쇄 장치의 전체적 제어 및 상태를 담당한다. 조작자 콘솔(280)은 인쇄 장치의 상태를 디스플레이하고 수정하는 데 이용된다. 콘솔(280)은 몇 개의 표시기(indicators) 및 스위치만큼 간단할 수도 있고 최대 스크린 디스플레이(full screen displays) 및 키보드만큼 복잡할 수도 있다. 경고 유닛(282)은 기록 가능한 이벤트의 검출, 경고 테이블 내의 엔트리 생성 및 이벤트가 결정적인 이벤트라면, 그 때에만, 트랩(trap)의 개시를 담당한다. 예를 들면, 정확하게 텍스처화된 문서 매체가 인쇄 장치에 로딩(loading)되지 않았다면, 도 1에 도시된 바와 같은 양방향 인쇄 데이터 스트림(150)을 통해 호스트(host)로 이 문서 매체를 다시 통신할 수 있다. 추가적으로, 경고 유닛(282)을 통한 경고를 이용하여 프린터 관리자에게 정확하게 텍스처화된 문서 매체가 인쇄 장치에 로딩되지 않았다거나, 텍스처화된 문서 매체가 변경되었다는 것을 통지할 수 있다.
위에서 설명된 모든 기능은, 인쇄 장치의 프로세서, 메모리 및 저장 시스템을 대표하는 시스템 제어기(System Controller)(218)에서 실행된다. 이 시스템 제어기(218)는 인쇄 작업을 프로세싱하기 위한 제어 기능을 구현한다. 시스템 제어기(218)는 MIB(Management Information Base)를 포함하며, MIB는 프로세서, 메모리, 디스크 저장 장치, 파일 시스템 및 인쇄 장치의 다른 기초가 되는 서브 메커니즘 등과 같은 인쇄 장치의 데이터 요소로의 액세스를 제공한다. 시스템 제어기(218)는 간단한 단일 프로세서 시스템으로부터 다중 프로세서 시스템까지의 범위를 가질 수 있다. 추가적으로, 제어기는 하드 디스크 등과 같은 전체 범위의 리소스를 가질 수 있다. 당업자라면 인쇄 장치는 하나 이상의 프로세서 및 그와 연관되는 다수의 다른 리소스를 가질 수 있다는 것을 인식할 것이다.
도 3은 전형적인 문서의 인쇄 방법에 대한 흐름도를 도시한다. 실행 가능한 코드 및 한 조의 애플리케이션을 포함하는 스풀러/스케쥴러(spooler/scheduler)는, 단계(310)에서 클라이언트 컴퓨터로부터 인쇄 작업을 수신한다. 단계(320)에서 스풀러/스케쥴러는 인쇄 작업을 처리한다. 인쇄 작업을 처리한 후, 단계(330)에서 스풀러/스케쥴러는 인쇄 작업을 PSF(Print Services Facility)에 전달하고, 단계(340)에서 PSF는 프린터를 구동한다. PSF는 프레젠테이션 포매팅이고, 단순한의미로는, 인쇄 장치로 간주될 수 있는 장치 관리 시스템이다. 이는 프린터와의 다이얼로그(dialog)를 제어하고, 리소스 관리를 처리하여 프린터 성능을 지원한다.
도 4는 포매팅 템플릿을 이용하여 XML을 인쇄하기 위한 프로세스(400)를 도시한다. 도 4에 도시된 예에서, 포매팅 템플릿은 데이터 맵 포맷(430)에 의해서 나타낸 페이지 정의를 제공한다. 도 4에서, 인쇄되는 XML 파일(410)은 서버 스풀(420) 상에 직접 배치된다. 새로운 데이터 맵 포맷(430)은, 라인 데이터(line data)에 대한 라인 기술자(line descriptors : LNDS)와 같이, 또한 레코드 포맷 데이터(record format data)에 대한 레코드 기술자(record descriptors : RCDs)와 같이, XML 데이터에 대해서 XML 기술자(XML Descriptors : XMDs)(432, 434)를 포함한다. XMD(432, 434)는, RCD가 10바이트 레코드 ED에 의해서 식별되는 것과 유사한 방식으로 "적정 태그(qualified tag : QT)(436)"에 의해서 식별된다. QT(436)는 특정 요소에 도달하기 위해서 XML 계층(hierarchy) 내에서 통과되어야 하는 XML 요소 시작 태그의 연접이다. 예를 들면, 이하의 XML 계층에서는,
<person>
<name>
<first>John</first>
<last>Doe</last>
</name>
</person>
<first> 요소를 위한 콘텐츠를 포맷하는 데 이용되는 XMD를 위한 QT는{person name first)이다(공백 문자(space character)는 QT를 포함하는 시작 태그 구성 요소들 사이의 분리 문자임). PSF(450)에 의해서 인쇄되는 XML 파일(440)을 스풀(420)에서 뽑아내어 파싱한다. PSF(450)는 프린터(470)로 전달되는 포매팅되는 XML 파일을 나타내는 데이터 스트림을 구성한다. 예를 들면 <last> 등의 시작 태그가 발견될 때마다, PSF(450)는 QT(이 경우에 QT는 (person name last)임)를 생성하고, 일치되는 QT를 갖는 XMD(432, 434)를 위해 현재 데이터 맵(430)을 탐색한다. 일치되는 QT가 발견되면, 요소의 컨텐츠를 XMD(432, 434)로 포매팅한다. 일치되는 QT가 확인되지 않으면, 프로세싱은 다음 시작 태그에 대해 재개된다.
PSF(450)이 XML 파일(440)을 파싱하면, PSF(450)는 "현재의" QT를 갖기 위해서, 통과되는 XML 시작 태그를 버퍼링해야 한다는 것을 주지하라. 예를 들면 페이지 헤더(page headers), 페이지 트레일러(page trailers), 그룹 헤더(group headers), 페이지 넘버링(page numbering), 텍스트 자리 맞춤(text justification), 그래픽 프리미티브(graphics primitives) 등의 레코드 포매팅을 위해서 개발된 모든 포매팅 기능은, XMDS를 가지고 XML을 포매팅하는 데 이용가능하다. 요소 컨텐츠는 바이트 카운트(byte counts) 또는 분리 문자 중 어느 하나를 가지고 필드들로 분리될 수 있고, 필드 XMDS의 체인을 이용하여 처리될 수 있다.
XML 시작 태그는 요소에 대한 속성을 기술할 수 있다. 예를 들면, <Person sex="male" height="72" weight="200">과 같다.
이러한 속성은 속성 XMDS의 체인으로 포매팅될 수 있다. 이는 필드 XMD 체인으로부터 분리된 체인이다. 이는 자체의 네임에 의해서 속성, 예를 들면"height"를 선택하고, 다음에 속성값을 포매팅한다. 속성값은, 필드들로 분리될 수 있고, 필드 XMDS의 체인을 이용하여 포매팅된다. XML은 공백 태그, 즉 한 쌍의 괄호 내에 선택 속성(optional attributes)(예를 들면, <person name="John Doe"/>)과 함께 시작 태그 및 종료 태그(end tag)를 둘 다 포함하는 구조를 지원한다. 공백 태그는 그들의 시작 구성 요소(이 예에서는 사람임)를 이용하여 프로세싱되고, 그들의 속성은 속성 XMDS를 이용하여 포매팅될 수 있다. 시작 태그의 컨텐츠(괄호를 포함함)는, 시작 태그를 프로세싱될 데이터 필드로서 선택(예를 들면, 플래그 비트(flag-bit)를 이용함)하는 필드 XMD로 포매팅될 수 있다(레코드 ID가 RCD로 포매팅되는 것과 유사한 방식임).
도 5는 포매팅 템플릿을 이용하여 XML을 인쇄하기 위한 방법에 대한 흐름도(500)를 도시한다. 단계(510)에서, 인쇄되는 XML 파일을 서버 스풀 위에 배치하고, 단계(520)에서 포매팅 템플릿을 PSF(Print Services Facility)에 제공한다. 포매팅 템플릿은 XMD를 포함하는 데이터 맵을 정의한다. 단계(530)에서, PSF는 인쇄될 XML 파일을 서버 스풀로부터 뽑아내고, 단계(540)에서 인쇄될 XML 파일을 파싱한다. 다음에 PSF는 단계(542)에서 파싱된 요소를 위한 인스트럭션(즉, XMD는 QT에 의해 식별됨)을 포매팅하기 위해 포매팅 템플릿을 탐색한다. 단계(550)에서 탐색이 성공적이었는지 여부에 대해 판정한다. 부정적 결과(556)에 응답하여, 이 방법은 단계(560)로 진행된다. 긍정적 결과(552)에 응답하여, 단계(554)에서의 포매팅 인스트럭션에 따라서 요소의 컨텐츠를 포매팅한 다음, 단계(570)에서 PSF는 IPDS(Intelligent Printer Data Stream)을 프린터에 전달한다.다음에, 단계(560)에서 문서의 종료점에 도달했는지 여부에 대해 판정한다. 긍정적 결과(562)에 응답하여, 방법은 종료된다. 부정적 결과(564)에 응답하여, 방법은 단계(566)에서 다음 요소로 진행되고, 방법은 단계(542)로 복귀되어 포매팅 템플릿이 다음에 파싱되는 요소를 위한 포매팅 인스트럭션을 탐색한다.
본 발명의 이점은, XML에 예를 들면 XML은 텍스트에 기반해야 하고, 외부 리소스 참조를 포함할 수 없다는 것과 같은 몇몇 제한을 부과하지만, XML을 인쇄하는 데 있어서 더 직접적이고 더 빠른 방법을 제공한다는 것이다.
도 4에 도시되고, 위에서 도 5를 참조하여 설명된 바와 같이 PSF(Print Services Facility)(450)에 의해서, 포매팅 템플릿을 직접 이용하여 XML을 인쇄하는 프로세스를 수행한다. 도 4 내지 도 5를 참조하여 설명된 프로세스는, 예를 들면 하나 이상의 고정형 및/또는 착탈가능형 데이터 저장 장치(490), 또는 다른 데이터 저장 장치나 데이터 통신 장치 등의 컴퓨터-판독 가능 매체 또는 캐리어 내에 실체적으로 구현될 수 있다. 저장 장치(490)의 컴퓨터 프로그램(492)은 PSF(450) 내에 로딩되어 PSF(450)의 실행을 위해 구성될 수 있다. 컴퓨터 프로그램(492)은, PSF(450)에 의해서 판독되고 실행될 때, PSF(450)가 본 발명의 단계 및 요소를 실행하는 데 필요한 단계를 수행하게 하는 인스트럭션을 포함한다.

Claims (11)

  1. 복수의 요소(elements)를 갖는 적어도 하나의 파일을 인쇄하기 위한 포매팅 템플릿(formatting template)에 있어서,
    상기 복수의 요소 각각의 포맷(format)을 정의하기 위해서 연관된 복수의 기술자(descriptors)를 갖는 데이터 맵 포맷(data map format)을 포함하는 포매팅 템플릿.
  2. 제 1 항에 있어서,
    상기 기술자는 적정 태그(qualified tag)에 의해서 식별되는 포매팅 템플릿.
  3. 제 2 항에 있어서,
    상기 적정 태그는 적어도 하나의 파일 내에서 통과되어야 하는 요소 개시 태그(element start tags)의 연접(concatenation)을 포함하는 포매팅 템플릿.
  4. 제 3 항에 있어서,
    상기 적정 태그는 상기 개시 태그와 마주칠 때마다 생성되는 포매팅 템플릿.
  5. 제 3 항에 있어서,
    상기 적정 태그는 상기 개시 태그와 마주칠 때마다 수정되는 포매팅 템플릿.
  6. 제 1 항 내지 제 5 항 중 어느 한 항에 있어서,
    상기 복수의 요소 각각은 상기 기술자의 제 1 세트에 의해서 프로세싱되는 복수의 필드를 포함하는 포매팅 템플릿.
  7. 제 1 항 내지 제 6 항 중 어느 한 항에 있어서,
    상기 복수의 요소 각각은 상기 기술자의 제 2 세트에 의해서 프로세싱되는 복수의 속성(attributes)을 포함하는 포매팅 템플릿.
  8. 스풀러와,
    복수의 요소를 갖는 적어도 하나의 파일을 파싱(parsing)하고, 포매팅 템플릿에 따라서 상기 적어도 하나의 파일을 포매팅하고, 상기 포매팅된 파일을 나타내는 데이터 스트림(data stream)을 작성하고, 인쇄 스트림(print stream)을 생성하는 인쇄 서비스 설비(print service facility)와,
    상기 인쇄 스트림을 인쇄하는 프린터
    를 포함하며,
    상기 포매팅 템플릿은 상기 복수의 요소 각각에 대한 포맷을 정의하기 위해서 연관되는 복수의 기술자를 갖는 데이터 맵 포맷을 정의하는 인쇄 시스템.
  9. 복수의 요소를 갖는 적어도 하나의 파일을 인쇄하는 방법에 있어서,
    서버 스풀(server spool) 상에 상기 적어도 하나의 파일을 배치하는 단계와,
    인쇄 서비스 설비에 포매팅 템플릿을 제공하는 단계-상기 포매팅 템플릿은 상기 복수의 요소 각각의 포맷을 정의하기 위한 연관된 복수의 기술자를 갖는 데이터 맵 포맷을 포함함-와,
    상기 포매팅 템플릿을 이용하여 포매팅된 인쇄 스트림을 생성하기 위해 상기 서버 스풀로부터 상기 적어도 하나의 파일을 뽑아내는 단계
    를 포함하는 복수의 요소를 갖는 파일의 인쇄 방법.
  10. 제 9 항에 있어서,
    상기 적어도 하나의 파일을 복수의 요소 내에 파싱하는 단계와,
    상기 복수의 요소 각각에 대해서, 인스트럭션(instruction)을 포매팅하기 위해 상기 포매팅 템플릿을 탐색하는 단계와,
    성공적인 탐색 단계에 응답하여, 상기 포매팅 인스트럭션을 이용하여 상기 각각의 요소를 포매팅하는 단계
    를 더 포함하는 복수의 요소를 갖는 파일의 인쇄 방법.
  11. 상기 프로그램이 컴퓨터에서 실행될 때, 청구항 9에 기재된 모든 단계를 수행하는데 적합한 프로그램 코드 수단(program code means)을 포함하는 컴퓨터 프로그램.
KR1020047000703A 2001-09-26 2002-09-19 인쇄 시스템, xml 파일의 인쇄 방법 및 컴퓨터 판독 가능 기록 매체 KR100576030B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US09/963,807 US7733509B2 (en) 2001-09-26 2001-09-26 Method and apparatus for printing XML directly using a formatting template
US09/963,807 2001-09-26
PCT/GB2002/004294 WO2003027829A1 (en) 2001-09-26 2002-09-19 A printing system

Publications (2)

Publication Number Publication Date
KR20040027879A true KR20040027879A (ko) 2004-04-01
KR100576030B1 KR100576030B1 (ko) 2006-05-02

Family

ID=25507742

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020047000703A KR100576030B1 (ko) 2001-09-26 2002-09-19 인쇄 시스템, xml 파일의 인쇄 방법 및 컴퓨터 판독 가능 기록 매체

Country Status (10)

Country Link
US (1) US7733509B2 (ko)
EP (1) EP1430387B1 (ko)
JP (1) JP2005504375A (ko)
KR (1) KR100576030B1 (ko)
CN (1) CN100350372C (ko)
AT (1) ATE310988T1 (ko)
CA (1) CA2446126C (ko)
DE (1) DE60207593T2 (ko)
TW (1) TW569129B (ko)
WO (1) WO2003027829A1 (ko)

Families Citing this family (84)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6857013B2 (en) * 1999-01-29 2005-02-15 Intermec Ip.Corp. Remote anomaly diagnosis and reconfiguration of an automatic data collection device platform over a telecommunications network
US20050274801A1 (en) * 1999-01-29 2005-12-15 Intermec Ip Corp. Method, apparatus and article for validating ADC devices, such as barcode, RFID and magnetic stripe readers
US6976062B1 (en) * 1999-09-22 2005-12-13 Intermec Ip Corp. Automated software upgrade utility
US8103496B1 (en) 2000-10-26 2012-01-24 Cypress Semicondutor Corporation Breakpoint control in an in-circuit emulation system
US7765095B1 (en) 2000-10-26 2010-07-27 Cypress Semiconductor Corporation Conditional branching in an in-circuit emulation system
US6724220B1 (en) 2000-10-26 2004-04-20 Cyress Semiconductor Corporation Programmable microcontroller architecture (mixed analog/digital)
US8149048B1 (en) 2000-10-26 2012-04-03 Cypress Semiconductor Corporation Apparatus and method for programmable power management in a programmable analog circuit block
US8160864B1 (en) 2000-10-26 2012-04-17 Cypress Semiconductor Corporation In-circuit emulator and pod synchronized boot
US8176296B2 (en) 2000-10-26 2012-05-08 Cypress Semiconductor Corporation Programmable microcontroller architecture
US7406674B1 (en) 2001-10-24 2008-07-29 Cypress Semiconductor Corporation Method and apparatus for generating microcontroller configuration information
US8078970B1 (en) 2001-11-09 2011-12-13 Cypress Semiconductor Corporation Graphical user interface with user-selectable list-box
US8042093B1 (en) 2001-11-15 2011-10-18 Cypress Semiconductor Corporation System providing automatic source code generation for personalization and parameterization of user modules
US7770113B1 (en) * 2001-11-19 2010-08-03 Cypress Semiconductor Corporation System and method for dynamically generating a configuration datasheet
US6971004B1 (en) 2001-11-19 2005-11-29 Cypress Semiconductor Corp. System and method of dynamically reconfiguring a programmable integrated circuit
US7774190B1 (en) 2001-11-19 2010-08-10 Cypress Semiconductor Corporation Sleep and stall in an in-circuit emulation system
US7844437B1 (en) * 2001-11-19 2010-11-30 Cypress Semiconductor Corporation System and method for performing next placements and pruning of disallowed placements for programming an integrated circuit
US8069405B1 (en) 2001-11-19 2011-11-29 Cypress Semiconductor Corporation User interface for efficiently browsing an electronic document using data-driven tabs
US7600685B2 (en) * 2001-12-17 2009-10-13 Zih Corp. XML printer system with RFID capability
US7025268B2 (en) 2001-12-17 2006-04-11 Zih Corporation XML printer system
US6908034B2 (en) 2001-12-17 2005-06-21 Zih Corp. XML system
US7959083B2 (en) * 2002-07-17 2011-06-14 Zih Corp. XML printer system
US6540142B1 (en) 2001-12-17 2003-04-01 Zih Corp. Native XML printer
US8103497B1 (en) 2002-03-28 2012-01-24 Cypress Semiconductor Corporation External interface for event architecture
US7308608B1 (en) 2002-05-01 2007-12-11 Cypress Semiconductor Corporation Reconfigurable testing system and method
US20040205469A1 (en) * 2002-06-19 2004-10-14 Mellor Nathan D. Method for processing a rule using computer-independent program instructions and computer for use therewith
US7761845B1 (en) 2002-09-09 2010-07-20 Cypress Semiconductor Corporation Method for parameterizing a user module
AU2002951709A0 (en) * 2002-09-26 2002-10-17 Canon Information Systems Research Australia Pty Ltd Efficient printing of frames pages
CA2409079A1 (en) 2002-10-21 2004-04-21 Ibm Canada Limited-Ibm Canada Limitee Creating multiple and cascading business interpretations from raw application data using transformation layering
JP2004185541A (ja) * 2002-12-06 2004-07-02 Minolta Co Ltd デバイス管理装置
JP4179013B2 (ja) * 2003-03-24 2008-11-12 富士ゼロックス株式会社 指示書管理システム
EP1623338A2 (en) * 2003-05-05 2006-02-08 Arbortext, Inc. System and method for defining specifications for outputting content in multiple formats
EP1475722A1 (de) * 2003-05-06 2004-11-10 Rudi Warttmann Drucksteuersystem
US7880909B2 (en) * 2003-05-20 2011-02-01 Bukowski Mark A Extensible framework for parsing varying formats of print stream data
JP3793181B2 (ja) * 2003-08-08 2006-07-05 キヤノン株式会社 データ処理装置および印刷制御方法およびコンピュータが読み取り可能なプログラムを格納した記憶媒体およびプログラム
US20050157341A1 (en) * 2004-01-16 2005-07-21 Levine Jonathan D. Common normal format and associated system providing a single, robust, universal workflow for the creation, printing, and binding of hardcopy books, and for the accessibility and delivery of electronic books
US7295049B1 (en) 2004-03-25 2007-11-13 Cypress Semiconductor Corporation Method and circuit for rapid alignment of signals
US7436546B2 (en) * 2004-05-07 2008-10-14 Infoprint Solutions Company, Llc Method and apparatus for color management
US7430063B2 (en) * 2004-05-07 2008-09-30 Infoprint Soultions Company, Llc Method and apparatus for color management
EP1754136A4 (en) * 2004-05-12 2007-12-05 Samsung Electronics Co Ltd METHOD AND DEVICE FOR DIRECT PRINTING
CA2566483A1 (en) 2004-05-12 2005-11-17 Samsung Electronics Co., Ltd. Method of providing multimedia data for direct printing, direct printing method and apparatus thereof
US8069436B2 (en) 2004-08-13 2011-11-29 Cypress Semiconductor Corporation Providing hardware independence to automate code generation of processing device firmware
US8286125B2 (en) 2004-08-13 2012-10-09 Cypress Semiconductor Corporation Model for a hardware device-independent method of defining embedded firmware for programmable systems
CN100424680C (zh) * 2004-09-09 2008-10-08 佳能株式会社 加密打印处理方法和装置
US7332976B1 (en) 2005-02-04 2008-02-19 Cypress Semiconductor Corporation Poly-phase frequency synthesis oscillator
US8185820B1 (en) * 2005-04-06 2012-05-22 Adobe Systems Incorporated System and/or method for document generation
US7400183B1 (en) 2005-05-05 2008-07-15 Cypress Semiconductor Corporation Voltage controlled oscillator delay cell and method
US20060271850A1 (en) * 2005-05-06 2006-11-30 Didier Gombert Method and apparatus for transforming a printer into an XML printer
US8089461B2 (en) 2005-06-23 2012-01-03 Cypress Semiconductor Corporation Touch wake for electronic devices
US7761864B2 (en) 2005-08-09 2010-07-20 Intermec Ip Corp. Method, apparatus and article to load new instructions on processor based devices, for example, automatic data collection devices
US20070130513A1 (en) * 2005-12-05 2007-06-07 Xerox Corporation Printing device with an embedded extensible stylesheet language transform and formatting functionality
US8984397B2 (en) * 2005-12-15 2015-03-17 Xerox Corporation Architecture for arbitrary extensible markup language processing engine
US8085067B1 (en) 2005-12-21 2011-12-27 Cypress Semiconductor Corporation Differential-to-single ended signal converter circuit and method
US9286272B2 (en) * 2005-12-22 2016-03-15 Xerox Corporation Method for transformation of an extensible markup language vocabulary to a generic document structure format
US8067948B2 (en) 2006-03-27 2011-11-29 Cypress Semiconductor Corporation Input/output multiplexer bus
JP4262270B2 (ja) * 2006-08-03 2009-05-13 キヤノン株式会社 情報処理装置及び印刷装置制御方法
US8944332B2 (en) 2006-08-04 2015-02-03 Intermec Ip Corp. Testing automatic data collection devices, such as barcode, RFID and/or magnetic stripe readers
US20080043277A1 (en) * 2006-08-18 2008-02-21 Xerox Corporation Printing system and method
TW200830207A (en) * 2006-11-29 2008-07-16 Wingarc Technologies Inc Business form creating system, network system using the same, and business form creating method
US8045187B2 (en) * 2006-11-30 2011-10-25 Canon Kabushiki Kaisha Variable data printing within a print driver
US20070150494A1 (en) * 2006-12-14 2007-06-28 Xerox Corporation Method for transformation of an extensible markup language vocabulary to a generic document structure format
US8026739B2 (en) 2007-04-17 2011-09-27 Cypress Semiconductor Corporation System level interconnect with programmable switching
US7737724B2 (en) 2007-04-17 2010-06-15 Cypress Semiconductor Corporation Universal digital block interconnection and channel routing
US9564902B2 (en) 2007-04-17 2017-02-07 Cypress Semiconductor Corporation Dynamically configurable and re-configurable data path
US8040266B2 (en) 2007-04-17 2011-10-18 Cypress Semiconductor Corporation Programmable sigma-delta analog-to-digital converter
US8130025B2 (en) 2007-04-17 2012-03-06 Cypress Semiconductor Corporation Numerical band gap
US8516025B2 (en) * 2007-04-17 2013-08-20 Cypress Semiconductor Corporation Clock driven dynamic datapath chaining
US9720805B1 (en) 2007-04-25 2017-08-01 Cypress Semiconductor Corporation System and method for controlling a target device
US8266575B1 (en) 2007-04-25 2012-09-11 Cypress Semiconductor Corporation Systems and methods for dynamically reconfiguring a programmable system on a chip
US8065653B1 (en) 2007-04-25 2011-11-22 Cypress Semiconductor Corporation Configuration of programmable IC design elements
US8049569B1 (en) 2007-09-05 2011-11-01 Cypress Semiconductor Corporation Circuit and method for improving the accuracy of a crystal-less oscillator having dual-frequency modes
US8156432B2 (en) 2007-11-14 2012-04-10 Zih Corp. Detection of UTF-16 encoding in streaming XML data without a byte-order mark and related printers, systems, methods, and computer program products
US9448964B2 (en) 2009-05-04 2016-09-20 Cypress Semiconductor Corporation Autonomous control in a programmable system
US8902455B2 (en) 2011-01-25 2014-12-02 Accenture Global Services Limited Formatting data
CN103914933B (zh) * 2012-12-30 2017-06-30 航天信息股份有限公司 一种基于xml技术的发票打印方法和装置
CN104657091B (zh) * 2013-11-20 2018-11-13 航天信息股份有限公司 一种税控系统中模板数据格式化打印方法
CN104679452B (zh) * 2013-12-02 2018-04-20 航天信息股份有限公司 一种税控系统中发票打印数据绑定方法
CN105589686B (zh) * 2014-11-14 2021-03-02 航天信息股份有限公司 WinCE平台下基于模板的信息录入、打印方法和装置
CN104714766B (zh) * 2015-03-12 2017-11-03 福建工程学院 一种web报表浏览器中直接打印的方法
CN111414741B (zh) * 2018-12-19 2022-06-14 北大方正集团有限公司 出版物的版式模板制作方法、装置、设备及介质
CN111142815B (zh) * 2019-12-26 2023-07-14 杭州涂鸦信息技术有限公司 基于b/s的标签打印系统
CN111399786B (zh) * 2020-02-28 2024-03-08 中国平安人寿保险股份有限公司 打印文件的生成方法、装置、终端设备及存储介质
CN111783414A (zh) * 2020-07-20 2020-10-16 上海乾臻信息科技有限公司 标签打印模板生成方法及装置
CN112732205B (zh) * 2020-12-18 2024-06-18 航天信息股份有限公司 通用的打印设备控制方法、电子设备、存储介质及系统
US11681483B2 (en) 2021-11-09 2023-06-20 Kyocera Document Solutions Inc. Built-in print formatting responsive to content

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3580060B2 (ja) 1996-05-09 2004-10-20 富士ゼロックス株式会社 印刷制御装置及び方法
AUPO904597A0 (en) * 1997-09-08 1997-10-02 Canon Information Systems Research Australia Pty Ltd Method for non-linear document conversion and printing
US6247011B1 (en) * 1997-12-02 2001-06-12 Digital-Net, Inc. Computerized prepress authoring for document creation
US6012098A (en) * 1998-02-23 2000-01-04 International Business Machines Corp. Servlet pairing for isolation of the retrieval and rendering of data
US6154738A (en) * 1998-03-27 2000-11-28 Call; Charles Gainor Methods and apparatus for disseminating product information via the internet using universal product codes
US6487566B1 (en) * 1998-10-05 2002-11-26 International Business Machines Corporation Transforming documents using pattern matching and a replacement language
EP1006431A1 (en) 1998-12-02 2000-06-07 Xerox Corporation Printing system and method
DE19922118A1 (de) 1999-05-12 2000-11-23 Oce Printing Systems Gmbh Netzwerk, Interpreter für ein derartiges Netzwerk und Verfahren zum Betreiben eines Netzwerkes
US6763343B1 (en) * 1999-09-20 2004-07-13 David M. Brooke Preventing duplication of the data in reference resource for XML page generation
US6832351B1 (en) * 1999-10-01 2004-12-14 Microsoft Corporation Method and system for previewing and printing customized business forms
US6918084B1 (en) * 2000-05-09 2005-07-12 Sun Microsystems, Inc. Spawning new repository spaces using information provided in advertisement schema messages

Also Published As

Publication number Publication date
JP2005504375A (ja) 2005-02-10
US7733509B2 (en) 2010-06-08
EP1430387B1 (en) 2005-11-23
DE60207593T2 (de) 2006-08-10
CA2446126A1 (en) 2003-04-03
CN100350372C (zh) 2007-11-21
CA2446126C (en) 2009-11-17
DE60207593D1 (de) 2005-12-29
US20030058469A1 (en) 2003-03-27
WO2003027829A1 (en) 2003-04-03
CN1554045A (zh) 2004-12-08
ATE310988T1 (de) 2005-12-15
EP1430387A1 (en) 2004-06-23
TW569129B (en) 2004-01-01
KR100576030B1 (ko) 2006-05-02

Similar Documents

Publication Publication Date Title
KR100576030B1 (ko) 인쇄 시스템, xml 파일의 인쇄 방법 및 컴퓨터 판독 가능 기록 매체
EP1538534A2 (en) Generation of a PPML template from a PDF document
US7278094B1 (en) Variable text processing for an electronic press
US20020111963A1 (en) Method, system, and program for preprocessing a document to render on an output device
US7633638B2 (en) Method and system for data processing
MXPA04001932A (es) Metodo y sistema para mejorar la funcion de copiado de una aplicacion de programa de computadora.
US8582164B2 (en) Generating merged documents
US20070263240A1 (en) Image-Forming Apparatus, Image-Forming Control Method, Image-Forming Control Program Storage Medium, Image-Forming Control Data Signal, And Image-Forming Control Apparatus
US20100195142A1 (en) Print information conversion apparatus, printing apparatus, printing system, and computer readable medium
US7800775B2 (en) Device and method for image processing, as well as device and method for file preparation
US20060271850A1 (en) Method and apparatus for transforming a printer into an XML printer
JP2002236569A (ja) 複合文書をディジタル印刷する方法
US7821666B2 (en) Alternative to pre-printed special forms
US8984397B2 (en) Architecture for arbitrary extensible markup language processing engine
US9626131B2 (en) Print data processing method, print data processing apparatus, and storage medium for processing print data according to print setting information in the print data
US20060242571A1 (en) Systems and methods for processing derivative featurees in input files
KR101174802B1 (ko) 인쇄데이터를 공용파일로 변환할 수 있는 프린터 드라이버및 이를 이용한 프린터제어장치
JP4861841B2 (ja) 印刷データ生成装置、印刷データ生成方法、プリンタドライバプログラム、文書データ生成サーバ、文書データ生成方法、文書データ生成プログラム及び印刷データ生成システム
JP4013748B2 (ja) 文書生成装置
JP5263359B2 (ja) 印刷データ生成装置、印刷データ生成方法、プリンタドライバプログラムおよび印刷データ生成システム
JP5459383B2 (ja) 印刷データ生成装置、印刷データ生成方法、プリンタドライバプログラムおよび印刷データ生成システム
JP2003303063A (ja) 出力制御装置および出力制御方法およびコンピュータが読み取り可能な記憶媒体およびプログラム
JP2004171225A (ja) プリントシステム及びプリントプログラム
KR20050042567A (ko) 메타 파일을 이용한 인쇄 시스템 및 그 인쇄 방법
JP2000285106A (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
FPAY Annual fee payment
FPAY Annual fee payment

Payment date: 20170413

Year of fee payment: 12

LAPS Lapse due to unpaid annual fee