KR101443304B1 - 프린터 에뮬레이션을 위한 시스템 및 방법 - Google Patents

프린터 에뮬레이션을 위한 시스템 및 방법 Download PDF

Info

Publication number
KR101443304B1
KR101443304B1 KR1020127023165A KR20127023165A KR101443304B1 KR 101443304 B1 KR101443304 B1 KR 101443304B1 KR 1020127023165 A KR1020127023165 A KR 1020127023165A KR 20127023165 A KR20127023165 A KR 20127023165A KR 101443304 B1 KR101443304 B1 KR 101443304B1
Authority
KR
South Korea
Prior art keywords
printer
computing device
programming code
label
firmware
Prior art date
Application number
KR1020127023165A
Other languages
English (en)
Other versions
KR20120128663A (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 KR20120128663A publication Critical patent/KR20120128663A/ko
Application granted granted Critical
Publication of KR101443304B1 publication Critical patent/KR101443304B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • 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/1209Improving or facilitating administration, e.g. print management resulting in adapted or bridged legacy communication protocols, e.g. emulation, protocol extension
    • 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/1202Dedicated interfaces to print systems specifically adapted to achieve a particular effect
    • G06F3/1203Improving or facilitating administration, e.g. print management
    • G06F3/1208Improving or facilitating administration, e.g. print management resulting in improved quality of the output result, e.g. print layout, colours, workflows, print preview
    • 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/1224Client or server resources management
    • G06F3/1225Software update, e.g. print driver, modules, plug-ins, fonts
    • 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/1242Image or content composition onto a page
    • G06F3/1243Variable data printing, e.g. document forms, templates, labels, coupons, advertisements, logos, watermarks, transactional printing, fixed content versioning
    • 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/1256User feedback, e.g. print preview, test print, proofing, pre-flight checks
    • 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
    • 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
    • G06F3/1287Remote printer device, e.g. being remote from client or server via internet
    • 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/1297Printer code translation, conversion, emulation, compression; Configuration of printer parameters
    • G06F3/1298Printer language recognition, e.g. programme control language, page description language

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)
  • Quality & Reliability (AREA)
  • Accessory Devices And Overall Control Thereof (AREA)
  • Stored Programmes (AREA)

Abstract

프린터에 접속되지 않은 컴퓨팅 장치 상에서 프린터를 정밀하게 에뮬레이션하기 위한 시스템 및 방법을 제공한다. 컴퓨팅 장치에는, 맞춤형 인쇄 동작을 위해 펌웨어 및 펌웨어와 인터페이싱하는 프로그래밍 코드가 제공된다. 펌웨어는 프린터 및 컴퓨팅 장치에 제공된다. 프로그래밍 코드는 컴퓨팅 장치에 제공되며, 컴퓨팅 장치는 프로그래밍 코드를 실행한다. 프로그래밍 코드는, 프린터가 프로그래밍 코드를 실행하면, 컴퓨팅 장치에 제공된 펌웨어와 인터페이싱하고 컴퓨팅 장치가 프린터를 에뮬레이션하게 한다. 컴퓨팅 장치와 프린터는 접속되어 있지 않다.

Description

프린터 에뮬레이션을 위한 시스템 및 방법{SYSTEM AND METHOD FOR PRINTER EMULATION}
본 발명은 일반적으로 프린터에 관한 것으로서, 더욱 상세하게는, 정밀한 인쇄 에뮬레이션 및 프리뷰 기능을 제공하는 것이다.
라벨, 문서, 데이터 보고서, 또는 기타 포맷화된 출력 등의 전자 파일을 준비하는 데 컴퓨팅 장치를 사용하는 것이 일반적이다. 전자 파일 또는 기타 전자 정보를 출력 장치에 출력하기 전에, 사용자는 문서가 인쇄시 어떻게 보이는지를 미리 보고자 한다. 종래 기술의 많은 소프트웨어 프로그램에서는, 컴퓨팅 장치의 표시 스크린 상에 인쇄된 출력의 프리뷰 표현을 표시하는 "인쇄 프리뷰" 특성을 제시한다. 인쇄 프리뷰 방식의 일례는, 전체 내용이 본 명세서에 참고로 원용되는 "PRINTER AND PRINTING SYSTEM USING THE SAME"이라는 명칭의 일본 특개평 06-110626에 더욱 상세히 개시되어 있다.
JPH06-110626 A
또한, 프린터를 사용하거나 다른 인쇄 출력을 생성하는 애플리케이션을 기입하는 소프트웨어 개발자 및 프로그래머에게는 인쇄 프리뷰 기능이 필요하다. 그러나, 인쇄 프리뷰 기능은 흔히 실제 인쇄 결과를 정밀하게 나타낼 수 없다. 이는 종종 컴퓨팅 장치가 실제 프린터 환경을 정확하게 또는 정밀하게 에뮬레이션할 수 없기 때문이다. 예를 들어, 사용자는 컴퓨팅 장치 상에 특정하고도 미리 알려져 있지 않은 활자체 폰트를 생성하고, 사용자의 워드 프로세싱 소프트웨어 상에 준비되어 있는 문서에서 그 폰트를 사용한다. 컴퓨팅 장치에 접속된 인쇄 장치는 그 폰트의 어떠한 레코드도 갖고 있지 않는다. 이에 따라, 사용자가 인쇄 프리뷰 옵션을 선택하면, 컴퓨팅 장치가 표시 장치 상에 폰트를 표시한다. 그러나, 사용자가 그 폰트를 사용하는 인쇄 작업을 프린터에 출력하면, 프린터는 폰트를 생성할 수 없다. 따라서, 컴퓨팅 장치에 의해 제공되는 인쇄 프리뷰 옵션은 부정확하다. 종래 기술에서는 인쇄된 출력을 정밀하게 프리뷰하기 위해, 사용자가 파일 또는 다른 출력을 물리적으로 인쇄해야 하며, 또는 프린터에 연결할 필요가 있다. 이는 종이 또는 기타 고가의 인쇄 매체를 낭비하며, 시간을 소비하고, 그리고/또는 사용자를 위한 개발 환경을 제한한다.
인쇄된 라벨에 대한 인쇄 출력의 정밀한 프리뷰가 매우 필요하다. 인쇄된 라벨은, 선적 및 발송, 의료용 견본 유리병, 식료품과 제품 목록 등을 비롯한 많은 애플리케이션에서 계속 사용된다. 그러나, 일본 특개평 06-110626과 같은 기존의 해결책에서는, 사용자가 인쇄 장치를 컴퓨팅 장치에 접속해야 한다. 또한, 접속된 인쇄 장치는, 표시를 위해 컴퓨팅 장치에 다시 송신되는 화상 인쇄 화상을 프린터의 화상 버퍼에서 확장하는 특정한 펌웨어를 필요로 한다. 그 결과, 프린터 메모리 자원을 낭비하게 된다.
당업계에서는 인쇄 장치에 접속할 필요 없이 사용자가 인쇄물의 정밀한 표현(representation)을 프리뷰하길 원한다.
이에 따라, 프린터에 접속되지 않은 컴퓨팅 장치 상에서 프린터를 정밀하게 에뮬레이션하기 위한 시스템 및 방법을 제공한다. 컴퓨팅 장치에는 맞춤형 인쇄 동작을 위해 펌웨어 및 펌웨어와 인터페이싱하는 프로그래밍 코드가 제공된다. 또한, 펌웨어는, 프린터와 컴퓨팅 장치에 제공되며, 적어도 하나의 각 애플리케이션 프로그래밍 인터페이스의 기능으로서 프린터와 컴퓨팅 장치의 각각 상에서 동작가능하다. 한 애플리케이션 프로그래밍 인터페이스는 프린터에 제공될 수 있고, 다른 애플리케이션 프로그래밍 인터페이스는 컴퓨팅 장치에 제공될 수 있고, 또는 컴퓨팅 장치와 프린터 모두에 동일한 애플리케이션 프로그래밍 인터페이스를 제공할 수 있다.
프로그래밍 코드는 컴퓨팅 장치에 제공되고, 컴퓨팅 장치는 프로그래밍 코드를 실행한다. 프로그래밍 코드는, 프린터가 프로그래밍 코드를 실행하면, 컴퓨팅 장치에 제공된 펌웨어와 인터페이싱하고, 컴퓨팅 장치가 프린터를 에뮬레이션하게 한다. 또한, 컴퓨팅 장치와 프린터는 접속되지 않는다.
본 발명의 다른 특징과 이점은 첨부 도면을 참조하는 이하의 본 발명의 설명 으로부터 명백해질 것이다.
본 발명을 예시하고자, 현재 바람직한 형태를 도면에 도시하고 있지만, 본 발명은 도시된 구체적인 배치와 수단으로 한정되지 않는다는 점을 이해하기 바란다. 본 발명의 특징과 이점은 첨부 도면을 참조하는 이하의 본 발명의 설명으로부터 명백해질 것이다.
도 1은 일 실시예에 따라 통신 네트워크를 통해 인쇄 환경을 개발하고 에뮬레이션하기 위한 하드웨어 구성의 일례를 도시한 도면;
도 2는 도 1에 도시한 정보 프로세서 및/또는 사용자 워크스테이션의 일례의 기능 요소들을 도시한 도면;
도 3은 정보 프로세서에 제공되며 프린터 애플리케이션을 개발 및/또는 이용하도록 사용가능한 소프트웨어 구성요소들을 도시하는 블록도;
도 4는 프린터에 제공되며 프린터 애플리케이션을 개발 및/또는 이용하도록 사용가능한 소프트웨어 구성요소들을 도시하는 블록도;
도 5는 애플리케이션 개발자의 일 실시예를 나타내며 정보 프로세서 상에 표시되는 표시 스크린의 일례를 도시한 도면;
도 6은 일 실시예에 따라 인쇄 애플리케이션에서의 통합을 위해 고객의 데이터 소스를 업로드하거나 통합하도록 사용가능한 표시 스크린의 일례를 도시한 도면;
도 7은 라벨에 포함되도록 데이터를 통합하는 데이터 라벨 레이아웃의 일례를 도시한 도면;
도 8은 애플리케이션 개발자의 사용을 나타내며 정보 프로세서 상에서 조작가능한 표시 스크린의 일례를 도시한 도면;
도 9는 애플리케이션 개발자의 사용을 나타내며 정보 프로세서 상에서 조작가능한 표시 스크린의 일례를 도시한 도면;
도 10은 물리적 라벨과 태그 프린터와 가상 프린터 에뮬레이터 간의 유사성을 도시한 도면;
도 11은 바람직한 실시예에 따라 제공된 가상 프린터 에뮬레이터 및 대응하는 프리뷰 라벨 출력의 표시의 일례를 도시한 도면;
도 12는 바람직한 실시예에 따라 제공될 가상 프린터 에뮬레이터 및 대응하는 프리뷰 라벨 출력의 표시의 일례를 도시한 도면;
도 13은 바람직한 실시예에 따라 제공된 가상 프린터 에뮬레이터 및 대응하는 프리뷰 라벨 출력의 표시의 일례를 도시한 도면;
도 14는 일 실시예에 포함될 수 있으며 공유 펌웨어를 제공하도록 사용가능한 구성요소들의 일례를 도시하는 블록도;
도 15는 실시예에 따라 하드웨어 구성의 추가 예를 도시한 도면;
도 16은 실시예에 따라 하드웨어 구성의 추가 예를 도시한 도면;
도 17은 고객으로부터 맞춤형 라벨 애플리케이션을 위한 주문을 수신하고 주문을 이행하는 것에 연관된 프로세스를 나타내는 단계들을 도시하는 흐름도.
실시예 1
바람직한 일 실시형태에서, 프린터는, 하나 이상의 애플리케이션 프로그래밍 인터페이스(API)를 통해 조작가능하며 맞춤형 기능 및 확장형 기능을 가능하게 하는 공유되는 프린터 펌웨어의 기능으로서 에뮬레이션된다. 바람직한 일 실시형태에서, 해석 스크립트 언어(LUA; interpreted scripting language)를 사용하여 통합 개발 환경을 통해 펌웨어를 생성하고 맞춤형 인쇄 애플리케이션을 제공한다. 본 발명에 따르면, 프린터의 펌웨어, 하나 이상의 프린터의 API 및/또는 프린터 상에서 개발되고 동작하는 프린터 소프트웨어 애플리케이션 중 적어도 하나는, 컴퓨팅 장치 상에서 동작가능한 통합 개발 환경에서 제공된다. 바람직하게, 통합 환경은 적어도 외관상 프린터에 제공되는 제어 패널을 에뮬레이션하는 그래픽 유저 인터페이스를 포함한다.
따라서, 프린터의 펌웨어, 소프트웨어 애플리케이션, 프린터 API 등의, 프린터 상에서 동작하는 하나 이상의 소프트웨어 프로그램은 컴퓨팅 장치 상에 로딩되고 통합 환경에서 동작한다. 프린터 소프트웨어를 그래픽 유저 인터페이스와 통합함으로써, 프린터 상에서 동작하는 동일한 소프트웨어(예를 들어, 펌웨어, API 및/또는 애플리케이션(들))가 컴퓨팅 장치 상에서도 동작하기 때문에, 인쇄된 출력의 정밀한 인쇄 프리뷰 표현을 사용자에게 제공하게 된다. 바람직하게, 하나 이상의 프린터 API는, 애플리케이션과 공유 펌웨어가 프린터 자체 및 컴퓨팅 장치(예를 들어, MICROSOFT WINDOWS 운영 체제를 동작하는 퍼스널 컴퓨터) 모두 상에서 실행되도록 설계되며, 이에 따라 프린터의 트루(true) 에뮬레이션이 가능해진다. 본 명세서에서는, 적어도 주입된 코드가 하나 이상의 API를 통해 공유 펌웨어 및/또는 개발된 프린터 소프트웨어 애플리케이션의 임의의 부분에 액세스하도록 기능하기 때문에, 신규하고도 비자명성을 갖는 프린터 에뮬레이션을 교시한다.
따라서, 본 명세서에서는, 실제 물리적 프린터에 제공된 것처럼 동일한 방식으로 컴퓨팅 장치 상에서 효과적으로 동작하는 소프트웨어를 교시한다. 사용자는, 특히, 각 프린터를 위한 소프트웨어 개발자는, 표시 장치가 물리적 프린터로부터 별도로 제공되더라도, 사용자의 표시 장치 상에서 인쇄된 출력의 정밀한 프리뷰 뿐만 아니라 프린터의 기능의 정밀한 표현도 본다. 이러한 식으로, 개발 환경은 종래 기술의 인쇄 프리뷰 기능에 관하여 전술한 단점을 겪지 않는다.
일 실시형태에서, 프린터 애플리케이션은, 플랫폼 독립형 언어이며 C 프로그래밍 언어로 개발된 LUA로 기입된다. LUA와의 컴퓨터 및 프린터 상호 작용은 C API 등의 인터페이스를 통해 행해진다. C API를 이용함으로써, LUA 기반 연산들은 프린터 플랫폼 및 컴퓨팅(예를 들어, MICROSOFT WINDOWS) 플랫폼을 비롯한 다양한 플랫폼들 상에서 동일하게 수행된다. 컴퓨팅 장치 상에서 정밀한 프린터 에뮬레이션을 달성하기 위해, C API는 양측 플랫폼 상에서 동일하게 또는 유사하게 기능해야 한다. MICROSOFT WINDOWS 운영 체제를 실행하는 퍼스널 컴퓨터 등의 컴퓨팅 장치 상에서, 파일 시스템은 그 운영 체제에 의해 제공된다. 본 명세서의 교시에 따르면, 파일 시스템 API는 인쇄 장치를 위해 제공된다. 바람직하게, 파일 시스템 API는, 소프트웨어 애플리케이션이 각 플랫폼 상에서 실행될 때 동일한 거동을 보장하도록 양측 플랫폼(예를 들어, 컴퓨팅 장치 및 인쇄 장치) 상에서 사용된다. 바람직하게, 컴퓨팅 장치와 인쇄 장치에는 (당업계에 알려져 있는) LUA 가상 머신 및 C API가 제공되며, 소프트웨어 애플리케이션이 메모리 카드, USB 접속 장치 등의 플랫폼 상에 로딩되고, 네트워크 등을 통해 전달되면, 그 애플리케이션은 C API에 의해 인식되고 일관되게 실행된다. 이에 따라, 애플리케이션은 인쇄 장치 상에서 실행되는 방식과 동일한 방식으로 컴퓨팅 장치 상에서 실행되고, 이에 따라 애플리케이션이 실행되는 것을 관찰하도록 인쇄 장치를 컴퓨팅 장치에 물리적으로 접속할 필요가 없다.
또한, 본 명세서에서 교시하는 것은 인쇄된 출력이 어떻게 보이는지를 관찰하기 위해 라벨 또는 기타 출력을 물리적으로 인쇄해야 하는 종래 기술의 부담을 제거하는 것이다. 예를 들어, 패스트 푸드 레스토랑들의 체인의 소유주는 체인의 복수의 레스토랑의 각각에 대한 포맷화된 라벨들을 각각 생성할 필요가 있다. 소유주는 본 명세서에서의 교시에 따라 통합 개발 플랫폼을 사용하여 라벨들을 설계하고 프리뷰한다. 이후, 소유주는 라벨을 생성하도록 라벨 설계를 체인의 레스토랑들의 각각에 배포한다. 각 레스토랑에서 출력되는 라벨은 소유주에 의해 정밀하게 프리뷰된다. 소유주가 레스토랑에서 사용되는 프린터에 물리적으로 액세스하지 않더라도, 프리뷰는 정밀하다. 따라서, 라벨 생산 작업 흐름은 종래 기술의 라벨 생산 작업 흐름보다 상당히 효율적이다. 또한, 컴퓨팅 장치 상에서 동작하는 통합 환경은, 화상 데이터를 컴퓨팅 장치에 다시 송신하는, 컴퓨팅 장치에 접속된 프린터를 필요로 하지 않는다. 이에 따라, 프린터의 메모리 자원을 아낄 수 있다.
바람직한 일 실시형태에서, 통합 개발 환경은 라벨 등의 출력을 설계 및/또는 개발하도록 동작가능한 그래픽 유자 인터페이스를 포함한다. 바람직하게는, 예를 들어, 데이터 라벨 및 태그 프린터를 설계하기 위한 통합 개발 환경은, 프린터의 제어 패널 등의 프린터의 가상 표현을 제공하는 그래픽 유저 인터페이스와 조합되어 제공된다. 통합 개발 환경 및/또는 프린터를 나타내는 그래픽 유저 인터페이스는 바람직하게 프린터의 펌웨어 및 프린터에 의해 실행되는 하나 이상의 애플리케이션을 포함한다. 따라서, 퍼스널 컴퓨터 등의 컴퓨팅 장치 상에서 동작하며 인쇄 장치에 의해 실행되거나 인쇄 장치 상에서 실행되는 프로그램의 애플리케이션 개발을 용이하게 하는 스크립트 및/또는 코드 라이브러리를 포함하는 애플리케이션 개발 툴이 제공된다. 이는 복수의 당사자에 의한 비집중화된 "로컬' 애플리케이션 개발 등을 위한 접속 능력을 개선한다. 이러한 식으로, 많은 프로그래머는 집중화된 사무실로부터 원격으로 작업할 수 있으며, 특정한 고객 요구에 맞도록 조정된 그리고/또는 맞춤화된 애플리케이션을 생성하기 위해 최종 사용자와 고객에 근접해 있을 필요가 없다. 그 결과, 클라이언트로부터의 요청이 이루어진 때부터 프로그램이 배치되고 고객에 의해 사용되는 때까지를 나타내는 리드 타임(lead time)이 짧아진다. 본 명세서에서의 시스템 및 방법은 고객 및 개발자와의 관계를 더욱 강화한다.
바람직하게는, 인쇄된 라벨 등의 포맷화된 출력의 개발자는 본 명세서의 교시를 이용하여 포맷화된 출력을 위한 애플리케이션을 개발한다. 개발자에게는, 출력을 생성하는 프린터 등의 각 출력 장치의 가상 표현뿐만 아니라 인쇄된 출력의 정밀한 가상 또는 표시된 표현도 제공된다. 예를 들어, 최종 사용자가 라벨을 인쇄하도록 프린터에 제공된 프린터 제어 패널(예를 들어, LCD 및 키보드/키패드)의 표현을 포함하는 그래픽 유저 인터페이스가 개발자에게 제공된다. 이러한 식으로, 개발자는 특정한 프린터 또는 기타 출력 장치가 최종 사용자에 대하여 어떻게 응답하는지를 시험할 수 있다. 예를 들어, 개발자는 최종 사용자에 의해 선택되는 하나 이상의 키에 응답하여 프린터가 어떻게 거동하는지를 프리뷰할 수 있다. 또한, 개발자에게는, 최종 사용자에 의해 선택되는 하나 이상의 키에 응답하여, 인쇄 장치에 제공된 액정 디스플레이(LCD) 또는 기타 디스플레이의 정밀한 표현이 제공된다. 또한, 개발자에게는, 프린터가 제공할 물리적 출력의 정밀한 표현이 제공된다. 이러한 식으로, 본 명세서는, 개발자의 컴퓨팅 장치 상에 프린터 주요 동작 및 LCD 또는 기타 디스플레이 결과뿐만 아니라 인쇄 장치로부터의 출력 결과도 시뮬레이션하고 정밀하게 나타내는 것을 교시한다. 이는 인쇄 장치에 있는 펌웨어를 개발자의 컴퓨팅 장치에 제공함으로써 적어도 부분적으로 가능하다. 이러한 식으로, 물리적 출력(즉, 인쇄) 환경은, 출력 장치나 프린터를 개발자의 컴퓨팅 장치에 물리적으로 연결할 필요 없이, 정밀하게 표현된다. 개발자를 위한 다른 이점은, 애플리케이션 (또는 주입된) 기능을 개발하는 경우, 디버깅이 컴퓨터 상에서 행해져, 시간이 소모되는 다운로드 및 시험 인쇄를 제거하거나 줄일 수 있다는 점이다.
따라서, 예를 들어, 전용 프린터 제어 및 동작을 위해 개발된 소프트웨어의 결과를 정밀하게 나타내도록 개발자의 컴퓨팅 장치에 프린터의 펌웨어 소스 코드를 제공함으로써, 복수의 인쇄 해결책을 제공한다.
이제, 유사한 참조 번호가 유사한 요소를 나타내는 도면을 참조해 보면, 도 1은 통신 네트워크를 통해 인쇄 환경을 개발 및 에뮬레이션하기 위한 일 실시형태에 따른 하드웨어 구성의 일례로서, 본 명세서에서 일반적으로 시스템(100)으로서 참조되는 하드웨어 구성을 도시한다. 시스템(100)은, 바람직하게, 인터넷 웹 서버와 데이터베이스 파일 서버로서 동작하도록 구성될 수 있으며 통신 네트워크(106)에 액세스하고 사용자 워크스테이션(들)(104)과 통신하도록 프로그래밍되고 구성된 적어도 하나의 정보 프로세서(102)를 포함한다. 사용자 워크스테이션들(104) 및 정보 프로세서(들)(102)는 알려져 있는 통신 프로토콜, 즉, TCP/IP(Transmission Control Protocol/Internet Protocol)를 통해 통신할 수 있다. 도 1에 도시한 예에서, 정보 프로세서(102)에는, 당업자에게 알려져 있는 바와 같이 LUA 프로그래밍 언어로 애플리케이션을 개발하도록 통합 개발 프로그래밍 환경(IDE)이 제공된다. 정보 프로세서(102)는, 본 명세서의 교시를 지지하는 데 필요한 모든 데이터베이스에 대한 액세스를 제공받거나 이러한 액세스를 갖는다. 또한, 정보 프로세서(102)에는 바람직하게 프린터(108) 상에 설치되어 있는 프린터 펌웨어가 제공된다. 그러나, 정보 프로세서(102)가 연결될 수 있는 통신 네트워크(106) 또는 다른 임의의 통신 네트워크를 통해 요구되는 임의의 데이터베이스에 정보 프로세서(102) 및/또는 워크스테이션(104)이 액세스하는 것을 고려할 수 있다. 통신 네트워크(106)는 인터넷 등의 글로벌 공중 통신 네트워크가 바람직하지만, 광역 통신망(WAN), 근거리 통신망(LAN), 인트라넷, 또는 컴퓨팅 장치와 주변 장치가 통신하게 할 수 있는 다른 네트워크일 수 있다.
바람직한 일 실시형태에서, 정보 프로세서(102) 및 사용자 워크스테이션(104)은, 통신 네트워크(106), 예를 들어, 메인프레임 컴퓨터, 미니 컴퓨터, 퍼스널 컴퓨터, 랩톱 컴퓨터, 퍼스널 디지털 어시스턴트(PDA), 셀룰러 전화, 및 웹 TV 등의 인터넷 액세스 장치를 통해 데이터를 송수신할 수 있는 임의의 컴퓨터 판독가능 매체 장치들이다. 또한, 정보 프로세서(102)에는 바람직하게 MICROSOFT INTERNET EXPLORER, MOZILLA FIREFOX 등의 웹 브라우저 소프트웨어가 설치된다. 정보 프로세서(102)는 알려져 있는 임의의 데이터 통신 네트워킹 기술을 이용하여 통신 네트워크(106)에 연결된다.
도 1에는, 바람직하게 라벨 및 태그 프린터이며 정보 프로세서(102)로부터 수신되는 데이터의 태그와 라벨을 인쇄하도록 동작가능한 프린터(108)도 도시되어 있다. 프린터(108)에는, 정보 프로세서(102)에 더하여 또는 정보 프로세서 없이 또는 정보 프로세서와 함께 프린터(108)를 이용한 입력과 출력 기능이 가능하도록 키보드와 디스플레이가 제공될 수 있다. 프린터(108)를 사용하는 사용자로부터 신호를 수신하고 해석(즉, 판독)하도록 조작가능한 키보드(11)를 바람직하게 제공한다. 키보드는 프린터(108)에 직접 연결되지 않은 외부 키보드 또는 다른 입력 장치일 수 있다. 또한, 프린터(108) 상에 다양한 텍스트 및 그래픽 콘텐츠를 제시하도록 동작하는 디스플레이(112)를 바람직하게 제공한다. 디스플레이는 프린터(108)에 부착된 (도시하지 않은) 외부 디스플레이일 수 있다. 바람직하게, 디스플레이(112)는 서로 다른 많은 기입 언어들에 대하여 폰트와 코딩 유형의 넓은 선택을 갖는다.
도 2는 소프트웨어 코드를 실행하고 정보 프로세서(102)의 동작을 제어하는 데 사용되는 하나 이상의 중앙 처리 유닛(CPU; 202)을 포함하는 정보 프로세서(102) 및/또는 사용자 워크스테이션(104)의 일례의 기능 요소들을 도시한다. 다른 요소들은, ROM(204), RAM(206), 통신 네트워크를 통해 다른 컴퓨팅 장치에 대하여 데이터를 송수신하기 위한 하나 이상의 네트워크 인터페이스(208), 프로그램 코드 데이터베이스와 애플리케이션 데이터를 저장하기 위한 하드 디스크 드라이브, 플로피 디스크 드라이브, 테이프 드라이브, CD ROM 또는 DVD 등의 저장 장치(210), 키보드, 마우스, 트랙 볼, 마이크로폰 등의 하나 이상의 입력 장치(212), 및 디스플레이(214)를 포함한다. 또한, 기능 요소들(202 내지 214) 중 하나 이상은 적절히 구성될 수 있고 또는 프린터(108)에 제공될 수도 있다.
정보 프로세서(102) 및/또는 워크스테이션(104)의 다양한 구성요소들은 동일한 섀시 내에 물리적으로 포함될 필요가 없으며 단일 위치에 있을 필요도 없다. 예를 들어, 저장 장치(210)는 정보 프로세서(102)의 나머지 구성요소들로부터 이격되어 있는 사이트에 위치할 수 있고, 네트워크 인터페이스(208)를 통해 통신 네트워크(106)에 걸쳐 CPU(202)에 접속될 수도 있다. 정보 프로세서(102) 및/또는 사용자 워크스테이션(104)은, 바람직하게, 필요한 데이터베이스, 포럼, 및 기타 통신 서비스를 제공하도록 충분한 용량의 메모리를 포함하고, 또한 하이퍼텍스트 마크업 언어(HTML), 자바 애플릿, 액티브-X 제어 프로그램을 통신하기 위한 웹 서버로서 기능한다. 정보 프로세서(102) 및/또는 사용자 워크스테이션(104)은, 예를 들어, 예상되는 운영 환경에 적절한 도 2에 도시한 구성요소들과 함께 배치된다. CPU(202), 네트워크 인터페이스(208), 메모리, 및 저장 장치는, 용량들을 배치하여 예상되는 요구를 수용하는 것을 보장하도록 선택된다.
본 발명의 특성은, 컴퓨터 실행가능 코드(즉, 소프트웨어)를 기입하는 당업자가 LUA, C, C++, C#, Visual Basic, JAVA, HTML, XML, ACTIVE SERVER PAGES, JAVA server pages, servlets, MYSQL, 및 PHP를 포함한 유명한 컴퓨터 프로그래밍 언어들, 스크립트 언어들, 및 개발 환경의 조합 중 하나 이상을 이용하여 본 명세서에서 설명하는 기능들을 구현할 수 있다는 점이지만, 이러한 예들로 한정되지는 않는다.
본 발명은 본 명세서에서 예를 들어 그리고 웹 브라우저와 웹 사이트 서버(예를 들어, 정보 프로세서(102))를 이용하는 웹 기반 시스템의 관점에서 설명하고 있지만, 시스템(100)은 이러한 구성으로 한정되지 않는다. 프린터(108)가 알려져 있는 임의의 통신 방법을 이용하여, 예를 들어, IPX(Internet Packet Exchange) 등의 랜 프로토콜에 연결된 넌-인터넷 브라우저 WINDOWS 뷰어, 다이얼업, 제삼자, 사설 네트워크 또는 부가 가치 네트워크(VAN)를 이용하여 정보 프로세서(102) 및/또는 사용자 워크스테이션(104)으로부터 수신되는 데이터와 통신하고 이러한 데이터를 출력하도록 시스템(100)을 구성하는 것을 고려할 수 있다.
또한, 정보 프로세서(102) 상에 임의의 적절한 운영 체제, 예를 들어, DOS, WINDOWS 3.x, WINDOWS 95, WINDOWS 98, WINDOWS NT, WINDOWS 2000, WINDOWS ME, WINDOWS CE, WINDOWS POCKET PC, WINDOWS XP, MAC OS, UNIX, LINUX, PALM OS, POCKET PC, 및 다른 임의의 적절한 운영 체제를 사용하는 것을 고려할 수 있다.
바람직한 일 실시형태에서, 프린터(108) 애플리케이션은 LUA 프로그래밍 언어로 개발된다. 바람직한 일 실시형태에 따르면, 애플리케이션들에 제공되는 LUA 프로그래밍 문들을 처리하도록 동작가능한 LUA 해석기가 포함된다. 통상적인 고 레벨 프로그래밍 언어와는 달리, LUA는 스크립트 언어이며 기본적인 프로그래밍 언어가 아니다. 본 명세서의 교시에 따라, 프린터 펌웨어와 인터페이싱하며 LUA 해석기에 의해 해석되는 LUA 언어에 대한 확장인 프린터 API를 구현한다. 이는 더욱 향상되고 복잡한 애플리케이션이 함수 호출 등을 통해 개발될 수 있게 한다. 또한, 단일 변경을 구현하기 위해 각 펌웨어 애플리케이션의 완전한 덮어쓰기를 요구하는 종래 기술의 라벨 및 태그 프린터와는 대조적으로, LUA 프로그래밍 언어에 대한 확장인 API를 구현함으로써, 프린터(108) 기능의 일부를 수정할 수 있다.
도 3 및 도 4는 정보 프로세서(102) 및 프린터(108)에 각각 제공되며 프린터 애플리케이션들을 개발 및/또는 사용하는 데 적절한 소프트웨어 구성요소들을 도시하는 블록도이다. 도 3에서, 정보 프로세서(102)는 박스(102)로 표현되어 있으며, 운영 체제(302)(예를 들어, MICROSOFT WINDOWS)를 포함한다. 애플리케이션 개발자(304)는, 예를 들어, LUA 프로그래밍 언어로 개발되며 라벨 등의 포맷화된 출력을 인쇄하기 위한 하나 이상의 프린터(108)에 사용가능한 새로운 프린터 애플리케이션을 개발하거나 기존의 프린터 애플리케이션을 수정하기 위한 통합 개발 환경을 포함한다. 정보 프로세서(102)는, 예를 들어, 애플리케이션 개발자(304)를 통해 정보 프로세서(102) 상에 배치된 프린터 애플리케이션을 실행하는 프린터(108)의 가상 표현을 제공하도록 동작가능한 가상 프린터 에뮬레이터(306)를 더 포함한다. 전술한 바와 같이, 프린터(108)의 펌웨어는, 바람직하게 에뮬레이터(306)가 애플리케이션이 실행되고 있는 동안 프린터(108)가 기능하는 방식 및 인쇄 출력을 정밀하게 표현할 수 있게 하는 정보 프로세서(102)에 제공된다. 또한, 정보 프로세서(102)는 API 및 프린터 애플리케이션(310)을 포함한다.
도 4에서, 라벨 및 태그 프린터 등의 프린터(108)는 박스(108)로 표현되며, 인쇄 장치에 특정되며 정보 프로세서(102)와 공유되지 않는 펌웨어(312)를 포함한다. 또한, 프린터(108)에는, 프린터(108)에 특정되지만 정보 프로세서(102) 상에서도 동작하고 프린터 에뮬레이터(306)가 정밀해질 수 있게 하는 공유 펌웨어(308)가 제공된다. 전술한 바와 같이, 프린터(108)의 펌웨어는, 바람직하게, 에뮬레이터(306)가 애플리케이션이 실행되고 있는 동안 프린터(108)가 기능하는 방식 및 인쇄 출력을 정밀하게 표현할 수 있게 하는 정보 프로세서(102)에 제공된다. 또한, 프린터(108)는 API 및 프린터 애플리케이션(310)을 포함한다.
바람직한 일 실시형태에서, 정보 프로세서(102)에는, 예를 들어, 소프트웨어 개발자가 프린터(108)를 위한 인쇄 애플리케이션을 기입하게 할 수 있는 애플리케이션 개발자(304)와 프린터 에뮬레이터(306)가 제공된다. 도 5는 정보 프로세서(102) 상에 표시되며 애플리케이션 개발자(304)의 일 실시형태를 나타내는 표시 스크린(400)의 일례를 도시한다. 도 5에 도시한 예에서, 애플리케이션 개발자(304)는 통합 개발 환경(IDE)으로서 제공되며, 프린터(108) 상에 복수의 라벨을 출력하기 위한 라벨 애플리케이션을 개발하도록 사용된다. 도 5에 도시한 바와 같이, 테이블 섹션(402)은, 라벨 상에 인쇄될 정보를 저장하고 있는 하나 이상의 데이터 테이블의 리스트를 제공한다. 옵션 섹션(404)은, 데이터 필드 엔트리, 라벨 레이아웃 옵션, 및 데이터 소스를 포함하는 추가 애플리케이션 개발 선택을 포함한다. 도 5에 도시한 예에서는, "테이블" 옵션(406)이 선택된다.
계속해서 도 5를 참조해 보면, 라벨 포맷 섹션(408)은, 예를 들어, 프린터(108) 상에 출력할 라벨을 설계하기 위한 옵션을 제공하는 상호 작용형 그래픽 스크린 제어를 포함한다. 도 5에 도시한 예에서, 라벨은 소매상 회사용으로 설계되고 있으며, 각 라벨은 제품 AGAM용으로 개발된다. 옵션은, 특히, 폰트 타입, 라인, 박스 등을 위해 제공된다. 데이터 테이블 섹션(410)은 설계된 라벨 내에 포함되도록 사용되는 정보의 각 테이블의 디스플레이를 포함한다. 바람직한 일 실시형태에서, 데이터 테이블 또는 정보의 다른 포맷화된 소스는 FTP, 이메일, 물리적 디스크 또는 드라이브 등을 통해 정보 프로세서(102)에 제공된다. 이러한 식으로, 라벨 데이터의 비집중화 소스는, 라벨들이 결국 인쇄 및/또는 사용될 위치 근처에 라벨 애플리케이션 프로그래머가 물리적으로 위치할 필요 없이, 관리될 수 있다.
계속해서 도 5를 참조해 보면, 코드 생성 섹션(412)은 정보 프로세서(102)의 사용자가 인쇄 애플리케이션에 포함된 프로그래밍 코드를 기입하도록 제공된다. 도 5에 도시한 예에서는, LUA 프로그래밍 문들이 표시되고, 라벨에 포함될 색 옵션을 제공하는 데 사용된다. 그래픽 라벨 개발 플랫폼에서 프로그래밍 코드 개발을 통합함으로써, 개발자를 위한 편리한 옵션이 인쇄 애플리케이션을 정밀하고도 빠르게 개발할 수 있다. 또한, 특성 섹션(414)은 라벨 등의 인쇄 출력에서 보이는 외관 및 데이터를 제어하기 위한 옵션을 포함한다. 도 5에 도시한 예에서는, "Agam"이라는 단어가 특성 섹션(414)에서 X:Y 좌표(153, 86)에서 폰트 타입, Sans Bold 폰트, 12 포인트 이도록 선택되고 식별되고, 라벨을 위한 데이터는 테이블 섹션(402)에 표시된 바와 같은 테이블로부터 제공된다.
따라서, 표시 스크린(400)의 예에서 도시된 바와 같이, 애플리케이션 개발자(304)를 나타내는 통합 개발 환경은 라벨 등의 포맷화된 인쇄 출력을 위한 애플리케이션을 개발하도록 사용가능하다.
본 명세서에서 언급한 바와 같이, 맞춤형 데이터 라벨 등의 인쇄를 위해 사용가능한 프로그래밍 애플리케이션은 물리적으로 서로 가까이 있어야 하는 당사자들에 의해 종래 기술에서 개발되었다. 개발자들은 출력을 시험하고 필요시 애플리케이션을 수정하기 위해 최종 사용자의 데이터에 대한 액세스를 필요로 했으며 또한 최종 사용자의 인쇄 장치(108)에 물리적으로 접속되어야 했다. 본 명세서의 교시에 따르면, 개발자들은 최종 사용자의 프린터(108)에 더 이상 물리적으로 묶여 있을 필요가 없으며, 대신에, 최종 사용자의 데이터와 통합되며 또한 최종 사용자의 사이트로부터 떨어져 시험 및 평가될 수 있는 인쇄 애플리케이션을 원격으로 개발할 수 있다.
도 6은 인쇄 애플리케이션을 위한 고객의 데이터를 업로드하거나 통합하도록 사용가능한 표시 스크린(500)의 일례를 도시한다. 데이터 패키지 섹션(502)은, 애플리케이션 개발자를 위해 이용가능한 옵션의 예를 도시하며, 포맷팅, 데이터 소스, 화상, 프로파일, 폰트 등에 대한 옵션 및 시스템 옵션을 포함한다. 다른 옵션은, 다른 언어들에 대한 변환 테이블, 선택가능 자원들, 미리 정의된 설정, 및 누적 값들을 위한 저장부를 비롯한 전력 중단 저장소에 대한 빠른 액세스를 제공하는 함수 키 지원(예를 들어, F1)을 포함할 수 있다.
테이블 섹션(504)은 클라이언트로부터 임포트된 데이터 테이블의 일례를 도시하며, 제품 코드, 제품명, 제조사 코드, 및 색 코드에 대한 데이터를 포함한다. 일단 임포트되면, 데이터는 데이터 라벨 등의 맞춤형 인쇄 애플리케이션을 위해 사용가능하며, 또한 일례로 고객을 위해 사용가능하다.
도 7은, 예를 들어, 테이블 섹션(504)(도 6)에 도시된 테이블에서, 제공된 데이터를 인쇄하는 데이터 라벨 레이아웃(600)의 일례를 도시한다. 도 7에 도시한 바와 같이, 제조 코드, 색 코드, 및 제품 코드 등의 복수의 데이터 값을 포함하는 바코드가 제공된다. 또한, 데이터 라벨은, 예를 들어, 기입된 단어들을 나타내도록 그 기입된 단어를 포함한다. 또한, 클라이언트 회사로부터 임포트된 맞춤형 로고가 라벨에 포함될 수 있다.
도 8은 정보 프로세서(102) 상에서 동작가능하며 애플리케이션 개발자(304)의 다른 사용을 나타내는 표시 스크린(700)의 일례를 도시한다. 도 8에 도시한 예에서, 애플리케이션 개발자(304)는 음식 제공자를 위한 데이터 라벨을 개발하는 데 사용된다. 테이블 섹션(410)에 도시한 바와 같이, 도시된 데이터는 음식에 관한 것이며, 사과 파이, 베이컨, 및 기타 음식을 포함한다. 대응하는 데이터는, 각 음식이 해동되는 데 필요한 시간량, 특정 음식의 유통 기한이 얼마나 오래가는지 등에 대하여 제공된다. 라벨 포맷 섹션(408)에서, 데이터의 제1행에 있는 데이터 중 일부는 사과 파이에 대하여 예시되어 있다. 라벨에 포함되도록 프로그래머에 의해 선택된 각 데이터 필드들은 음식의 명칭, "pull" 날짜 및 시간, "thaw" 날짜 및 시간, "discard" 날짜 및 시간이다. 데이터 라벨들이 고객에 의해 인쇄되면, 데이터 테이블 섹션(410)으로부터의 데이터의 각 행들의 각각으로부터의 대응 정보가 라벨들에 출력된다. 표시 스크린(700)의 예에서, 코드 생성 섹션(412)은 표시되지 않으며, 이는 애플리케이션 개발자(304)의 유연성을 더 도시한다. 애플리케이션 개발자(304)의 섹션들(408, 410, 412) 등은, 예를 들어, 사용자가 하나 이상의 그래픽 스크린 제어(예를 들어, 체크박스, 탭, 무선 버튼 등)를 간단히 선택함으로써, 표시되거나 볼 수 없도록 숨겨질 수 있다.
도 9는 정보 프로세서(102) 상에서 동작가능하며 애플리케이션 개발자(304)의 다른 사용을 나타내는 표시 스크린(800)의 일례를 도시한다. 도 9에 도시한 예에서, 애플리케이션 개발자(304)는 스포츠 장비 소매상을 위한 데이터 라벨을 개발하는 데 사용된다. 표시 스크린(800)의 예에서, 사용자는 제품 화상, 바코드, 브랜드 설명, 제품 설명, 최초 판매 가격, 및 현재 판매 가격을 포함하는 복수의 구성요소를 포함하는 데이터 라벨을 설계하고 있다. 또한, 라벨은, 바람직하게, 대각선 텍스트 출력, 각 폰트 타입 및 포인트 크기 등을 이용하는 방식을 비롯하여 그래픽으로 매력적인 방식으로 포맷화된다. 표시 스크린(800)의 예에서, 데이터 테이블 섹션(410)과 코드 생성 섹션(412)은 표시되지 않는다. 사용자가 그러한 섹션들의 표시를 턴오프할 수 있게 함으로써, 사용자는 표시 스크린(800)을 소모하는 프로그래밍 코드 및 데이터의 온갖 채움 없이 자신의 관심을 라벨의 그래픽 개발에 집중할 수 있다.
전술한 바와 같이, 애플리케이션 개발자(304)에 더하여, 실제 물리적 프린터(108)에 제공된 소프트웨어와 동일한 방식으로 정보 프로세서 상에서 효과적으로 동작하는 소프트웨어가 포함된다. 이는, 표시 장치가 물리적 프린터로부터 별도로 위치하고 있더라도, 사용자가 자신의 표시 장치 상에서 인쇄된 출력의 정밀한 프리뷰 뿐만 아니라 프린터의 정밀한 표현도 볼 수 있게 한다.
도 10은 물리적 프린터(108)와 프린터 에뮬레이터(306) 간의 유사성을 도시한다. 도 10의 좌측에는 키보드(110)와 디스플레이(112)를 포함하는 프린터(108)를 도시한다. 마찬가지로, 프린터 에뮬레이터(306)는 섹션들(110, 112)을 포함하는 프린터(108)의 가상 표현을 포함한다. 바람직한 일 실시형태에서, 프린터 에뮬레이터(306)의 제어 및 표시 모두는 프린터(108) 상에서 동작하는 것처럼 동작하고, 프린터(108)와 에뮬레이터(306) 모두에 제공되어 있는 공유 펌웨어(308)의 기능으로서 정밀하게 동작한다. 또한, 도 10에는, 애플리케이션 개발자(304)를 통해 제공되며 바람직하게 디스플레이(112)에 키보드(110)를 통해 선택될 수 있는 프롬프트를 포함하는 애플리케이션의 일례를 도시하고 있다.
도 11 내지 도 13은 바람직한 실시형태들에 따라 제공되는 프린터 에뮬레이터(306)의 디스플레이(1002, 1006, 1008) 및 대응하는 프리뷰 라벨 출력의 예를 각각 도시한다. 도 11 내지 도 13에 도시한 바와 같이, 프린터 에뮬레이터(306)는 표시 스크린들(1002, 1006, 1008)의 좌측에 제공되며, 프리뷰 라벨 출력(1004)은 우측에 제공된다. 표시 스크린들(1002, 1006, 1008)의 각각은 서로 다른 사용자들을 위한 라벨들을 출력하는 프린터(108)의 가상 표현을 나타낸다. 예를 들어, 표시 스크린(1002)은 스포츠 장비 제공자를 위해 생성된 라벨들을 나타낸다. 표시 스크린(1006)은 음식 제공자를 위해 생성된 라벨들을 나타내고, 표시 스크린(1008)은 소매점을 위해 생성된 라벨들을 나타낸다. 표시 스크린들(1002, 1006, 1008)의 각각은, (표시 스크린(1002)에 도시한 바와 같은) 복수의 라벨, (표시 스크린(1006)에 도시한 바와 같은) 복수의 라벨 유형, 및 (표시 스크린(1008)에 도시한 바와 같은) 복수의 제품용 라벨들을 비롯하여 본 명세서의 교시에 따라 제공될 수 있는 출력을 예시한다. 섹션(1004)에 표시된 출력은, 적어도 정보 프로세서(102)와 프린터(108) 모두 상에 제공되어 있는 공유 펌웨어의 결과로 프린터(108)에 의해 생성되는 실제 출력의 정밀한 표현이다.
도 14는 일 실시형태에 포함될 수 있으며 공유 펌웨어(308)를 제공하도록 사용가능한 구성요소들의 예를 도시하는 블록도(1100)이다. 도 14에 도시한 바와 같이, LUA 가상 머신(VM)(1106)과 인터페이싱하는, 표준 LUA API(1102) 및 맞춤형 LUA 프린터 API(1104)가 제공된다. 인쇄 엔진 섹션(1108)에서는, 모터 제어, 센서 제어, 및 열 프린트헤드(TPH) 제어를 포함한 프린터(108)에 관한 구성요소들이 열거된다. 장치 섹션(1110)에서는, 통신 인터페이스(I/F), 키보드, 및 디스플레이가 열거된다. 렌더 엔진 섹션(Render engine section; 1112)은 폰트 스케일러, 폰트 래퍼, 코드 페이지, 화상, 바코드 래퍼 및 라인을 포함한다. 바코드 라이브러리 섹션(114)은 각 바코드에 대한 렌더링 및 비트맵 폰트를 더 포함할 수 있다. 파일 시스템 섹션(116)은 바람직하게 ROM, RAM, 플래시 드라이브, SD 카드 래퍼를 포함한다. SD 카드 파일 시스템(1118)을 더 제공할 수 있다. 소프트웨어 라이브러리(C)(120)가 더 포함되며, 맞춤형 기입 함수들일 수 있는 "malloc" 및 "printf" 등의 맞춤형 라이브러리 구성요소들을 포함한다. 또한, 섹션(1122)에는 실시간 운영 체제 및 하드웨어가 제공된다. 이러한 구성요소들을, 정보 프로세서(102)에 바람직하게 제공되며 프로그래머를 위한 프린터 에뮬레이션 및 정밀한 인쇄 프리뷰를 제공하도록 사용가능한 펌웨어용 빌딩 블록으로서 사용한다.
도 15 및 도 16은 실시형태들에 따른 하드웨어 구성의 추가 예를 도시하고, 프린터(108)에는, 예를 들어, 애플리케이션 개발자(304)에 의해 개발된 애플리케이션이 제공된다. 도 15에 도시한 예에서는, 데스크톱 프린터(108)의 사용을 지원하는 구성이 도시되어 있다. 정보 프로세서(102), 사용자 워크스테이션(104), 통신 네트워크(106), 프린터(108), 키보드(110), 및 디스플레이(112)에 더하여, 스케일(1204)이 도시되며, 프린터(108)에 의해 생성되는 라벨에 포함될 음식 또는 제품의 무게를 나타내는 정보를 송신하는 데 사용가능하다. 또한, 스캐너 장치(1206)는 기존의 바코드로부터 정보를 얻고 그 정보를 프린터(108)에 송신하는 데 사용가능하다. 다른 데이터 입력 장치들은 키보드(1208) 및 PDA일 수 있는 핸드헬드 장치(1210)를 포함한다. 데이터와 소프트웨어는, 애플리케이션 개발자(304)를 통해 개발된 애플리케이션(1212), 및 특정 기업 고객에 대한 데이터를 저장할 수 있는 데이터베이스(1214)를 저장할 수 있는 정보 프로세서(102)를 통해 제공될 수 있다. 도 15에 도시한 예에서, 애플리케이션은, 식품점, 소매점 또는 기타 사업체 등의 특정한 사이트에서 동작가능하며 사용가능하고, 특정한 사이트에 통상적으로 있는 장치들과 인터페이싱한다. 프린터(108)는, 예를 들어, LUA 해석기를 통해 실행되며 데이터베이스와 또한 인터페이싱할 수 있는 LUA 애플리케이션을 통해, 라벨들을 생성한다.
도 16은 제품 라인 라벨링을 제공하도록 인쇄 및 부착(P&A) 인쇄 환경에서 사용가능한 하드웨어 구성(1216)을 도시한다. 빠르고도 정밀한 데이터 전달 및/또는 인식을 위한 센서(1220)를 포함할 수 있는 제품 라인(1218)이 제공된다.
도 17은 고객으로부터 맞춤형 라벨 애플리케이션을 위한 주문을 수신하고 주문을 이행하여 애플리케이션이 생성되는 것에 연관된 프로세스를 나타내는 단계들(S100)을 도시한 흐름도이다. 단계(S102)에서, 프로세스가 시작되며, 이후 고객은 특정한 라벨 애플리케이션을 공식 요청한다(단계(S104)). 단계(S106)에서, 고객의 요청은, 예를 들어, 프로그래머에게 고객의 요청을 기술적으로 설명할 수 있는 기술 인력에 의해 공식적으로 정의된다. 요청은, 애플리케이션 개발자(304)를 사용하여 맞춤형 애플리케이션을 생성하는 프로그래머에게 송신된다. 단계(S108)에서, 프로그래머는, 예를 들어, 애플리케이션 개발자(304)를 사용하여 라벨 포맷을 설계하고, 프로그램 프롬프트를 생성하고, 필드 및 프롬프트를 데이터 테이블 컬럼들과 연관짓고, 애플리케이션 및 프린터 설정 루틴을 개발하고, 그리고/또는 LUA 스크립트 등의 사용자 사전 정의 함수를 통합한다. 프로그래머는 애플리케이션 개발자(304)를 사용하여 새로운 애플리케이션을 개발할 수 있고, 또는, 기존의 애플리케이션을 수정할 수 있다. 일단 애플리케이션이 개발되면, 애플리케이션은, 예를 들어, 프린터 에뮬레이터(306)를 통해(단계(S110)) 또는 물리적 프린터(108)를 이용하여(단계(S112)) 검증된다. 이후, 단계(S114)에서는, 애플리케이션 변경이 필요한지 여부를 결정한다. 필요하다면, 프로세스는 다시 단계(S108)로 복귀하고 프로그래머는 애플리케이션을 수정한다. 필요하지 않다면, 프로세스는 단계(S116)로 진행하고, 애플리케이션은 SD 카드, 컴팩트 디스크, 또는 기타 매체에 제공된, 통신 네트워크(106)를 통해 송신되는 파일로서 고객에게 전달된다. 고객은 프린터 에뮬레이터(306)를 통해 또는 프린터(108) 상에서 애플리케이션을 검증한다(단계(S118)). 이후, 애플리케이션에 수정이 필요한지 여부를 결정한다(단계(S120)). 필요하다면, 프로세스는 단계(S108)로 복귀하고, 프로그래머는 애플리케이션을 수정하고, 프로세스는 거기서부터 계속된다. 필요하지 않다면, 프로세스는 단계(S122)로 진행하고, 여기서 고객은 애플리케이션을 승인하며, 지불을 행할 수 있으며, 프로세스가 종료된다.
따라서, 본 명세서에서 도시하고 설명한 바와 같이, 본 발명은, 프린터 에뮬레이션 및 프로그램 개발에 관한 종래 기술에 연관된 문제점들을 해결한다. 프린터와 컴퓨팅 장치에 대하여 펌웨어를 공유함으로써, 정밀한 인쇄 출력 프리뷰를 제공하는 것을 비롯하여 정밀한 프린터 에뮬레이션을 얻게 된다. 또한, 프린터 소프트웨어 애플리케이션을 위한 개발 사이클이 상당히 감소되며, 엔지니어 및 프로그래머가 더 이상 최종 사용자의 물리적으로 근처에 위치할 필요가 없다. 종래 기술에선 이용 불가능하던 맞춤형 인쇄 해결책에 대하여, 비집중형이며 개선된 빠르고도 비용 효과적인 해결책을 제공한다. 이는, 파일 시스템에 액세스하고 인터페이싱하여 강력한 프린터 기능, 접속 기능, 및 개선된 폰트 및 코드 페이지 핸들링을 제공할 수 있는 LUA 등의 강력한 프로그래밍 및 스크립트 언어를 사용하기 때문에, 적어도 부분적으로 제공된다. 그 결과, 총 리드 타임이 짧아지고, 고객에게 처음에 제공되는 애플리케이션 해결책이 더욱 정밀해지며, 이는 고객 관계를 개선하고 확고히 한다.
또한, 예를 들어, 다양한 색, 로고, 데이터베이스 정보, 바코드, 및 개선된 작업 흐름을 위한 조작자 시퀀스를 포함할 수 있는 매우 복잡한 인쇄 구성이 이제 가능하며, 특히 라벨에 대하여 가능하다. 고객 데이터베이스에 액세스하거나 고객 데이터베이스를 얻은 후, 그리고 고객 요청이나 요건이 정의된 후, 프로그래머는 본 명세서의 교시를 이용하여, 고객의 데이터와 맞춤 그래픽을 포함하며 애플리케이션에 패키징되어 고객에게 빨리 송신될 수 있는 라벨 포맷을 설계할 수 있다. 또한, 애플리케이션은 프린터 에뮬레이터(306)를 통해 정밀성에 대하여 검증될 수 있다.
일 실시형태에서, 고객은 실질적으로 미리 정의된 기능이 없으며 본질적으로 비어 있는 머신인 프린터를 수용한다. 최종 사용자는 프린터 애플리케이션에 액세스하여 자신의 컴퓨팅 장치를 통해 통신 네트워크에 걸쳐 프린터 애플리케이션을 다운로드한다. 이후, 프린터는 맞춤형 기능을 제공하는 프로그래밍 명령어들을 실행한다.
본 발명을 본 발명의 특정한 실시형태들에 관하여 설명하고 도시하였지만, 많은 다른 변경 및 수정 및 기타 용도는 당업자에게 자명할 것이다. 따라서, 본 발명은 본 명세서의 특정한 개시물에 의해 한정되지 않는 것이 바람직하다.

Claims (21)

  1. 맞춤형 인쇄 동작을 위해 프린터 펌웨어 및 상기 펌웨어와 인터페이싱하는 프로그래밍 코드가 설치되는 컴퓨팅 장치 상에서, 상기 프린터를 에뮬레이션하는 방법으로서,
    상기 프린터와 상기 컴퓨팅 장치에 상기 펌웨어를 제공하는 단계;
    상기 컴퓨팅 장치에 상기 프로그래밍 코드를 제공하는 단계; 및
    상기 컴퓨팅 장치에서 상기 프로그래밍 코드를 실행하는 단계를 포함하되,
    상기 펌웨어는 상기 프린터에 제공된 또는 상기 프린터와 상기 컴퓨팅 장치에 제공된 적어도 하나의 각 애플리케이션 프로그래밍 인터페이스의 기능으로서 상기 프린터와 상기 컴퓨팅 장치의 각각에서 동작가능하며,
    상기 프로그래밍 코드는 상기 컴퓨팅 장치에 제공된 상기 펌웨어와 인터페이싱하고, 상기 컴퓨팅 장치가 상기 프로그래밍 코드를 실행하는 상기 프린터를 에뮬레이션하게 함으로써 프린터 출력과 프린터의 기능을 정밀하게 표시하며,
    상기 컴퓨팅 장치와 상기 프린터는 상호 접속되지 않은 것인, 프린터 에뮬레이션 방법.
  2. 제1항에 있어서,
    상기 프린터에 상기 프로그래밍 코드를 제공하는 단계; 및
    상기 프린터 상에서 상기 프로그래밍 코드를 실행하는 단계를 더 포함하되,
    상기 프로그래밍 코드를 실행하는 상기 프린터는, 상기 컴퓨팅 장치가 상기 프로그래밍 코드를 실행하는 경우, 상기 컴퓨팅 장치에 의해 정밀하게 에뮬레이션되는 것인, 프린터 에뮬레이션 방법.
  3. 제1항에 있어서, 상기 프로그래밍 코드는 라벨 생성 소프트웨어 애플리케이션인 것인, 프린터 에뮬레이션 방법.
  4. 제3항에 있어서, 상기 컴퓨팅 장치는 상기 프로그래밍 코드에 의해 생성되는 가상 라벨을 표시하고, 표시된 라벨은 상기 프로그래밍 코드를 실행하는 상기 프린터의 기능으로서 인쇄된 물리적 라벨과 동일하게 보이는 것인, 프린터 에뮬레이션 방법.
  5. 제3항에 있어서, 상기 컴퓨팅 장치에 통합 개발 환경을 제공하는 단계를 더 포함하되, 상기 통합 개발 환경은 사용자가 상기 프로그래밍 코드를 개발하도록 상기 컴퓨팅 장치를 구성하는 것인, 프린터 에뮬레이션 방법.
  6. 제5항에 있어서, 상기 통합 개발 환경은 사용자가 라벨 포맷을 개발하도록 상기 컴퓨팅 장치를 구성하는 라벨 포맷 섹션을 포함하는 것인, 프린터 에뮬레이션 방법.
  7. 제6항에 있어서, 상기 라벨에 대한 정보의 적어도 하나의 데이터 소스를 제공하는 단계를 더 포함하되, 상기 통합 개발 환경은 상기 라벨이 인쇄 장치에 의해 생성되면 사용자가 상기 라벨에 대한 정보를 제공하도록 상기 컴퓨팅 장치를 추가로 구성하는 것인, 프린터 에뮬레이션 방법.
  8. 제6항에 있어서, 상기 통합 개발 환경에 프로그램 코드 에디터를 제공하는 단계를 더 포함하되, 상기 프로그램 코드 에디터가 제공된 상기 통합 개발 환경은 사용자가 상기 프로그래밍 코드를 개발하도록 상기 컴퓨팅 장치를 추가로 구성하는 것인, 프린터 에뮬레이션 방법.
  9. 제1항에 있어서, 상기 프로그래밍 코드는 스크립트 언어(scripting language)로 기입되는 것인, 프린터 에뮬레이션 방법.
  10. 제1항에 있어서, 상기 컴퓨팅 장치가 상기 프린터를 에뮬레이션하게 되는 경우 상기 프린터의 표현(representation)을 표시하는 단계를 더 포함하는, 에뮬레이션 방법.
  11. 맞춤형 인쇄 동작을 위해 프린터 펌웨어 및 상기 펌웨어와 인터페이싱하는 프로그래밍 코드가 제공되는 컴퓨팅 장치 상에서, 상기 프린터를 에뮬레이션하기 위한 시스템으로서,
    상기 프린터에 제공되거나 상기 컴퓨팅 장치와 상기 프린터에 제공되는 적어도 하나의 각 애플리케이션 프로그래밍 인터페이스;
    상기 프린터와 상기 컴퓨팅 장치에 제공되는 상기 펌웨어;
    상기 컴퓨팅 장치에 제공되는 상기 프로그래밍 코드를 포함하되,
    상기 프린터 펌웨어는 상기 적어도 하나의 각 애플리케이션 프로그래밍 인터페이스의 기능으로서 상기 프린터와 상기 컴퓨팅 장치의 각각에서 동작가능하며,
    상기 프로그래밍 코드는 상기 컴퓨팅 장치 상에서 실행되고, 상기 컴퓨팅 장치에 제공된 상기 펌웨어와 인터페이싱하며, 상기 컴퓨팅 장치가 상기 프로그래밍 코드를 실행하는 상기 프린터를 에뮬레이션하게 함으로써 정밀하게 프린터 출력과 프린터의 기능을 표시하며,
    상기 컴퓨팅 장치와 상기 프린터는 상호 접속되지 않은 것인, 프린터 에뮬레이션 시스템.
  12. 제11항에 있어서, 상기 프린터에도 상기 프로그래밍 코드가 제공되고, 상기 프린터는 상기 프로그래밍 코드를 실행하며, 또한, 상기 프로그래밍 코드를 실행하는 상기 프린터는, 상기 컴퓨팅 장치가 상기 프로그래밍 코드를 실행하는 경우, 상기 컴퓨팅 장치에 의해 정밀하게 에뮬레이션되는 것인, 프린터 에뮬레이션 시스템.
  13. 제11항에 있어서, 상기 프로그래밍 코드는 라벨 생성 소프트웨어 애플리케이션인 것인, 프린터 에뮬레이션 시스템.
  14. 제13항에 있어서,
    상기 컴퓨팅 장치는 상기 프로그래밍 코드에 의해 생성되는 가상 라벨을 표시하고, 표시된 라벨은 상기 프로그래밍 코드를 실행하는 상기 프린터의 기능으로서 인쇄된 물리적 라벨과 동일하게 보이는, 에뮬레이션 시스템.
  15. 제13항에 있어서, 상기 컴퓨팅 장치에 제공되는 통합 개발 환경을 더 포함하되, 상기 통합 개발 환경은 사용자가 상기 프로그래밍 코드를 개발하도록 상기 컴퓨팅 장치를 구성하는 것인, 프린터 에뮬레이션 시스템.
  16. 제15항에 있어서, 상기 통합 개발 환경은 사용자가 라벨 포맷을 개발하도록 상기 컴퓨팅 장치를 구성하는 라벨 포맷 섹션을 포함하는 것인, 프린터 에뮬레이션 시스템.
  17. 제16항에 있어서, 라벨에 대한 정보의 적어도 하나의 데이터 소스를 더 포함하되, 상기 통합 개발 환경은 상기 라벨이 인쇄 장치에 의해 생성되거나 상기 컴퓨팅 장치에 의해 생성되면 사용자가 상기 라벨에 대한 정보를 제공하도록 상기 컴퓨팅 장치를 추가로 구성하는 것인, 프린터 에뮬레이션 시스템.
  18. 제16항에 있어서, 상기 통합 개발 환경에 제공되는 프로그램 코드 에디터를 더 포함하되, 상기 프로그램 코드 에디터가 제공된 상기 통합 개발 환경은 사용자가 상기 프로그래밍 코드를 개발하도록 상기 컴퓨팅 장치를 추가로 구성하는 것인, 프린터 에뮬레이션 시스템.
  19. 제11항에 있어서, 상기 프로그래밍 코드는 스크립트 언어로 기입된 것인, 프린터 에뮬레이션 시스템.
  20. 제11항에 있어서, 상기 컴퓨팅 장치가 상기 프린터를 에뮬레이션하게 되는 경우 상기 프린터의 표현이 표시되는 것인, 프린터 에뮬레이션 시스템.
  21. 맞춤형 프린터 소프트웨어를 제공하기 위한 방법으로서,
    제1사용자에 의해 조작되는 제1컴퓨팅 장치로부터, 펌웨어로 구성된 프린터 상에서 상기 맞춤형 프린터 소프트웨어가 실행되게 하는 전자 요청을 수신하는 단계로서, 상기 요청이 상기 맞춤형 프린터 소프트웨어에 관한 적어도 하나의 명세를 포함하는 것인, 상기 수신하는 단계;
    제2사용자에 의해 조작되는 제2컴퓨팅 장치 상에서, 상기 맞춤형 프린터 소프트웨어를 개발하는 단계;
    상기 맞춤형 프린터 소프트웨어가 상기 전자 요청을 충족함을 검증하도록 상기 제2컴퓨팅 장치 상에서 상기 맞춤형 프린터 소프트웨어를 실행하는 단계;
    상기 맞춤형 프린터 소프트웨어가 상기 제2컴퓨팅 장치 상에서 실행되면 상기 제2컴퓨팅 장치 상에서 상기 프린터를 에뮬레이션하는 단계;
    상기 맞춤형 프린터 소프트웨어가 검증되지 않으면 상기 맞춤형 프린터 소프트웨어를 수정하고 수정된 맞춤형 프린터 소프트웨어를 상기 제2컴퓨팅 장치 상에서 실행하는 단계; 및
    상기 맞춤형 프린터 소프트웨어가 검증되면 상기 맞춤형 프린터 소프트웨어를 상기 제1컴퓨팅 장치에 송신하는 단계를 포함하되,
    상기 제2컴퓨팅 장치는 상기 펌웨어로 구성되고, 상기 에뮬레이션은, 상기 맞춤형 프린터 소프트웨어가 상기 제2컴퓨팅 장치 상의 상기 펌웨어와 인터페이싱하는 경우 발생하며, 상기 제2컴퓨팅 장치와 상기 프린터는 접속되지 않는 것인, 맞춤형 프린터 소프트웨어의 제공 방법.
KR1020127023165A 2010-02-10 2010-02-10 프린터 에뮬레이션을 위한 시스템 및 방법 KR101443304B1 (ko)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2010/000831 WO2011099064A1 (en) 2010-02-10 2010-02-10 System and method for printer emulation

Publications (2)

Publication Number Publication Date
KR20120128663A KR20120128663A (ko) 2012-11-27
KR101443304B1 true KR101443304B1 (ko) 2014-09-22

Family

ID=44367378

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020127023165A KR101443304B1 (ko) 2010-02-10 2010-02-10 프린터 에뮬레이션을 위한 시스템 및 방법

Country Status (9)

Country Link
US (2) US9436422B2 (ko)
EP (1) EP2534572B1 (ko)
JP (1) JP5661617B2 (ko)
KR (1) KR101443304B1 (ko)
CN (1) CN102884503B (ko)
AU (1) AU2010345994A1 (ko)
NZ (1) NZ601686A (ko)
SG (1) SG183161A1 (ko)
WO (1) WO2011099064A1 (ko)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2012051158A2 (en) * 2010-10-12 2012-04-19 Sanford, L. P. Printer
US9740442B2 (en) * 2010-12-21 2017-08-22 Sato Holdings Kabushiki Kaisha Virtual input/output device for printers
JP5712942B2 (ja) * 2012-01-30 2015-05-07 コニカミノルタ株式会社 画像形成システム、遠隔操作装置、画像形成装置、プログラム
US20140043632A1 (en) * 2012-08-10 2014-02-13 Konica Minolta, Inc. Image forming apparatus, method of controlling the same, and image forming system
JP5743108B2 (ja) * 2012-08-10 2015-07-01 コニカミノルタ株式会社 画像形成装置
EP3123296A1 (en) 2014-03-28 2017-02-01 Sato Holdings Kabushiki Kaisha Multiple platform printer configuration
JP6187501B2 (ja) * 2015-02-24 2017-08-30 コニカミノルタ株式会社 画像形成システム、画像形成装置およびプログラム
JP6648581B2 (ja) * 2016-03-22 2020-02-14 コニカミノルタ株式会社 画像処理装置およびプログラム
EP3619911A4 (en) * 2017-05-03 2021-01-13 Ndustrial.Io, Inc. DEVICE, SYSTEM AND METHOD FOR PROVIDING SENSORS
JP7064410B2 (ja) * 2018-09-11 2022-05-10 サトーホールディングス株式会社 情報処理端末、情報処理方法、および、プログラム
DE102021113794A1 (de) 2021-05-28 2022-12-01 Helmut Henke Elektronische Anzeigeeinheit und Datenverarbeitungsprogramm für deren Betrieb

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20020001978A (ko) * 2000-06-29 2002-01-09 윤종용 프린터 드라이버의 미리 보기 기능 수행 방법
US20080250385A1 (en) 2007-04-09 2008-10-09 Sanchez Elton R Automating the deployment of applications

Family Cites Families (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3158378B2 (ja) 1992-09-25 2001-04-23 キヤノン株式会社 印刷装置及び印刷制御方法
US5699494A (en) * 1995-02-24 1997-12-16 Lexmark International, Inc. Remote replication of printer operator panel
JP3594462B2 (ja) * 1997-10-29 2004-12-02 富士通株式会社 計算機システム
DE10108233A1 (de) * 2001-02-21 2002-09-19 Koenig & Bauer Ag Steuereinheit für die Funktionalitätsprüfung eines technischen Aggregats und Verfahren für die Funktionalitätsprüfung
JP2002288002A (ja) 2001-03-26 2002-10-04 Mitsubishi Electric Corp エミュレータ装置及びエミュレーション方法
US7428066B2 (en) * 2001-04-09 2008-09-23 Canon Kabushiki Kaisha Printing apparatus and method for verifying a printer controller
JP4542180B2 (ja) * 2002-07-26 2010-09-08 株式会社リコー 画像形成装置、プログラム、及び記録媒体
US7554685B2 (en) * 2002-07-26 2009-06-30 Ricoh Company, Ltd. Image forming apparatus, information processing apparatus, program execution method and program producing method
JP2004312711A (ja) 2003-03-25 2004-11-04 Ricoh Co Ltd 画像形成装置及び画像形成装置を遠隔のアプリケーションにより操作する方法
KR100530235B1 (ko) * 2003-12-15 2005-11-22 삼성전자주식회사 공용 드라이버 적용 장치 및 방법
JP2005238524A (ja) * 2004-02-24 2005-09-08 Max Co Ltd ラベルプリンタ
JP4769515B2 (ja) * 2004-09-07 2011-09-07 株式会社リコー アプリケーション実行方法、情報処理装置、画像形成装置、アプリケーション実行プログラム、記録媒体、及び情報処理システム
US7458894B2 (en) * 2004-09-15 2008-12-02 Microsoft Corporation Online gaming spectator system
JP4207938B2 (ja) * 2005-02-01 2009-01-14 セイコーエプソン株式会社 ソフトウェア認証システム、ソフトウェア認証プログラム、およびソフトウェア認証方法
US7872668B2 (en) * 2005-08-26 2011-01-18 Nvidia Corporation Video image processing with programmable scripting and remote diagnosis
US9141374B2 (en) * 2005-09-16 2015-09-22 Ricoh Company, Ltd. Image forming device, information processing method, information processing program, and recording medium
JP4748666B2 (ja) 2005-12-20 2011-08-17 キヤノン株式会社 シミュレーションシステム、シミュレーション装置、画像形成装置、シミュレーション方法、プログラムおよび記憶媒体
JP2007286676A (ja) * 2006-04-12 2007-11-01 Brother Ind Ltd 印刷イメージ表示装置
JP2008130060A (ja) * 2006-11-27 2008-06-05 Oki Data Corp 画像処理装置制御プログラムのインストール方法、通信プログラム、及び、画像処理装置
JP2008160388A (ja) * 2006-12-22 2008-07-10 Canon Inc 情報処理装置、情報処理方法、及びコンピュータプログラム
JP2008160338A (ja) * 2006-12-22 2008-07-10 Canon Inc 画像読取制御装置及び画像読取制御方法
US20090228862A1 (en) 2008-03-04 2009-09-10 Anders Bertelrud Modularized integrated software development environments
KR101505660B1 (ko) * 2008-10-27 2015-03-24 사토 홀딩스 가부시키가이샤 프로그램 스크립팅 언어를 이용하는 라벨 프린터 api
US20100257411A1 (en) * 2009-04-07 2010-10-07 Kabushiki Kaisha Toshiba Emulation device and emulator activation method
AU2009347773B2 (en) * 2009-06-08 2015-05-28 Sato Holdings Kabushiki Kaisha System and method for injecting run-time programming code in a printing device
US8670149B2 (en) * 2009-08-03 2014-03-11 Printable Technologies Inc. Apparatus and methods for image processing optimization for variable data printing
US9740442B2 (en) * 2010-12-21 2017-08-22 Sato Holdings Kabushiki Kaisha Virtual input/output device for printers

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20020001978A (ko) * 2000-06-29 2002-01-09 윤종용 프린터 드라이버의 미리 보기 기능 수행 방법
US20080250385A1 (en) 2007-04-09 2008-10-09 Sanchez Elton R Automating the deployment of applications

Also Published As

Publication number Publication date
US9436422B2 (en) 2016-09-06
CN102884503B (zh) 2016-01-13
WO2011099064A1 (en) 2011-08-18
EP2534572A1 (en) 2012-12-19
CN102884503A (zh) 2013-01-16
EP2534572B1 (en) 2019-05-08
SG183161A1 (en) 2012-09-27
JP2013519928A (ja) 2013-05-30
US20120293823A1 (en) 2012-11-22
EP2534572A4 (en) 2013-08-14
NZ601686A (en) 2014-06-27
JP5661617B2 (ja) 2015-01-28
KR20120128663A (ko) 2012-11-27
AU2010345994A1 (en) 2012-08-23
US20170003918A1 (en) 2017-01-05

Similar Documents

Publication Publication Date Title
KR101443304B1 (ko) 프린터 에뮬레이션을 위한 시스템 및 방법
US10089560B2 (en) ePOS printing
AU2008363368B2 (en) Label printer API using program scripting language
US8732588B2 (en) Method and apparatus for remotely displaying screen files and efficiently handling remote operator input
WO2015144242A1 (en) Multiple platform printer configuration
CA2766954C (en) System and method for injecting run-time programming code in a printing device
AU2015201583B2 (en) System and method for printer emulation
JP5727067B2 (ja) 印刷装置へランタイムプログラミングコードを導入するためのシステム及び方法

Legal Events

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

Payment date: 20170629

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20180628

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20190624

Year of fee payment: 6