KR20190042456A - 제어 방법 - Google Patents

제어 방법 Download PDF

Info

Publication number
KR20190042456A
KR20190042456A KR1020180120839A KR20180120839A KR20190042456A KR 20190042456 A KR20190042456 A KR 20190042456A KR 1020180120839 A KR1020180120839 A KR 1020180120839A KR 20180120839 A KR20180120839 A KR 20180120839A KR 20190042456 A KR20190042456 A KR 20190042456A
Authority
KR
South Korea
Prior art keywords
application
driver
information indicating
gui
printing
Prior art date
Application number
KR1020180120839A
Other languages
English (en)
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 KR20190042456A publication Critical patent/KR20190042456A/ko
Priority to KR1020210146002A priority Critical patent/KR102461063B1/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/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/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/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/1228Printing driverless or using generic drivers
    • 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/125Page layout or assigning input pages onto output media, e.g. imposition
    • 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
    • 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/1254Automatic configuration, e.g. by driver
    • 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/1275Print workflow management, e.g. defining or changing a workflow, cross publishing
    • G06F3/1276Print workflow management, e.g. defining or changing a workflow, cross publishing within a printer driver, e.g. driver resides either on a server or on a client
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/00127Connection or combination of a still picture apparatus with another apparatus, e.g. for storage, processing or transmission of still picture signals or of information associated with a still picture
    • H04N1/00204Connection or combination of a still picture apparatus with another apparatus, e.g. for storage, processing or transmission of still picture signals or of information associated with a still picture with a digital computer or a digital computer system, e.g. an internet server
    • H04N1/00209Transmitting or receiving image data, e.g. facsimile data, via a computer, e.g. using e-mail, a computer network, the internet, I-fax
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/0035User-machine interface; Control console
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/0035User-machine interface; Control console
    • H04N1/00352Input means
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/0035User-machine interface; Control console
    • H04N1/00405Output means
    • H04N1/00408Display of information to the user, e.g. menus
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/0035User-machine interface; Control console
    • H04N1/00405Output means
    • H04N1/00408Display of information to the user, e.g. menus
    • H04N1/0044Display of information to the user, e.g. menus for image preview or review, e.g. to help the user position a sheet
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/0035User-machine interface; Control console
    • H04N1/00405Output means
    • H04N1/00408Display of information to the user, e.g. menus
    • H04N1/00466Display of information to the user, e.g. menus displaying finishing information, e.g. position of punch holes or staple or orientation references
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/0035User-machine interface; Control console
    • H04N1/00405Output means
    • H04N1/00408Display of information to the user, e.g. menus
    • H04N1/00472Display of information to the user, e.g. menus using a pop-up window
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/0035User-machine interface; Control console
    • H04N1/00405Output means
    • H04N1/00474Output means outputting a plurality of functional options, e.g. scan, copy or print
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/0035User-machine interface; Control console
    • H04N1/00405Output means
    • H04N1/00482Output means outputting a plurality of job set-up options, e.g. number of copies, paper size or resolution
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/0035User-machine interface; Control console
    • H04N1/00501Tailoring a user interface [UI] to specific requirements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/32Circuits or arrangements for control or supervision between transmitter and receiver or between image input and image output device, e.g. between a still-image camera and its memory or between a still-image camera and a printer device
    • H04N1/333Mode signalling or mode changing; Handshaking therefor
    • H04N1/33307Mode signalling or mode changing; Handshaking therefor prior to start of transmission, input or output of the picture signal only
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N2201/00Indexing scheme relating to scanning, transmission or reproduction of documents or the like, and to details thereof
    • H04N2201/0077Types of the still picture apparatus
    • H04N2201/0093Facsimile machine

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Quality & Reliability (AREA)
  • Computing Systems (AREA)
  • Accessory Devices And Overall Control Thereof (AREA)
  • Facsimiles In General (AREA)
  • Stored Programmes (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

GUI(Graphical User Interface)를 제공하는 기능을 갖고 있지 않은 드라이버가 선택되는 경우에 GUI를 제공하는 것이 가능한 GUI 애플리케이션을 저장하는 메모리를 포함하는 정보 처리 장치에 대한 제어 방법으로서, 제어 방법은 묘화 애플리케이션에 의해 생성된 묘화 데이터를 GUI 애플리케이션으로 하여금 취득하게 하는 단계, 설정을 나타내는 정보를 포함하는 데이터와 드라이버의 능력을 나타내는 정보를 포함하는 데이터 중 적어도 어느 하나를 GUI 애플리케이션에 의해 취득하는 단계, 및 제1 표시 항목을 GUI 애플리케이션에 의해 제공하는 단계를 포함한다.

Description

제어 방법{CONTROL METHOD}
본 발명은 제어 방법에 관한 것이다.
아래에 설명되는 구성이 일반적으로 알려져 있다. 인쇄 장치의 제어용 소프트웨어로서 호스트 컴퓨터에 인스톨된 프린터 드라이버를 이용하여, 호스트 컴퓨터에 접속된 인쇄 장치가 인쇄를 행한다. 호스트 컴퓨터에는 기본 소프트웨어인 오퍼레이팅 시스템(OS)이 인스톨되어 있고, 프린터 드라이버는 그 OS가 규정하는 사양에 따라 구성되고, OS에 의해 호출되어서 동작한다. 인쇄 장치를 제공하는 벤더는 OS의 사양에 적합한 프린터 드라이버를 제공함으로써, 그 OS를 사용해서 프린터에 인쇄를 행하도록 지시하는 방법을 제공할 수 있다. OS로서 Microsoft®의 Windows® 8보다 전 버전을 이용하는 경우, 프린터 드라이버는 "V3 프린터 드라이버"라고 불리는 아키텍쳐에 따라 구성된다. V3 프린터 드라이버는 유저에 의해 인쇄 요구가 발생한 타이밍에서 그래피컬 유저 인터페이스(이하, "유저 인터페이스" 또는 "GUI"라고도 칭함)를 표시하고 어떤 조작을 행하도록 유저에 촉구하는 기능을 제공할 수 있다. 예를 들어, 인쇄 요구가 발생하면, V3 프린터 드라이버의 구성물인 컨피규레이션 모듈의 규정된 이벤트가 호출된다. 이 때문에, 컨피규레이션 모듈은 그 이벤트 처리 중에 유저 인터페이스를 표시할 수 있다.
근년, Windows®에 있어서, "V4 프린터 드라이버"라고 불리는 새로운 아키텍쳐가 등장하였다. V4 프린터 드라이버에서는 시큐리티성이 중시되고 있기 때문에, 프린터 드라이버 자체의 커스터마이즈성은 저하되고 있다. 예를 들어, 전술한 컨피규레이션 모듈은 OS에 의해 제공되고, 벤더는 그 동작을 커스터마이즈하는 설정 파일 및 스크립트 파일만을 제공할 수 있다. 이러한 커스터마이즈성의 저하를 보충하기 위해서, 인쇄 장치를 제공하는 벤더는 프린터 드라이버의 기능을 보조하기 위한 전용 애플리케이션을 제공할 수 있다. 이 애플리케이션(app)은 "Windows Store Device App(WSDA)"이라고 불린다. 일본 특허 공개 제2017-33052호 공보에서, 인쇄 장치를 제공하는 벤더는 WSDA를 제공함으로써, 특정한 애플리케이션을 통해 인쇄를 행하기 위한 인쇄 설정 화면을 커스터마이즈할 수 있다.
V4 프린터 드라이버는 1개의 프린터 드라이버로서 복수의 인쇄 장치를 서포트하기 때문에 클래스 드라이버로서 구성가능하다. 근년, 표준 클래스 드라이버가 제공되고 있다. 표준 클래스 드라이버는 복수의 벤더가 제공하는 인쇄 장치들에 대해 OS에 의해 공통적으로 이용될 수 있다. 이러한 표준 드라이버는 OS의 패키지 중에 포함되어 있고, 단지 호스트 컴퓨터에 임의인 인쇄 장치를 접속하는 것만으로 이용 가능하다. 따라서, 인쇄 장치에 적합한 프린터 드라이버를 별도로 인스톨할 필요가 없어서, 편리하다.
이와 같이, V4 프린터 드라이버는 시큐리티성이나 편리성이 향상되어 있는 반면, 예를 들어 프린터 드라이버가 GUI를 제공하는 기능을 갖고 있지 않은 등, 프린터 드라이버 자체의 커스터마이즈성은 저하되어 있다. 따라서, WSDA를 사용함으로써, V4 프린터 드라이버와 같이, GUI를 제공하는 기능을 포함하지 않은 드라이버가 사용되는 경우에도, 인쇄 설정 화면 등의 GUI를 제공한다. 그러나, 종래의 WSDA는 여전히 기능 제한이 있다. 본 발명은 이러한 과제를 감안하여, 이용될 드라이버에 따라, 적절한 기능을 제공하는 것을 목적으로 한다.
상술한 바와 같은 과제를 해결하기 위해서, 본 발명의 양태에 따르면, GUI(Graphical User Interface)를 제공하는 기능을 갖고 있지 않은 드라이버가 선택되는 경우에 GUI를 제공하는 것이 가능한 GUI 애플리케이션을 저장하는 메모리를 포함하는 정보 처리 장치에 대한 제어 방법으로서, 제어 방법은 묘화 애플리케이션에 의해 생성된 묘화 데이터를 GUI 애플리케이션으로 하여금 취득하게 하는 단계, 미리결정된 디바이스에 의해 묘화 데이터에 기초하여 미리결정된 처리가 행해질 때 사용되는 설정을 나타내는 정보를 포함하는 데이터와, 드라이버의 능력을 나타내는 정보를 포함하는 데이터 중 적어도 어느 하나를 GUI 애플리케이션으로 하여금 취득하게 하는 단계, 설정을 나타내는 정보를 포함하는 데이터와 드라이버의 능력을 나타내는 정보를 포함하는 데이터 중 적어도 어느 하나에 제1 정보가 포함되어 있는지의 여부를 GUI 애플리케이션으로 하여금 판정하게 하는 단계; 및 GUI 애플리케이션으로 하여금 제1 표시 항목을 제공하게 하는 단계를 포함하고, 제1 정보가 포함되어 있는지의 여부에 따라, GUI 애플리케이션이 제1 표시 항목을 제공할지의 여부가 변경된다.
본 발명의 추가 특징들은 첨부 도면들을 참조하여 예시적인 실시예들에 대한 이하의 설명으로부터 명백해질 것이다.
도 1은 인쇄 시스템의 하드웨어 구성을 도시하는 블록도.
도 2는 드라이버 인쇄 시스템의 블록 구성도.
도 3은 메타데이터의 대응 디바이스 정보의 기술 예.
도 4는 메타데이터의 인쇄시 기동 애플리케이션의 연관 정보의 기술 예.
도 5는 본 인쇄 시스템에 의해 구성되는 인쇄 환경을 설명하기 위한 블록도.
도 6은 인쇄시 기동 애플리케이션의 셋업 처리의 흐름도.
도 7은 인쇄시 기동 애플리케이션의 유저 인터페이스(UI) 처리의 흐름도.
도 8은 인쇄시 기동 애플리케이션의 편집 및 종료 처리의 흐름도.
도 9는 팩스 드라이버의 PrintCapabilities의 예.
도 10은 기종별 프린터 드라이버의 PrintCapabilities의 예.
도 11은 공통 드라이버의 PrintCapabilities의 예.
도 12는 표준 드라이버의 PrintCapabilities의 예.
도 13은 기종별 프린터 드라이버의 PrintTicket의 예.
도 14는 팩스 드라이버의 PrintTicket의 예.
도 15는 인쇄시 기동 애플리케이션이 서포트하는 확장 기능의 예.
도 16은 로컬 스토리지에 저장되는 정보의 예.
도 17은 기종별 프린터 드라이버 접속시의 WSDA(Windows Store Device App)의 유저 인터페이스의 모식도.
도 18은 표준 프린터 드라이버 접속시의 WSDA의 유저 인터페이스의 모식도.
도 19는 팩스 드라이버 접속시의 인쇄시 기동 애플리케이션의 유저 인터페이스의 모식도.
도 20은 표준 프린터 드라이버 접속시의 인쇄시 기동 애플리케이션의 유저 인터페이스의 모식도.
도 21은 기종별 프린터 드라이버 접속시의 인쇄시 기동 애플리케이션의 유저 인터페이스의 모식도.
도 22a, 22b, 22c는 인쇄 지시를 발행하는 경우의 화면을 설명하기 위한 모식도.
본 발명의 실시 형태들에서는 그래피컬 유저 인터페이스(이하, "유저 인터페이스" 또는 "GUI"라고도 칭함) 애플리케이션을 사용하여, 드라이버에 따른 적절한 기능을 제공하기 위한 예를 설명한다. 이 GUI 애플리케이션은 V4 프린터 드라이버와 같이 GUI를 제공하는 기능을 갖고 있지 않은 드라이버가 사용되는 경우에 기동하고, GUI를 제공한다.
또한, V4 프린터 드라이버를 확장하는 종래의 WSDA(Windows Store Device App)도, GUI를 제공할 수 있지만, 이하의 기능 제한이 있었다. 구체적으로, 종래의 WSDA는 유저 지시에 따라 임의로 기동되는 것이기 때문에, 인쇄의 요구 시에 항상 유저 인터페이스를 표시해야 하는 사용례에는 부적합하다. 또한, 종래의 WSDA는 인쇄 설정을 변경하도록 구성된 애플리케이션이기 때문에, 인쇄 요구를 발행한 묘화 애플리케이션에 의해 생성되는 묘화 데이터(지면 상에 인쇄를 형성하는 기초가 되는 이미지나 텍스트 정보)에 액세스할 수 없다. 따라서, 종래의 WSDA는 묘화 데이터를 표시하거나 편집할 수는 없다. 따라서, 종래의 WSDA는 V4 프린터 드라이버에서 유저에 의해 인쇄 요구가 발생한 타이밍에서, 유저 인터페이스를 표시하고, 유저 조작을 접수하고, 유저 조작을 인쇄 처리에 반영시키는 기능을 제공하는 것은 곤란하다.
또한, 종래의 WSDA는 종래의 WSDA에 접속된 프린터 드라이버의 능력을 나타내는 정보에 따라 정보를 지정하기 위한 유저 인터페이스를 제공한다. 가령 WSDA가 프린터 드라이버의 능력 정보에 포함되지 않는 기능에 관한 기능 지시를 인쇄 설정에 포함한다고 해도, 기능 지시는 프린터 드라이버에 있어서는 미지인 정보이기 때문에 유효하게 작용하지 않는다. 또한, 전술한 바와 같이, 종래의 WSDA는 묘화 데이터에 액세스할 수 없기 때문에, WSDA 자체가 기능 지시를 받아서 묘화 데이터를 편집할 수도 없다. 따라서, 전술한 바와 같은 OS와 함께 제공되는 클래스 드라이버에 대하여 인쇄 장치를 제공하는 벤더가 WSDA를 제공한다고 해도, 벤더가 독자적으로 클래스 드라이버의 기능을 확장할 수는 없다.
본 발명에서는 상기의 기능 제한을 받지 않는 애플리케이션을 사용하여, 드라이버에 따른 적절한 기능을 제공할 수 있다. 이하, 첨부 도면을 참조하여 본 발명의 적합한 실시 형태들을 상세하게 설명할 것이다. 또한, 이하의 실시 형태들은 특허 청구 범위에 따른 본 발명을 한정하는 것이 아니고, 또한 실시 형태들에서 설명되는 특징들의 조합들 모두가 본 발명의 과제 해결 방법에 필수적인 것은 아니다. 또한, 동일한 구성 요소에는 동일한 참조 번호를 병기하고, 반복 설명을 생략한다.
<인쇄 시스템의 하드웨어 구성>
도 1은 인쇄 시스템의 하드웨어 구성을 도시하는 블록도이다. 도 1에 있어서, 호스트 컴퓨터(101)는 정보 처리 장치의 일례이며, 입력 인터페이스(110), 중앙 처리 유닛(central processing unit)(CPU)(111), 판독 전용 메모리(read-only memory)(ROM)(112), 랜덤 액세스 메모리(random-access memory)(RAM)(113), 외부 저장 디바이스(114), 출력 인터페이스(115) 및 입력/출력 인터페이스(116)를 포함한다. 또한, 입력 인터페이스(110)는 키보드(118) 및 포인팅 디바이스(117) 등의 입력 디바이스들에 접속된다. 출력 인터페이스(115)는 표시 유닛(119) 등의 표시 디바이스에 접속된다.
ROM(112)에는 초기화 프로그램이 저장된다. 외부 저장 디바이스(114)에는 애플리케이션 프로그램 군, 오퍼레이팅 시스템(OS), 프린터 드라이버, 및 다른 각종의 데이터가 저장되어 있다. RAM(113)은 외부 저장 디바이스(114)에 저장되는 각종 프로그램들의 실행 시의 워크 메모리로서 사용된다.
본 실시 형태에서는 CPU(111)가 ROM(112)에 저장된 프로그램의 수순에 따라 처리를 행함으로써, 호스트 컴퓨터(101)에 있어서의 후술하는 기능들 및 후술하는 흐름도들에 관한 처리가 실현된다. 디바이스인 인쇄 장치(102)는 입력/출력 인터페이스(116)를 통해 호스트 컴퓨터(101)에 접속된다. 이 경우에는 호스트 컴퓨터(101)와 인쇄 장치(102)가 별도로 구성된다. 대안적으로, 호스트 컴퓨터(101)와 인쇄 장치(102)는 하나의 정보 처리 장치로서 구성될 수 있다.
<드라이버 인쇄 시스템의 블록 구성>
도 2는 드라이버 인쇄 시스템의 블록 구성도이다. 이 경우에는 OS로서 Microsoft®의 Windows® 8 이후의 OS를 탑재한 호스트 컴퓨터(101)를 사용하여, "V4 프린터 드라이버"라고 불리는 아키텍쳐에 따라 동작하는 인쇄 시스템을 전제로 해서 설명한다.
유저가 UWP(Universal Windows Platform) 애플리케이션(202)을 통해 인쇄를 행하기 위해 지시하면, OS의 기능인 (도시하지 않은) MPD(Modern Print Dialog)에 의해 미리결정된 화면이 표시된다. UWP 애플리케이션(202)은 묘화 애플리케이션이다. MPD에 의해 제공되는 화면은 유저가 인쇄 결과를 화면 상에서 확인할 수 있게 하는 인쇄 프리뷰 기능과, 기본적인 인쇄 설정을 유저가 선택할 수 있게 하는 기능을 갖는다. 도 22a, 22b, 22c는 구체적인 예들을 나타낸다. 도 22a에서는 묘화 애플리케이션인 UWP 애플리케이션(202)이 제공하는 화면(2201)에 있어서 인쇄를 행하기 위한 지시가 행해지면, OS의 MPD에 의해 도 22b에 나타낸 설정 화면(2202)이 표시된다. 이 설정 화면(2202)에 있어서, 유저는 사용할 드라이버를 선택할 수 있다. 또한, 설정 화면(2202)에 있어서, 기본적인 인쇄 설정을 지정할 수도 있다.
또한, MPD는 유저로부터의 지시를 받고, 상세한 인쇄 설정을 유저가 선택할 수 있게 하는 WSDA(207)를 기동한다. 구체적으로는 도 22b의 설정 화면(2202)에 있어서 "기타 설정" 버튼(2203)이 눌려지면, 도 22c에 나타낸, WSDA(207)가 제공하는 상세 설정 화면(2204)이 표시된다. 이 상세 설정 화면(2204)에서, 유저는 더욱 상세한 인쇄 설정을 지정할 수 있다. WSDA(207)는 인쇄 장치(102)를 제공하는 벤더(이후, "프린터 벤더")가 제공하는 프린터 드라이버(201)의 기능을 확장하기 위한 애플리케이션이다. WSDA(207)가 제공하는 상세 설정 화면(2204) 내에 표시되는 원고 이미지와 같이 보이는 이미지는 WSDA(207)가 원래 구비하고 있는 샘플 이미지이다. 따라서, WSDA(207)가 제공하는 상세 설정 화면(2204) 내의 이 이미지는 UWP 애플리케이션(202)에 의해 생성된 묘화 데이터에 기초하는 프리뷰 이미지가 아니고, 묘화 데이터가 바뀌어도 변화하지 않는 샘플 이미지이다. WSDA(207)는 MPD로부터 인쇄 설정을 나타내는 정보를 수취하고, 유저 조작에 따라 인쇄 설정의 설정 정보를 변경하고, 설정 정보를 MPD에 반환한다. 이 경우에, 인쇄 설정을 나타내는 정보는 OS가 정의하는 서식에 기초하여 XML(Extensible Markup Language) 형식으로 기술되며, "PrintTicket"이라고 불리는 데이터 내에 포함된다. WSDA(207)는 PrintTicket을 참조 및 변경할 수 있지만, 묘화 데이터(지면 상에 인쇄를 형성하는 기초가 되는 이미지나 텍스트 정보)를 참조할 수는 없다. 또한, WSDA(207)는 MPD가 제공하는 인쇄 설정 화면(2202) 위에서 유저가 "다른 설정" 버튼(2203)을 누른 경우에만 기동된다. 따라서, WSDA(207)는 인쇄 설정이 행해진 때 항상 기동되는 것은 아니다.
PrintTicket은 선택된 프린터 드라이버(201)의 컨피규레이션 모듈(208)에 의해 생성된다. WSDA(207)는 컨피규레이션 모듈(208)을 호출함으로써 유저의 지정을 반영한 PrintTicket을 생성한다. 또한, 컨피규레이션 모듈(208)은 선택된 프린터 드라이버(201)로 설정 가능한 기능과 선택 항목을 OS가 정의하는 서식에 기초하여 XML 형식으로 기술한 PrintCapabilities를 생성하는 기능도 갖는다. WSDA(207) 또는 PEX(Printer Extensions)(209)는 PrintCapabilities에 기술된 정보에 기초하여 유저 인터페이스를 제공한다. 또한, 인쇄시 기동 애플리케이션(205)은 OS의 기능들을 통해 컨피규레이션 모듈(208)이 생성한 PrintCapabilities를 취득할 수 있다.
도 2에서는 컨피규레이션 모듈(208)을 프린터 드라이버(201)의 기능으로서 기재하고 있지만, 컨피규레이션 모듈(208)은 원래 OS의 구성물이다. 그러나, V4 프린터 드라이버 드라이버 자체가 컨피규레이션 모듈을 구비하고 있지 않기 때문에, OS의 구성물인 컨피규레이션 모듈(208)을 드라이버의 컨피규레이션 모듈로서 이용한다. 프린터 벤더는 프린터 드라이버(201)에 포함되는 (도시하지 않은) GPD(Generic Printer Description)나 JavaScript(등록 상표) 제약에 의해 컨피규레이션 모듈(208)의 동작을 커스터마이즈할 수 있다.
도 22a, 22b, 및 22c에 나타낸 인쇄 설정이 행해진 후에, OS의 MPD가 제공하는 설정 화면(2202)에 있어서, "인쇄" 버튼이 눌리면, 인쇄 요구가 행해진다. MPD상에서 유저가 인쇄를 행하도록 지시하면, UWP 애플리케이션(202)은 MPD로부터 요구를 받고, 인쇄에 필요한 인쇄 데이터를 생성한다. 이 인쇄 데이터는 "XML Paper Specification" (이후, "XPS")라고 불리는 서식으로 기술된 "XPS" 문서이다. 본 실시 형태의 인쇄 데이터는 PrintTicket과, 묘화 애플리케이션에 의해 생성된 묘화 데이터를 포함한다.
UWP 애플리케이션(202)이 생성한 XPS 문서는 OS의 컴포넌트인 인쇄시 기동 애플리케이션 론처(204)에 전송된다. 인쇄시 기동 애플리케이션 론처(204)는 프린터 드라이버(201)와 연관된 인쇄시 기동 애플리케이션(205)이 존재하며 기동하도록 구성되어 있다고 판단한 경우, 인쇄시 기동 애플리케이션(205)을 기동한다. 해당하는 인쇄시 기동 애플리케이션(205)이 존재하지 않는 경우에는 인쇄시 기동 애플리케이션 론처(204)는 XPS 문서를 스풀 파일(206)로서 저장한다.
인쇄시 기동 애플리케이션(205)은 WSDA(207)와 마찬가지로, 프린터 벤더가 제공하는 프린터 드라이버(201)의 기능을 확장하기 위한 애플리케이션이다. 즉, 인쇄시 기동 애플리케이션(205)은 V4 드라이버에서와 같이, GUI를 제공하는 기능을 포함하지 않은 드라이버가 선택된 경우에, OS로부터의 지시에 기초하여, GUI를 제공할 수 있는 GUI 애플리케이션이다. GUI를 제공하는 기능을 갖고 있는 V3 드라이버가 선택된 경우에, OS는 인쇄시 기동 애플리케이션 론처(204)를 기동하지 않고, 묘화 애플리케이션이 생성한 XPS 문서를 스풀 파일(206)로서 저장한다. 즉, V3 드라이버가 선택된 경우에, 인쇄시 기동 애플리케이션(205)은 기동하지 않거나, GUI를 제공하지 않는다.
WSDA(207)도 인쇄시 기동 애플리케이션(205)도 프린터 드라이버(201)의 구성물들 중 하나로서 제공되는 것이 아니고, WSDA(207) 및 인쇄시 기동 애플리케이션(205) 둘 다 단독의 애플리케이션이다. 또한, WSDA(207)와 인쇄시 기동 애플리케이션(205)은 하나의 애플리케이션으로서 함께 구성될 수 있다. 그러나, 편의상, 종래의 WSDA와의 차이를 설명하기 위해서, WSDA(207)와 인쇄시 기동 애플리케이션(205)을 별개의 애플리케이션들로서 설명한다.
통상, WSDA(207)와 인쇄시 기동 애플리케이션(205)은 OS가 (도시하지 않은) 애플리케이션 배포 시스템(Microsoft®이 관리하는 서버)으로부터 인터넷을 경유해서 취득된다. 또한, 프린터 벤더가, 사전에, Microsoft®가 관리하는 메타데이터 서버에, 후술하는 메타데이터를 제공함으로써, 적절한 WSDA(207) 및 적절한 인쇄시 기동 애플리케이션(205)이 자동적으로 인스톨된다. 구체적으로는 디바이스인 인쇄 장치(102)가 입력/출력 인터페이스(116)에 접속되면, 메타데이터에 기초하여, 인쇄 장치(102)에 연관된 WSDA(207) 및 인쇄시 기동 애플리케이션(205)이 인쇄 장치(102)에 자동적으로 인스톨된다.
인쇄시 기동 애플리케이션(205)은 유저로부터 조작 지시를 접수하는 유저 인터페이스를 표시할 수 있다. 또한, 인쇄시 기동 애플리케이션(205)은 인쇄 데이터인 XPS 문서를 수취할 수 있고, XPS 문서 내의 PrintTicket 및 묘화 데이터를 편집할 수 있다. 인쇄시 기동 애플리케이션(205)이 필요에 따라 편집된 XPS 문서를 출력하면, OS는 XPS 문서를 스풀 파일(206)로서 저장한다. 스풀 파일(206)이 저장되면, 처리가 필터 파이프 라인 매니저(210)로 옮겨진다. 필터 파이프 라인 매니저(210)는 복수의 필터를 통해 인쇄를 행하는 메커니즘을 가지며, (도시하지 않은) 컨피규레이션 파일을 이용하여 필터의 수 및 순서가 제어된다. 본 실시 형태에 있어서의 필터 군은 레이아웃 처리 유닛인 레이아웃 필터(211)와, 인쇄 커맨드 변환 유닛인 인쇄 커맨드 필터(212)를 포함한다.
레이아웃 필터(211)에는 XPS 스풀 파일(206)로서 저장된 XPS 문서가 입력된다. 레이아웃 필터(211)는 인쇄 설정 정보에 기초하여 페이지의 레이아웃 처리를 행하고, 레이아웃된 XPS 문서를 출력하는 기능을 갖는다. 레이아웃 처리는 예를 들어, 복수의 페이지를 하나의 용지면에 인쇄하는 레이아웃 인쇄, 및 하나의 페이지를 복수의 용지면에 인쇄하는 포스터 인쇄를 포함한다.
인쇄 커맨드 필터(212)에는 레이아웃 필터(211)의 출력이 입력된다. 인쇄 커맨드 필터(212)는 인쇄 설정 정보에 따라, XPS 문서를 인쇄 장치(102)가 해석 가능한 인쇄 커맨드에 변환하고, 인쇄 커맨드를 출력하는 기능을 갖는다. 인쇄 커맨드 필터(212)가 입력의 XPS 문서를 이미지 데이터로 변환하는 경우, 인쇄 커맨드 필터(212)는 일반적으로 "렌더 필터"라고 불린다. 렌더 필터는 잉크젯 프린터로 대표되는 염가인 래스터 프린터용의 프린터 드라이버에 있어서 종종 사용된다. 인쇄 커맨드 필터(212)가 렌더 필터로서 동작하는 경우에, 인쇄 커맨드 필터(212)는 입력의 XPS 문서를 이미지 데이터로 변환한다. 그 후, 색 공간의 변환 및 바이너리화를 포함한 이미지 처리를 통해, 이미지 데이터는 래스터 프린터가 해석 가능한 인쇄 커맨드로 변환된다.
페이지 프린터로 대표되는 기능이 풍부한 프린터에 있어서, 인쇄 장치(102)가 해석할 수 있는 인쇄 커맨드의 종류가 XPS를 포함하는 경우, 인쇄 커맨드 필터(212)는 입력의 XPS 문서를 편집해서 XPS 문서를 출력한다. 인쇄 커맨드 필터(212)가 입력의 XPS 문서를 처리할 필요가 없으면, 인쇄 커맨드 필터(212)는 입력의 XPS 문서를 그대로 출력해도 되거나, 또는 인쇄 커맨드 필터(212)는 프린터 드라이버(201)에 포함되지 않아도 된다. 이상이, UWP 애플리케이션(202)을 통한 인쇄의 기본 처리이다.
Win32 애플리케이션의 묘화 애플리케이션인 레거시 애플리케이션(203)은 인쇄 설정을 행하기 위해서 PEX(209)를 기동할 수 있다. PEX(209)는 컨피규레이션 모듈(208)을 경유해서 기동되어, 유저가 인쇄 설정을 지정할 수 있게 하는 유저 인터페이스를 제공할 수 있다. PEX(209)는 프린터 드라이버(201)와 함께 드라이버 패키지 내의 구성물로서 제공되어도 되거나, 프린터 드라이버(201)와 별도로 배포되어도 된다. WSDA(207)와 마찬가지로, PEX(209)는 PrintTicket을 참조 및 변경할 수 있지만, 묘화 데이터(지면 상에 인쇄를 형성하는 기초가 되는 이미지나 텍스트 정보)를 참조할 수는 없다. 또한, PEX(209)는 레거시 애플리케이션(203)에서 유저가 PEX(209)를 기동하도록 지시한 경우에만 기동된다. 따라서, PEX(209)는 인쇄가 행해질 때 항상 기동되는 것은 아니다. 레거시 애플리케이션(203)에 인쇄를 행하도록 지시되면, 레거시 애플리케이션(203)은 인쇄 데이터로서 XPS 문서를 생성한다. 이후의 흐름은 UWP 애플리케이션(202)을 통해 인쇄가 행해질 때의 것과 동등하기 때문에 여기서 설명은 생략한다.
또한, 본 구성에 있어서의 프린터 드라이버(201)는 팩스 드라이버로서 기능 해도 된다. 이 경우, 프린터 드라이버(201)는 인쇄 장치(102)가 해석 가능한 인쇄 커맨드가 아니라 인쇄 장치(102)에 팩스 송신을 행하도록 요구하기 위한 팩스 커맨드를 생성한다. 이후의 설명에 있어서도, 편의상, 팩스 드라이버의 경우에도, 프린터 드라이버(201)로서 이따금 기재할 것이고, 팩스 지시의 경우에도 인쇄 지시로서 이따금 기재할 것이다.
<인쇄 장치와 인쇄시 기동 애플리케이션을 연관짓는 메타데이터>
도 3은 인쇄 장치(102)와 인쇄시 기동 애플리케이션(205)을 연관짓는 메타데이터(301)에 있어서 대응 디바이스 정보를 나타내는 기술의 일례이다. 메타데이터(301)에는 메타데이터(301)을 이용하는 인쇄 장치(102)의 일람을 나타내는 "HardwareIDList" 태그(302)가 기술된다. 항목(303)은 "MFP1_abcd"라는 하드웨어 식별(ID)을 갖는 인쇄 장치(102)가 메타데이터(301)를 이용하는 것을 나타낸다. 마찬가지로, 항목(304)은 "MFP2_ijkl"이라는 하드웨어 ID를 갖는 인쇄 장치(102)가 메타데이터(301)을 이용하는 것을 나타낸다. 전술한 바와 같이, 하나의 메타데이터에 대해 그 하나의 메타데이터를 이용하는 복수의 디바이스를 열거할 수 있다. 메타데이터(301)에는 디바이스로서 2개의 인쇄 장치가 지정될 수 있다. 대안적으로, 1개의 인쇄 장치 또는 3개 이상의 인쇄 장치가 지정될 수 있다. "하드웨어 ID"는 인쇄 장치(102)로부터 반환되는 인쇄 장치(102)를 일의적으로 식별하기 위한 식별 정보이다.
도 4는 인쇄 장치(102)(즉, 디바이스)와, 인쇄시 기동 애플리케이션(205)(즉, GUI 애플리케이션)을 연관짓는 메타데이터(301) 내의, 연관될 인쇄시 기동 애플리케이션(205)을 나타내는 기술의 일례이다. 도 4의 메타데이터(301) 내에는 메타데이터(301)가 연관짓는 인쇄시 기동 애플리케이션(205)을 나타내는 "DeviceCompanionApplications" 태그(401)가 기술된다. 항목(402)은 "12345678-abcd-efgh-ijkl-123456789012"라는 프린터 벤더가 제공하는 "1234abcd.MFPUtility"라는 명칭을 가진 인쇄시 기동 애플리케이션(205)을 "HardwareIDList" 태그(302)에 열거된 인쇄 장치(102)와 연관짓는 것을 나타낸다.
호스트 컴퓨터(101)에 인쇄 장치(102)가 접속되면, OS는 미리결정된 서버(Microsoft®가 관리하는 메타데이터 서버)에 등록되어 있는 메타데이터를 검색한다. 그 후, 접속된 인쇄 장치(102)로부터 반환되는 하드웨어 ID가 HardwareIDList에 기술되어 있는 메타데이터를 OS가 찾으면, OS는 메타데이터를 인쇄 장치(102)의 외부 저장 디바이스(114)에 보존한다. 또한, OS는 보존된 메타데이터의 "DeviceCompanionApplication" 태그(401)에 기술된 인쇄시 기동 애플리케이션(205)을 (도시하지 않은) 애플리케이션 배포 시스템으로부터 취득한다. 그 후, OS는 외부 저장 디바이스(114)에 인쇄시 기동 애플리케이션(205)을 인스톨하고, 인쇄시 기동 애플리케이션(205)과 인쇄 장치(102)를 연관짓는다. 이에 의해, 인쇄 장치(102)에 대하여 프린터 드라이버(201)를 경유해서 인쇄 요구가 발생할 때, 인쇄 장치(102)와 연관된 인쇄시 기동 애플리케이션(205)이 기동된다.
이 메타데이터는 프린터 벤더에 의해 제공된다. 프린터 벤더는 이 메타데이터를 사전에 Microsoft®가 관리하는 메타데이터 서버에 제공함으로써, 유저 환경에 프린터 드라이버(201)가 인스톨될 때, 접속된 디바이스에 대해 최적인 인쇄시 기동 애플리케이션(205)을 접속된 디바이스에 자동적으로 인스톨하도록 제어를 행할 수 있다. 또한, 유저로부터의 지시에 의해, 하나의 디바이스에 대하여 복수의 프린터 드라이버(201)가 인스톨될 수도 있다.
<메타데이터(301)에 의해 구성되는 인쇄 환경>
도 5는 메타데이터(301)에 의해 구성되는 인쇄 환경의 일례를 도시하는 도면이다. 인쇄 장치(102)인 MFP(multifunction peripheral)(501)는 하나의 장치 내에 프린터(인쇄 기능 유닛)(504)와, 팩스(팩스 기능 유닛)(505)를 포함한다. 팩스(505)는 접수된 인쇄 요구를 팩시밀리로서 송신한다. 프린터(504)는 "MFP1_abcd"라는 하드웨어 ID를 갖는다. 팩스(505)는 "MFP1_efgh"라는 하드웨어 ID를 갖는다. 팩스(505)의 하드웨어 ID는 프린터(504)의 것과 같은 하드웨어 ID일 수 있어서, 커맨드에 따라 처리가 프린터(504)와 팩스(505) 사이에서 전환될 수 있다.
MFP(501)가 호스트 컴퓨터(101)에 접속되면, OS는 "HardwareIDList" 태그(302)에 MFP1_abcd라는 하드웨어 ID가 기술되어 있는 메타데이터(301)를 취득한다.
또한, OS는 메타데이터(301)에 기술되어 있는 MFPUtility(506)에 대응하는 인쇄시 기동 애플리케이션(205)을 취득한다. 그 후, OS는 인쇄시 기동 애플리케이션(205)을 MFP(501)와 연관짓는다. 팩스(505)는 프린터(504)와 상이한 하드웨어 ID를 갖고 있지만, OS는 인쇄 장치(102)로부터 취득한 정보를 기초로, 이들 2개의 처리 유닛을 동일한 디바이스(컴포지트 디바이스)로서 판단한다. 따라서, 팩스(505)도 프린터(504)와 동일한 메타데이터(301) 및 MFPUtility(506)과 연관지어진다. 대안적으로, 메타데이터(301)의 "HardwareIDList" 태그(302)에 팩스(505)의 하드웨어 ID인 "MFP1_efgh"가 기술될 수 있다.
MFP(501)의 프린터(504)용으로 인스톨되는 복수 종류의 프린터 드라이버(201)가 존재할 수 있다. 즉, 하나의 디바이스인 MFP(501)와 호환가능한 드라이버들로서, 복수의 드라이버가 존재할 수 있다. 기종별 프린터 드라이버(508)는 프린터 벤더에 의해 제공되고 MFP(501)의 프린터(504)에 전용인 프린터 드라이버이다. 공통 프린터 드라이버(509)는 프린터 벤더에 의해 제공되고, 프린터 벤더의 복수 종류의 인쇄 장치(102)를 처리할 수 있는 공통 프린터 드라이버이다. 그리고, 표준 프린터 드라이버(510)는 복수의 벤더에 의해 제공되는 인쇄 장치들에 공통적으로 이용 가능한 클래스 드라이버이고, OS와 함께 OS의 패키지 내의 기능들 중 하나로서 제공되는 프린터 드라이버이다. 표준 프린터 드라이버(510)는 표준화된 인쇄 방법을 이용하여, 광범위한 인쇄 장치들(102)을 처리할 수 있는 프린터 드라이버이다.
전술한 바와 같이, 특정 인쇄 장치(102)용으로 이용 가능한 복수의 프린터 드라이버(201)가 존재한다. 이용될 프린터 드라이버(201)는 인터넷 접속 상태, OS의 종류, 또는 이용 환경에 따라서 상이하다. 통상, OS는 프린터 드라이버의 버전 정보를 참조하여, 이용 가능한 프린터 드라이버들(201) 중에서, 가장 기능이 높고 새로운 프린터 드라이버(201)를 자동적으로 선택하여 인스톨한다. 각각의 프린터 드라이버(201)는 "하드웨어 ID" 및 "Compatible ID"라고 불리는 장치를 식별하기 위한 정보를 포함한다. 호스트 컴퓨터(101)에 인쇄 장치(102)가 접속되면, OS는 인쇄 장치(102)로부터 상기의 ID 정보를 취득하고, 해당하는 ID들을 갖는 프린터 드라이버(201)를 탐색하고, 프린터 드라이버(201)를 인쇄 장치(102)에 인스톨한다.
MFP(501)의 팩스(505)에 대해서는 "MFP1_efgh"라는 하드웨어 ID를 가지는 팩스 드라이버(511)가 인스톨된다. 또한, 호스트 컴퓨터(101)에, "MFP2_ijkl"이라는 하드웨어 ID를 갖는 MFP(502)가 접속될 경우, 이 MFP(502)는 MFPUtility(506)와 연관지어진다. 이것은 도 3에 항목(304)에 나타낸 바와 같이, 메타데이터(301)에서 대상으로 하는 HardwareIDList가 MFP2_ijkl을 포함하기 때문이다. "MFP3_mnop"라는 하드웨어 ID를 갖는 MFP(503)는 메타데이터(301)와는 상이한 (도시하지 않은) 메타데이터의 기술에 따라, MFPUtility(506)와는 상이한, MFPUtility(507)와 연관된다.
전술한 바와 같이, 인쇄 장치들(102)을 제공하는 프린터 벤더는 메타데이터를 제공함으로써, 각각의 인쇄 장치(102)에 대하여 어느 인쇄시 기동 애플리케이션(205)을 제공할지를 제어할 수 있다. 예를 들어, 프린터 벤더는 복수의 인쇄 장치(102)에 공통적으로 하나의 인쇄시 기동 애플리케이션(205)을 제공할 수도 있거나, 또는 복수의 인쇄 장치(102)에 대해 상이한 인쇄시 기동 애플리케이션들(205)을 제공할 수도 있다. 그러나, 인쇄 장치들(102)과 연관지어진 프린터 드라이버(201)의 종류들에 따라, 인쇄시 기동 애플리케이션들(205)을 개별적으로 제공할 수는 없다. 도 5에 있어서는 4종류의 드라이버들, 즉, MFP(501)에 의해 이용될 프린터 드라이버들(201)로서 드라이버들(508 내지 511)이 존재하지만, 프린터 드라이버들(201)은 항상 한 종류의 인쇄시 기동 애플리케이션(205)과 연관된다.
또한, WSDA(207)는 인쇄시 기동 애플리케이션(205)의 것과 동등한 메커니즘으로 인쇄 장치(102) 및 프린터 드라이버(201)와 연관지어진다. 따라서, 연관지음에 관한 제약들은 인쇄시 기동 애플리케이션(205)의 것들과 동등하다.
<인쇄시 기동 애플리케이션의 셋업 처리>
도 6은 본 인쇄 시스템에 있어서의 인쇄시 기동 애플리케이션(205)의 셋업 처리 중 주요한 처리 절차를 도시한 도면이다. 본 처리 플로우는 예를 들어 도 5의 MFPUtility(506)와 같은 구성에서의 인쇄시 기동 애플리케이션(205)의 처리의 일례이다. 이하의 설명에서, 인쇄시 기동 애플리케이션(205)은 각각의 처리를 수행할 수 있지만, 실제로는 대응하는 프로그램을 CPU(111)가 실행함으로써 각각의 기능이 실현된다. 모든 처리는 반드시 하나의 프로세스상에서 순차적으로 실행되는 것은 아니고, 일단 OS로 처리가 옮겨지고, 다시 OS에 의해 호출되는 경우도 있을 수 있다. 처리 절차는 인쇄시 기동 애플리케이션(205)의 주요한 처리를, 편의적으로 간단히 설명하는 절차일 뿐이다.
인쇄시 기동 애플리케이션 론처(204)는 인쇄 요구원인 묘화 애플리케이션으로부터 XPS 문서를 수취하는 경우에, 인쇄 장치(102)와 연관지어진 인쇄시 기동 애플리케이션(205)의 초기화 처리를 호출한다. 도 22a, 22b, 22c를 참조하여 설명한 인쇄 설정이 행해진 후에, OS가 제공하는 설정 화면(2202)에 있어서 "인쇄" 버튼이 눌리면, 인쇄 요구가 행해지고, 묘화 애플리케이션으로부터 XPS 문서가 출력된다.
인쇄시 기동 애플리케이션(205)은 초기화 처리에 있어서, 도 6에 도시된 셋업 처리와, 도 8에 도시된 편집 및 종료 처리를, OS가 규정하는 이벤트 핸들러로서 등록한다. 인쇄시 기동 애플리케이션(205)이 초기화 처리를 종료하는 경우에, OS는 규정된 이벤트 핸들러로서 등록된 인쇄시 기동 애플리케이션(205)의 셋업 처리를 실행한다. 도 6은 이 셋업 처리를 나타낸다.
먼저, 단계 S601에서, 인쇄시 기동 애플리케이션(205)은 XPS 문서중에 저장된 PrintTicket을 취득한다. PrintTicket은 도 2를 참조하여 설명한 바와 같이, 인쇄 설정을 나타내는 정보를 포함하는 데이터이며, 유저에 의해 지정된 인쇄 설정에 기초하여, 컨피규레이션 모듈(208)에 의해 생성된다. PrintTicket은 OS의 미리결정된 API(application programming interface)를 호출함으로써 XPS 문서로부터 취득될 수 있다.
다음으로, 단계 S602에서, 인쇄시 기동 애플리케이션(205)은 프린터 드라이버(201)의 능력을 나타내는 정보를 포함하는 데이터인 PrintCapabilities를 취득한다. 그 후, 인쇄시 기동 애플리케이션(205)은 PrintCapabilities 내의 이름 공간을 확인함으로써 애플리케이션으로부터 인쇄 요구를 받은 프린터 드라이버(201)의 종별을 판정한다. PrintCapabilities 내의 이름 공간과 그 이른 공간의 판정 방법의 상세에 대해서는 후술한다.
통상, PrintTicket에도 PrintCapabilities의 것과 동등한 이름 공간 정보가 저장된다. 따라서, 단계 S602의 판정은 PrintTicket을 이용해도 된다. PrintCapabilities을 취득하기 위해 시간을 필요로 하기 때문에, 구성에 따라서는 PrintTicket을 이용함으로써 처리 시간을 단축할 수 있다. 또한, 프린터 드라이버(201)가, (도시하지 않은) DriverPropertyBag에 판정을 위한 정보를 저장해도 된다. 인쇄시 기동 애플리케이션(205)은 그 DriverPropertyBag에 저장한 정보를 취득해서 그 정보를 판정에 사용하도록 구성될 수 있다.
단계 S602의 판정 결과로서, 애플리케이션으로부터 인쇄 요구를 받은 프린터 드라이버(201)가 팩스 드라이버인 경우(단계 S602에서 예), 단계 S603에서, 인쇄시 기동 애플리케이션(205)은 동작 모드가 팩스 드라이버 모드임을 나타내는 정보를 보존한다. 단계 S603의 처리 및 이후에 설명하는 처리들에서, 인쇄시 기동 애플리케이션(205)은 일례로서, OS에 의해 제공되는 로컬 스토리지를 이용하여 정보를 보유한다. 로컬 스토리지에 저장되는 정보의 전체 구성은 후술한다. 마찬가지로, 단계 S604에서, 인쇄시 기동 애플리케이션(205)은 로컬 스토리지에, 유저 인터페이스(UI) 표시가 유효함을 나타내는 정보를 보존한다.
그 후, 단계 S605에서, 인쇄시 기동 애플리케이션(205)은 OS가 제공하는 규정된 API를 호출하고, 금회의 인쇄시 기동 애플리케이션(205)의 실행에 있어서, 유저 인터페이스를 표시하도록 지시한다. 이 API를 실행함으로써, 도 7에 나타낸 인쇄시 기동 애플리케이션(205)의 UI 처리가 호출되어, 인쇄시 기동 애플리케이션(205)은 유저 인터페이스를 표시한다. 이상이 팩스 드라이버 모드에서의 인쇄시 기동 애플리케이션(205)의 셋업 처리이다.
단계 S602의 판정 결과로서, 애플리케이션으로부터 인쇄 요구를 받은 프린터 드라이버(201)가 팩스 드라이버가 아닌 경우에(단계 S602에서 아니오), 단계 S606에서, 인쇄시 기동 애플리케이션(205)은 동작 모드가 프린터 드라이버 모드임을 나타내는 정보를 보존한다.
다음으로, 단계 S607에서, 인쇄시 기동 애플리케이션(205)은 PrintTicket을 참조하여 인쇄 프리뷰 기동 지시가 존재하는지를 확인한다. PrintTicket을 확인하기 위한 구체적인 확인 방법은 도 13을 참조하여 후술한다. 대안적으로, 인쇄 프리뷰의 기동 지시를 WSDA(207) 및 PEX(209)를 통해 지정 가능하고 또한 인쇄 프리뷰의 기동 지시를 인쇄시 기동 애플리케이션(205)을 통해 참조 가능한 방법이라면, PrintTicket 이외의 것을 이용하는 방법에 의해 인쇄 프리뷰의 기동 지시를 실현해도 된다. 예를 들어, 프린터 드라이버(201)의 설정 정보의 저장 장소로서 OS에 의해 제공되는 UserPropertyBag 또는 QueuePropertyBag을 이용하도록 구성해도 된다. 또한, "인쇄 프리뷰"란, 인쇄 설정과 애플리케이션이 생성한 인쇄 데이터를 기초로, 지면에 생성될 인쇄 결과의 이미지를 표시 유닛(119)에 표시하는 것을 가리킨다. 즉, "인쇄 프리뷰 기동 지시가 PrintTicket에 존재한다"라는 사실은 인쇄 프리뷰 화면을 표시하도록 유저에 의해 지시된 것을 나타낸다. 유저는 인쇄 프리뷰 화면을 봄으로써, 원하는 인쇄 결과가 얻어질지를 인쇄 전에 확인할 수 있다. 그 후, 필요에 따라, 인쇄 설정을 수정하거나 특정 페이지를 삭제하거나, 또는 인쇄 처리를 중지하기 위해 유저가 지시할 수 있다.
단계 S607에서 인쇄 프리뷰 기동 지시가 존재하지 않는다고 판단되는 경우(단계 S607에서 아니오), 처리는 단계 S609로 진행한다. 단계 S607에서 인쇄 프리뷰 기동 지시가 존재한다고 판단되는 경우(단계 S607에서 예), 단계 S608에서, 인쇄시 기동 애플리케이션(205)은 인쇄 프리뷰가 유효함을 나타내는 정보를 보존한다.
다음으로, 단계 S609에서, 인쇄시 기동 애플리케이션(205)은 PropertyBag에 기능 확장 지시가 존재하는지의 여부를 확인한다. "PropertyBag"은 전술한 바와 같이, UserPropertyBag 또는 QueuePropertyBag을 가리킨다. 이 기능 확장은 예를 들어 프린터 드라이버가 표준 프린터 드라이버(510)와 같은 기본적인 기능밖에 갖지 않을 경우에, 인쇄 수행 시에 지정가능한 기능을 프린터 벤더가 확장하기 위해 이용된다. 또한, 기능을 확장하도록 지시하기 위한 기술을 포함하는 PrintTicket이 표준 프린터 드라이버(510)에 전송되는 경우에, 이 기술은 표준 프린터 드라이버(510)에 있어서 미지인 정보이기 때문에, 부적절한 기술로서 삭제되어버린다. 이러한 경우에 있어서는 기능 확장 지시를 PropertyBag에 저장함으로써, 기능 확장 지시가 삭제되지 않고 유지된다. 한편, PrintTicket은 인쇄 데이터인 XPS 문서에 포함되고, 각각의 인쇄 데이터 단위로 보유되는 정보이다. 따라서, PrintTicket은 복수의 인쇄 요구가 연속해서 발생한 경우에도, 인쇄 요구마다 인쇄 프리뷰나 기능 확장의 유효, 무효 상태들을, 정확하게 전환할 수 있다는 장점이 있다. 인쇄시 기동 애플리케이션(205)은 단계 S609의 처리를 스킵하고, 기능이 확장 가능한 경우에는 항상 기능 확장을 유효화하도록 구성되어도 된다.
단계 S609에서 PropertyBag 내에 기능 확장 지시가 존재하지 않는다고 판단되는 경우(단계 S609에서 아니오), 처리는 단계 S613으로 진행한다. 단계 S609에서 PropertyBag에 기능 확장 지시가 존재한다고 판단되는 경우(단계 S609에서 예), 단계 S610에서, 인쇄시 기동 애플리케이션(205)은 PrintCapabilities를 취득한다. 단계 S602에서 이미 PrintCapabilities를 취득한 경우에는 단계 S610의 처리는 스킵된다.
다음으로, 단계 S611에서, 인쇄시 기동 애플리케이션(205)은 PrintCapabilities에 의해 서포트되지 않은 미리결정된 기능이 존재하는지의 여부를 판정한다. "미리결정된 기능"이란, 인쇄시 기동 애플리케이션(205)에 의해 편집될 수 있는 기능을 가리키고, 확장 기능으로서 인쇄시 기동 애플리케이션(205)이 제공 가능한 기능을 가리킨다. 즉, 인쇄시 기동 애플리케이션(205)은 PrintCapabilities 내에 기술되어 있지 않은 기능이며, 인쇄시 기동 애플리케이션(205)이 제공 가능한 기능이 존재할지를 판정한다. 이에 의해, 인쇄시 기동 애플리케이션(205)은 프린터 드라이버(201)가 서포트하지 않고, 인쇄시 기동 애플리케이션(205)이 제공 가능한 기능이 존재하는지의 여부를 판정한다. 이 판정 처리에 대해서는 도 15를 참조하여 상세히 후술한다.
단계 S611에서, 해당 기능이 존재하지 않는다고 판단되는 경우(단계 S611에서 아니오), 처리는 단계 S613으로 진행한다. 단계 S611에서 해당 기능이 존재한다고 판단되는 경우(단계 S611에서 예), 단계 S612에서, 인쇄시 기동 애플리케이션(205)은 해당 기능을 확장 기능으로서 로컬 스토리지에 보존한다.
다음으로, 단계 S613에서, 인쇄시 기동 애플리케이션(205)은 인쇄 프리뷰가 유효인지, 또는 제공될 확장 기능이 존재하는지를 판단한다. 인쇄시 기동 애플리케이션(205)이 인쇄 프리뷰가 유효하거나, 또는 제공될 확장 기능이 존재한다고 판단하는 경우(단계 S613에서 예), 처리는 단계 S604로 진행한다. 단계 S604에서, 인쇄시 기동 애플리케이션(205)은 유저 인터페이스를 표시하도록 지시한다. 인쇄시 기동 애플리케이션(205)이 인쇄 프리뷰가 유효하지 않거나, 또는 제공될 확장 기능이 존재하지 않는다고 판단하는 경우(단계 S613에서 아니오), 인쇄시 기동 애플리케이션(205)은 셋업 처리를 종료한다.
전술한 바와 같이, 인쇄시 기동 애플리케이션(205)의 셋업 처리에서는 유저 인터페이스의 기동이 필요한지의 여부가 판단된다. 그것이 필요한 경우에, 유저 인터페이스를 기동하도록 지시되고, 그 후의 처리에 필요한 정보가 저장된다.
<PrintTicket 및 PrintCapabilities의 구성예와 관련 처리>
도 9 내지 도 12는 상이한 구성들을 가지는 프린터 드라이버 및 팩스 드라이버의 PrintCapabilities의 예들이다. 이 드라이버들의 PrintCapabilities는 설명에 필요한 부분을 중심으로 기술한 것이며, 부분적으로 생략되어 있다.
도 9는 팩스 드라이버(511)의 PrintCapabilities의 예들이다. PrintCapabilities의 선두에는 "psf:PrintCapabilities" 요소가 있다. "psf:PrintCapabilities" 요소의 속성들로서, PrintCapabilities에서 이용되는 이름 공간들이 정의된다. 통상, 여기에서는 "PrintSchema"라고 불리는 OS 표준의 정의들을 나타내는 이름 공간들에 첨가하여, 이 프린터 드라이버(201)를 제공하는 프린터 벤더가 독자적으로 정의한 이름 공간이 열거된다. 도 9에 나타낸 PrintCapabilities는 프린터 벤더가 독자적으로 정의한 이름 공간(901)을 포함한다.
한편, 도 10은 기종별 프린터 드라이버(508)의 PrintCapabilities의 일례이다. 도 10에서 나타낸 PrintCapabilities(1000)는 프린터 벤더가 독자적으로 정의한 이름 공간(1001)을 포함한다. 또한, 도 11은 공통 드라이버(509)의 PrintCapabilities의 일례를 나타낸다. 도 12는 표준 프린터 드라이버(510)의 PrintCapabilities의 일례를 나타낸다.
이름 공간은 선택 가능한 기능, 선택 항목, 및 그 기능 또는 선택 항목의 정의를 일의적으로 정하기 위해 사용된다. 동일한 프린터 벤더가 제공하는 프린터 드라이버들(201)이라도, 프린터 드라이버들(201)이 프린터 기능들 및 팩스 기능들에 있어서, 기능 집합이 서로 크게 상이한 경우에는 일반적으로 상이한 값들이 설정된다. 이것을 이용하여, 단계 S602에서, 이름 공간이, 도 9의 이름 공간(901) 내에 나타낸 바와 같은 "http://www.mfpvendor.com/ns/printschema/fax/v100"이라는 URL(Uniform Resource Locator)을 포함하는지의 여부가 판정될 수 있다.
도 13은 도 10에 도시한 기종별 프린터 드라이버(508)의 PrintCapabilities(1000)를 기초로 생성되는 PrintTicket의 일례이다. 도 13에 도시된 바와 같이, PrintTicket은 PrintCapabilities(1000)에서 정의된 기능들의 설정값들을 저장한다. 예를 들어, "psk:PageMediaType"라는 피쳐는 인쇄에 이용하는 용지 종류를 나타낸다. 도 13의 PrintTicket에서는 "psk:Plain", 즉, 보통지가 지정되어 있다. 단계 S607의 인쇄 프리뷰의 기동 지시가 존재하는지의 판정 처리에서는 "ns0000:JobPreview"라는 피쳐의 지정 값이 "ns0000:ON"인지 여부가 판정된다.
다음으로, 단계 S611의 판정 처리에 대해서 도 10 내지 도 12의 PrintCapabilities와, 도 15를 참조하여 상세히 설명한다. 도 15는 인쇄시 기동 애플리케이션(205)이 확장 기능으로서 제공 가능한 미리결정된 기능들과, 미리결정된 기능들의 선택 항목들의 일람을 나타낸다. 이 경우에는 인쇄시 기동 애플리케이션(205)은 복수 페이지를 하나의 페이지에 레이아웃해서 복수 페이지를 인쇄하는 페이지 레이아웃 기능과, 인쇄 결과에 지정된 스탬프를 중첩하는 스탬프 기능을 갖는다.
인쇄시 기동 애플리케이션(205)은 단계 S611의 판정 처리에 있어서, PrintCapabilities를 해석하고, 도 15의 "기능 명칭"에 의해 나타낸 기능이 존재 하는지의 여부를 확인한다. 인쇄 대상이 기종별 프린터 드라이버(508)의 PrintCapabilities(1000)인 경우, "JobNUpAllDocumentsContiguously"라는 피쳐와 "PageStamp"이라는 피쳐가 존재한다. 따라서, 단계 S611의 판정 결과는 아니오가 된다.
인쇄 대상이 공통 프린터 드라이버(509)의 PrintCapabilities(1100)인 경우, "JobNUpAllDocumentsContiguously"라는 피쳐가 존재하지만, "PageStamp"라는 피쳐는 존재하지 않는다. 따라서, 단계 S611의 판정 결과는 예가 된다. 그 경우에, 인쇄시 기동 애플리케이션(205)이 확장 기능으로서 PageStamp, 즉 스탬프 기능을 제공한다. 인쇄 대상이 표준 프린터 드라이버(510)의 PrintCapabilities(1200)인 경우, "JobNUpAllDocumentsContiguously"라는 피쳐도 "PageStamp"라는 피쳐도 존재하지 않는다. 따라서, 단계 S611에서의 판정 결과는 "예"가 된다. 이 때, 인쇄시 기동 애플리케이션(205)이 확장 기능으로서 JobNUpAllDocumentsContiguously와 PageStamp, 즉 레이아웃 기능과 스탬프 기능을 제공한다.
<WSDA의 처리 및 유저 인터페이스의 구성예>
도 17은 유저가 기종별 프린터 드라이버(508)를 선택한 경우에 WSDA(207)에 의해 제공되는 유저 인터페이스의 일례를 도시하는 도면이다. 도 17의 화면은 WSDA(207)이 제공하는 설정 화면의 일례이며, 묘화 애플리케이션에 의해 인쇄 요구가 행해지기 전에 제공되는 화면이다. 기종별 프린터 드라이버(508)는 항목(1002)에 도시된 바와 같이, "JobPreview"라는 피쳐를 서포트하고 있으며, 이것은 인쇄 프리뷰 기능을 나타낸다. WSDA(207)는 프린터 드라이버(201)로부터 취득한 PrintCapabilities를 기초로 유저 인터페이스를 구성하기 때문에, 항목(1002)에 기초하여, 인쇄 프리뷰의 유효 및 무효 상태들을 전환하기 위한 컨트롤 항목(1701)을 표시한다. WSDA(207)는 유저의 지정에 따라, "JobPreview"라는 피쳐의 온 또는 오프 상태를 PrintTicket에 저장한다. 인쇄시 기동 애플리케이션(205)은 단계 S607의 처리에서 이 정보를 참조하여, 인쇄 프리뷰의 기동 지시가 있는지의 여부를 판단한다.
도 18은 인쇄처로서 표준 프린터 드라이버(510)가 선택되었을 때 WSDA(207)가 제공하는 유저 인터페이스의 일례를 도시하는 도면이다. 도 18의 화면도 WSDA(207)가 제공하는 설정 화면의 일례이며, 묘화 애플리케이션에 의해 인쇄 요구가 행해지기 전에 제공되는 화면이다. 표준 프린터 드라이버(510)는 "JobPreview"라는 피쳐를 서포트하지 않는다. 이러한 경우, WSDA(207)는 확장 기능을 유효로 할 것인지 여부를 선택하기 위한 컨트롤 항목(1801)을 표시한다. WSDA(207)는 유저가 OK 버튼(1802)을 누르는 타이밍에서, 컨트롤 항목(1801)에 지정된 값을 PropertyBag에 저장한다. 또한, WSDA(207)는 확장 기능에 첨가하여 인쇄 프리뷰의 기동을 지시하도록 구성될 수 있다. 이 경우, 확장 기능과 인쇄 프리뷰는 상이한 컨트롤들을 이용하여 지정 가능해도 되거나, 하나의 컨트롤을 이용하여 동시적으로 지정 가능해도 된다.
또한, PEX(209)도 WSDA(207)의 상기 처리와 동등한 처리에 의해 인쇄시 기동 애플리케이션(205)의 기동을 제어하기 위한 방법을 제공할 수 있다.
<인쇄시 기동 애플리케이션의 UI 처리>
단계 S605의 UI를 표시하도록 지시되는 경우, OS는 인쇄시 기동 애플리케이션(205)의 셋업 처리가 종료한 후, 인쇄시 기동 애플리케이션(205)의 UI 처리를 호출한다. 도 7은 본 인쇄 시스템에 있어서의 인쇄시 기동 애플리케이션(205)에 의한 UI 처리 중 주요한 처리 절차를 도시한 도면이다. 본 처리 절차는 예를 들어 도 5의 MFPUtility(506)의 구성에서 인쇄시 기동 애플리케이션(205)의 처리 일례이다. 이하 설명에서는 인쇄시 기동 애플리케이션(205)이 각각의 처리를 행해도 되지만, 실제로는 대응하는 프로그램을 CPU(111)가 실행함으로써, 각각의 기능이 실현된다. 모든 처리는 반드시 하나의 프로세스에서 순차적으로 실행되는 것은 아니고, 일단 OS로 처리가 옮겨지고, 다시 OS에 의해 호출되는 경우도 있을 수 있다. 처리 플로우는 인쇄시 기동 애플리케이션(205)의 주요한 처리를, 편의적으로 간단히 설명하는 플로우일 뿐이다. 단계 S605에서 UI를 표시하도록 지시되지 않은 경우, OS는 도 7에 나타낸 UI 처리를 스킵하고, 후술하는 편집 및 종료 처리를 호출한다.
먼저, 단계 S701에서, 인쇄시 기동 애플리케이션(205)은 단계 S603 또는 S606에서 보존된 동작 모드를 로컬 스토리지로부터 판독한다. 단계 S702에서, 인쇄시 기동 애플리케이션(205)은 동작 모드가 팩스 드라이버 모드인지 여부를 판단한다.
동작 모드가 팩스 드라이버 모드인 경우(단계 S702에서 예), 단계 S703에서, 인쇄시 기동 애플리케이션(205)은 팩스 드라이버용의 유저 인터페이스를 구성한다. 팩스 드라이버용의 유저 인터페이스는 송신처와 팩스 번호를 유저가 지정할 수 있게 하는 컨트롤 항목을 포함한다. 팩스 드라이버용의 유저 인터페이스의 상세는 도 19를 참조하여 후술한다.
단계 S704에서, 인쇄시 기동 애플리케이션(205)은 유저로부터 입력을 접수한다. 유저 인터페이스상에서 팩스를 송신하도록 지시되면, 단계 S705에서, 인쇄시 기동 애플리케이션(205)은 유저가 지정한 송신처와 팩스 번호를 로컬 스토리지에 보존한다.
이상이 인쇄시 기동 애플리케이션(205)의 팩스 드라이버 모드의 처리이다. 전술한 바와 같이, 인쇄시 기동 애플리케이션(205)은 팩스 드라이버 모드에서는 유저가 송신처와 팩스 번호를 지정할 수 있게 하는 입력 화면으로서의 유저 인터페이스를 항상 표시한다(도 19 참조). 팩스 드라이버에 있어서, 송신처와 팩스 번호는 팩스를 송신하기 위해 필수적인 송신처 정보이다. 가령 WSDA(207) 또는 PEX(209)가 유저가 송신처와 팩스 번호를 지정할 수 있게 하도록 구성되어도, WSDA(207) 또는 PEX(209)의 유저 인터페이스는 인쇄가 행해질 때, 항상 오픈되는 것은 아니다. 인쇄시 기동 애플리케이션(205)은 유저가 송신처와 팩스 번호를 지정할 수 있게 함으로써, 유저는 현재의 팩스 송신 처리의 수신처를 확실하게 입력할 수 있다. 또한, 유저의 지시가 있을 경우에만 표시되는 WSDA(207) 또는 PEX(209)의 화면에서도, 유저가 송신처와 팩스 번호를 지정할 수 있게 구성해도 된다. 이렇게 함으로써, 어떠한 이유로 인쇄시 기동 애플리케이션(205)이 기동하지 않는 경우에도, 송신처와 팩스 번호를 지정하는 방법을 제공할 수 있다. WSDA(207) 또는 PEX(209)가 유저가 송신처와 팩스 번호를 지정할 수 있게 구성되는 경우, 인쇄시 기동 애플리케이션(205)은 미리결정된 경우에만 UI를 표시하도록 지시해도 된다. 즉, 인쇄시 기동 애플리케이션(205)은 PrintTicket에 송신처와 팩스 번호가 포함되는 경우에는 단계 S605에서 UI를 표시하도록 지시한다. 인쇄시 기동 애플리케이션(205)은 PrintTicket에 송신처와 팩스 번호가 포함되지 않은 경우에는 단계 S605에서 UI를 표시하도록 지시하지 않는다. 이렇게 함으로써, 유저가 WSDA(207) 또는 PEX(209)에서 송신처와 팩스 번호를 지정하는 것을 잊어버린 경우에만, 인쇄시 기동 애플리케이션이 기동하도록 구성될 수 있다.
단계 S702에서, 동작 모드가 팩스 드라이버 모드가 아니라고 판단되는 경우(단계 S702에서 아니오), 단계 S706에서 인쇄시 기동 애플리케이션(205)은 단계 S612에서 보존된 확장 기능을 판독한다.
다음으로, 단계 S707에서, 인쇄시 기동 애플리케이션(205)은 단계 S608에서 보존된 정보를 참조하여, 인쇄 프리뷰가 유효한지의 여부를 판단한다. 인쇄 프리뷰가 유효하지 않을 경우(단계 S707에서 아니오), 처리는 단계 S713의 유저 인터페이스 구성 처리로 진행한다. 인쇄 프리뷰가 유효할 경우(단계 S707에서 예), 단계 S708에서 인쇄시 기동 애플리케이션(205)은 PrintTicket을 취득한다.
또한, 단계 S709에서, 인쇄시 기동 애플리케이션(205)은 그 PrintTicket을 기초로, PrintCapabilities를 취득한다. PrintCapabilities을 취득하기 위해 시간을 필요로 하기 때문에, 도 6의 셋업 처리에서 필요한 정보를 로컬 스토리지에 보존해 두고, 단계 S709에서는 그 보존된 정보를 이용하게 구성해도 된다.
다음으로, 단계 S710에서, 인쇄시 기동 애플리케이션(205)은 취득한 PrintCapabilities를 해석하고, 특정 기능이 PrintCapabilities에 의해 서포트되는지를 탐색한다. 그리고, 인쇄시 기동 애플리케이션(205)은 찾은 기능과 PrintTicket에 기술되어 있는 설정값을 드라이버 기능으로서 로컬 스토리지에 보존한다. 이 경우에, 일례로서, 인쇄시 기동 애플리케이션(205)은 2개의 기능, 즉, 레이아웃기능과 용지 종류 설정을 특정 기능들로서 탐색한다. 탐색 처리는 PrintCapabilities에 규정된 이름을 갖는 피쳐가 존재하는지의 여부를 판단함으로써 실행된다. 단계 S612에서 보존된 확장 기능이 드라이버가 갖고 있지 않은 기능을 나타내는 반면, 단계 S710에서 보존된 드라이버 기능들은 드라이버가 갖고 있는 기능들이다. 따라서, PrintTicket에서 이 드라이버 기능들이 유효화된 경우, 프린터 드라이버(201)는 드라이버 기능들의 지정에 따른 처리를 적절하게 실행할 수 있다.
다음으로, 단계 S711에서, 인쇄시 기동 애플리케이션(205)은 OS의 미리결정된 API를 이용해서 XPS 문서를 취득한다. 또한, 단계 S712에서, 인쇄시 기동 애플리케이션(205)은 그 XPS 문서의 내용을 해석하고, XPS 문서를 표시 유닛(119)에 표시한다. 이 처리에서, 인쇄시 기동 애플리케이션(205)은 PrintTicket에 설정된 설정값을 인쇄 결과에 반영함으로써, 보다 정확한 인쇄 프리뷰를 실현할 수 있다.
인쇄시 기동 애플리케이션(205)이 수취하는 XPS 문서는 인쇄 요구원인 애플리케이션이 생성한 것이며, 프린터 드라이버(201)가 처리하기 전의 데이터이다. 따라서, 예를 들어, XPS 문서 중의 PrintTicket에서 레이아웃 인쇄가 지정되어 있었다고 해도, 인쇄시 기동 애플리케이션(205)이 수취하는 XPS 문서에는 레이아웃 처리가 실시되어 있지 않다. 이러한 경우를 고려하여, 인쇄시 기동 애플리케이션(205)은 그 후의 드라이버에 의해 구현되는 것과 동등한 로직에 따라 인쇄 설정을 반영한 인쇄 이미지를 표시 유닛(119)에 표시한다. 인쇄시 기동 애플리케이션(205)이 표시하는 유저 인터페이스상에서 인쇄 설정이 변경된 경우, 인쇄시 기동 애플리케이션(205)은 변경을 반영한 인쇄 이미지를 표시 유닛(119)에 재표시한다. 표준 프린터 드라이버(510)와 같이, 프린터 벤더가 제공하고 있지 않는 프린터 드라이버에 있어서는 어떤 로직에 따라 인쇄 설정이 XPS 문서에 반영될지 모른다. 이 경우에는 인쇄시 기동 애플리케이션(205)은 지정된 기능의 반영을 스킵할 것인지, 독자 로직에 따라 지정된 기능을 반영한 후에, 인쇄 결과가 상이할 가능성이 있음을 나타내는 정보를 표시 유닛(119)에 표시한다. 또한, 인쇄시 기동 애플리케이션(205)이 제공할 XPS 문서의 편집도 포함한 확장 기능에 대해서는 인쇄시 기동 애플리케이션(205)은 실제의 편집과 같은 로직에 따라 인쇄 설정을 반영한 인쇄 이미지를 표시 유닛(119)에 표시해도 된다.
다음으로, 단계 S713에서, 인쇄시 기동 애플리케이션(205)은 단계 S612에서 보존된 확장 기능 및 단계 S710에서 보존된 드라이버 기능을 유저가 지정할 수 있게 하는 컨트롤을 갖는 유저 인터페이스를 구성한다. 단계 S612에서 보존된 확장 기능의 초이스들로서 표시될 항목들은 도 15의 "옵션"의 정보, 즉, 인쇄시 기동 애플리케이션(205)이 서포트하는 항목들이다. 단계 S710에서 보존된 드라이버 기능의 초이스들로서 표시될 항목들은 PrintCapabilities의 해당 기능의 옵션들의 일람이다. 예를 들어, PrintCapabilities(1000)의 정보를 기초로 유저가 용지 종류를 지정할 수 있게 하기 위해, "psk:PageMediaType"에 의해 서포트되는 모든 옵션들(psk:Plain, ns0000:PhotoPaper 등)을 초이스들로서 열거한다. PrintCapabilities(1000)에서는 나타내지 않았지만, 통상, 각각의 피쳐 및 각각의 옵션에는 "DisplayName"이라는 요소가 존재한다. DisplayName에는 로컬라이즈된 적절한 명칭 정보가 저장되어 있다. 따라서, 인쇄시 기동 애플리케이션(205)은 각각의 드라이버 기능의 초이스들로서 DisplayName의 명칭들을 표시한다.
단계 S714에서, 인쇄시 기동 애플리케이션(205)은 유저로부터 입력을 접수한다. 유저 인터페이스상에서 인쇄를 행하도록 지시되면, 단계 S715에서, 인쇄시 기동 애플리케이션(205)은 유저가 지정한 각각의 기능의 설정값을 로컬 스토리지에 보존한다. 이상이 인쇄시 기동 애플리케이션(205)의 프린터 드라이버 모드의 처리이다.
단계 S708 내지 S710의 처리들은 단계 S707에서 인쇄 프리뷰가 유효하지 않다고 판정되더라도 실행하도록 구성해도 된다. 이에 의해, 인쇄 전에 반드시 확인이 필요한 중요한 인쇄 설정에 대해서, 인쇄시 기동 애플리케이션(205)이 유저에게 다시 확인하도록 촉진시킨다. 필요하면, 중요한 인쇄 설정을 변경할 수 있는 방법을 유저에게 제공할 수 있다.
도 19는 인쇄시 기동 애플리케이션(205)이 팩스 드라이버 모드에서 동작하는 경우에 표시되는 입력 화면으로서의 유저 인터페이스의 일례를 도시하는 도면이다. 표시 항목(1901)은 유저가 송신처를 지정하기 위한 컨트롤 항목이다. 표시 항목(1902)은 유저가 팩스 번호를 입력하기 위한 컨트롤 항목이다. 표시 항목(1903)은 주소록을 기동하기 위한 버튼이다. 이 버튼을 누르면 주소록이 기동된다. 주소록상에서 수신처를 선택함으로써, 송신처와 팩스 번호가 자동 입력된다. 표시 항목(1905)은 팩스 송신을 개시하기 위한 버튼이다. 송신처와 팩스 번호가 입력되지 않은 상태에서 유저는 이 버튼을 누를 수 없다. 표시 항목(1906)은 "캔슬" 버튼이다. 유저가 이 버튼을 누르면, 그 후의 팩스 송신 처리가 캔슬된다.
본 구성에 의해, 인쇄시 기동 애플리케이션(205)은 팩스 드라이버 모드에서는 항상 유저가 송신처와 팩스 번호를 지정할 수 있게 하는 입력 화면으로서의 유저 인터페이스를 표시하는 것이 가능하게 된다. 팩스 드라이버에 있어서, 송신처와 팩스 번호는 팩스를 송신하기 위해 필수적인 정보이다. 인쇄시 기동 애플리케이션(205)은 유저가 송신처와 팩스 번호를 지정할 수 있게 함으로써, 유저는 현재의 팩스 송신 처리의 수신처를 확실하게 입력할 수 있다.
도 20은 표준 프린터 드라이버(510)가 동작할 때, 인쇄시 기동 애플리케이션(205)이 프린터 드라이버 모드에서 동작할 경우에 표시되는 확장 기능을 지정하기 위한 유저 인터페이스의 일례이다. 도 20에서는, 인쇄 프리뷰 기능이 유효하지 않다. 표준 프린터 드라이버(510)의 PrintCapabilities(1200)에 의해서는 레이아웃 인쇄 기능도 스탬프 기능도 서포트되지 않는다. 따라서, 인쇄시 기동 애플리케이션(205)은 단계들 S611 및 S612의 처리들에서, 확장 기능들로서, 2개의 기능, 즉, 레이아웃 인쇄 기능 및 스탬프 기능을 보존한다. 그 결과, 이 2개의 기능이 확장 기능으로서 제공된다. 표시 항목(2001)은 레이아웃 인쇄 기능의 설정을 지정하기 위한 컨트롤 항목이다. 표시 항목(2002)은 스탬프 기능의 설정을 지정하기 위한 컨트롤 항목이다. 표시 항목(2003)은 인쇄를 개시하기 위한 버튼이다. 표시 항목(2004)은 "캔슬" 버튼이다. 유저가 이 버튼을 누르면, 그 후의 인쇄 처리는 캔슬된다. 또한, 동작 드라이버가 공통 프린터 드라이버(509)인 경우에는, 확장 기능으로서 스탬프 기능만이 표시된다. 이것은 공통 프린터 드라이버(509)의 PrintCapabilities(1100)에 의해 레이아웃 기능이 서포트되기 때문이다.
본 구성에 의해, 표준 프린터 드라이버(510)에서와 같이, OS와 마찬가지로 Microsoft®에 의해 제공되고 프린터 벤더가 기능을 확장할 수 없는 드라이버에 있어서 인쇄시 기동 애플리케이션(205)을 이용함으로써, 인쇄 기능의 확장을 실현할 수 있다. 또한, 동작하는 드라이버의 능력을 나타내는 정보를 판단하여, 부족한 기능만이 확장 기능으로서 제공된다. 이에 의해, 이용 가능한 복수의 종류의 프린터 드라이버들(201)이 존재하는 경우에 있어서, 각각의 프린터 드라이버(201)에 대해 최적인 확장 기능을 제공할 수 있다. 또한, 인쇄가 행해질 때, 표시되는 유저 인터페이스를 참조하여 기능을 확장할지의 여부를 유저가 제어할 수 있다. 이에 의해, 때마다 유저 인터페이스가 표시되는 것이 바람직하지 않은 사용례에도 대응할 수 있다.
도 21은 기종별 프린터 드라이버(508)가 동작할 때, 인쇄시 기동 애플리케이션(205)이 프린터 드라이버 모드에서 동작할 경우의 유저 인터페이스의 일례이다. 인쇄 프리뷰 기능은 유효화된다. 표시 항목(2101)은 인쇄 프리뷰상에서 표시할 페이지를 변경하기 위한 컨트롤 항목이다. 유저는 이 컨트롤 항목을 이용해서 표시 페이지를 변경할 수 있고 또한 현재의 인쇄 데이터와 인쇄 설정에 기초하여 인쇄될 총 페이지 수를 확인할 수도 있다. 표시 항목(2102)은 지정되어 있는 페이지의 인쇄 결과의 이미지를 나타내는 인쇄 프리뷰 화면이다. 표시 항목들(2103)은 레이아웃 인쇄 기능을 지정하기 위한 컨트롤 항목이다. 표시 항목(2104)은 용지 종류를 지정하기 위한 컨트롤 항목이다. 표시 항목들(2013, 2014)은 확장 기능들이 아니고 드라이버 기능들을 나타낸다. 따라서, 전술한 바와 같이, 선택 항목들은 프린터 드라이버(201)의 기능에 기초한다. 표시 항목(2105)은 인쇄를 개시하기 위한 버튼이다. 표시 항목(2106)은 "캔슬" 버튼이다. 유저가 이 버튼을 누르면, 그 후의 인쇄 처리는 캔슬된다. 도 21에서는 드라이버 기능들만이 표시된다. 그러나, 도 6과 도 7의 처리 결과로서, 드라이버 기능과 확장 기능이 모두 유효화된 경우, 인쇄시 기동 애플리케이션(205)은 그 모든 기능들을 유저가 지정할 수 있게 하는 컨트롤들을 표시한다.
본 구성에 의해, 묘화 애플리케이션의 생성한 XPS 문서와 유저에 의해 지정된 인쇄 설정을 기초로, 인쇄 결과에 가까운 인쇄 이미지를 인쇄 전에 표시하는 인쇄 프리뷰 기능을 실현할 수 있다. 또한, 인쇄 결과나 인쇄될 페이지 수를 확인하면서, 인쇄 설정을 최종 조정하기 위한 변경도 유저가 행할 수 있게 된다. 이 기능들에 의해, 미스프린트를 방지하고, 또한 예를 들어, 원하는 페이지 수 내로 인쇄를 행하는 최종 조정 방법을 제공하는 것도 가능하게 된다.
<인쇄시 기동 애플리케이션의 편집 및 종료 처리>
도 7의 인쇄시 기동 애플리케이션(205)의 UI 처리가 종료한 후, OS는 도 8의 인쇄시 기동 애플리케이션(205)의 편집 및 종료 처리를 호출한다. 단계 S605의 UI 표시 지시 처리가 실행되지 않은 경우, OS는 도 7의 인쇄시 기동 애플리케이션(205)의 UI 처리를 호출하는 일 없이, 편집 및 종료 처리를 호출한다. 본 처리 절차는, 예를 들어 도 5의 MFPUtility(506)의 구성에서의 인쇄시 기동 애플리케이션(205)에 의한 처리의 일례이다. 이하 설명에서, 인쇄시 기동 애플리케이션(205)은 각각의 처리를 수행할 수 있지만, 실제로는 대응하는 프로그램을 CPU(111)가 실행함으로써 각각의 기능이 실현된다. 또한, 모든 처리는 반드시 하나의 프로세스에서 순차적으로 실행되는 것은 아니고, 일단 OS로 처리가 옮겨지고, 다시 OS에 의해 호출되는 경우도 있을 수 있다. 처리 절차는 인쇄시 기동 애플리케이션(205)의 주요한 처리를, 편의적으로 간단히 설명하는 플로우일 뿐이다.
단계 S801에서, 인쇄시 기동 애플리케이션(205)은 로컬 스토리지로부터, 단계 S603 또는 S606에서 보존된 동작 모드 및 단계 S604에서 보존된 UI 표시 정보를 판독한다. 단계 S802에서 UI가 표시되지 않은 것으로 판단한 경우(단계 S802에서 아니오), 단계 S806에서, 인쇄시 기동 애플리케이션(205)은 OS의 API를 이용해서 XPS 문서를 취득한다. 단계 S807에서, 인쇄시 기동 애플리케이션(205)은 XPS 문서를 아무것도 변경하지 않고서 XPS 문서를 출력한다. 전술한 바와 같이, 인쇄시 기동 애플리케이션(205)은 XPS 문서를 변경하지 않을 경우에도, 인쇄시 기동 애플리케이션(205)은 XPS 문서를 일단 모두 취득하고 XPS 문서를 출력할 필요가 있다. 이상이 유저 인터페이스가 표시되지 않을 경우의 인쇄시 기동 애플리케이션(205)의 처리이다. 전술한 바와 같이, 인쇄시 기동 애플리케이션(205)은 유저 인터페이스를 표시할 필요가 없다고 판단된 경우에는 유저 인터페이스를 표시하지 않고 처리는 종료한다.
단계 S802에서 UI가 표시된다고 판단되는 경우(단계 S802에서 예), 단계 S808에서, 인쇄시 기동 애플리케이션(205)은 단계 S801에서 판독된 정보를 기초로, 동작 모드가 팩스 드라이버 모드인지 여부를 판단한다. 동작 모드가 팩스 드라이버 모드라고 판단되는 경우(단계 S808에서 예), 단계 S803에서, 인쇄시 기동 애플리케이션(205)은 단계 S705에서 보존된 송신처와 팩스 번호를 로컬 스토리지로부터 취득한다. 다음으로, 단계 S804에서, 인쇄시 기동 애플리케이션(205)은 OS의 API를 이용해서 PrintTicket을 취득한다. 또한, 단계 S805에서, 인쇄시 기동 애플리케이션(205)은 단계 S803에서 취득한 송신처와 팩스 번호를 PrintTicket에 저장한다.
도 14는 상기의 정보를 저장한 PrintTicket의 일례를 도시한다. 이 경우에, 송신처는 JobRecipientName으로서 저장되어 있고, 팩스 번호는 JobFaxNumber로서 저장되어 있다. PrintTicket을 편집한 후, 인쇄시 기동 애플리케이션(205)은 필요에 따라 그 편집된 PrintTicket을 XPS 문서에 저장한 후에, XPS 문서를 출력하고, 처리가 종료한다. 팩스 드라이버(511)는 PrintTicket을 참조하여 송신처와 팩스 번호를 취득하고, 지정된 팩스 번호로 팩스에 의해 송신될 작업을 인쇄 장치(102)에 송신한다.
단계 S808에서, 동작 모드가 팩스 드라이버 모드가 아니라고 판정되는 경우(단계 S808에서 아니오), 인쇄시 기동 애플리케이션(205)은 단계 S710에서 제공될 기능을 결정한다. 그리고, 단계 S809에서, 인쇄시 기동 애플리케이션(205)은 표시 항목(2104)을 사용하여 유저에 의해 지정된 드라이버 기능의 설정값을 로컬 스토리지로부터 판독한다. 다음으로, 단계 S810에서, 인쇄시 기동 애플리케이션(205)은 드라이버 기능의 설정값이 초기 상태로부터 변경된 것인지 여부를 판단한다.
단계 S810에서 드라이버 기능의 설정값 변경이 없다고 판단되는 경우(단계 S810에서 아니오), 처리는 단계 S813으로 진행한다. 단계 S810에서 드라이버 기능의 설정값 변경이 있다고 판단되는 경우(단계 S810에서 예), 단계 S811에서, 인쇄시 기동 애플리케이션(205)은 PrintTicket을 취득한다. 단계 S812에서, 인쇄시 기동 애플리케이션(205)은 단계 S809에서 취득된 드라이버 기능의 설정값을 PrintTicket에 반영한다. 이들의 처리를 실현하기 위한, 로컬 스토리지에 저장되는 정보의 구성, 및 PrintTicket에의 설정값 반영을 위한 반영 방법에 대해서는 후술한다. 설정값이 변경된 드라이버 기능이 복수 존재하는 경우, 인쇄시 기동 애플리케이션(205)은 모든 드라이버 기능들의 설정값들을 PrintTicket에 반영하기 위한 반영 처리를 행한다. PrintTicket에의 설정값 반영 후, 단계 S813에서, 인쇄시 기동 애플리케이션(205)은 XPS 문서를 취득한다.
다음으로, 단계 S814에서, 인쇄시 기동 애플리케이션(205)은 단계 S612에서의 결정에 따라 제공될, 예를 들어, 표시 항목(2002)을 사용하여 유저에 의해 지정된 확장 기능의 설정값을 로컬 스토리지로부터 판독한다. 다음으로, 단계 S815에서, 인쇄시 기동 애플리케이션(205)은 확장 기능의 설정값이 지정되었는지의 여부를 판단한다. 단계 S815에서 확장 기능의 설정값이 지정되어 있지 않다고 판단되는 경우(단계 S815에서 아니오), 단계 S817에서, 인쇄시 기동 애플리케이션(205)은 XPS 문서를 출력하고, 처리가 종료한다.
단계 S815에서 확장 기능의 설정값이 지정되어 있다고 판단되는 경우(단계 S815에서 예), 인쇄시 기동 애플리케이션(205)은 유저가 지정한 확장 기능과 확장 기능의 설정값에 따라, XPS 문서 내의 묘화 데이터를 편집한다. 예를 들어, 2 페이지를 1 페이지에 레이아웃하는 레이아웃 인쇄 기능이 지정되는 경우를 설명한다. 이 경우, 인쇄시 기동 애플리케이션(205)은 XPS 문서 내의 묘화 데이터에 있어서의 페이지의 개념인 FixedPage를 2페이지분 취득하고, 1 페이지의 FixedPage 상에 묘화 데이터를 축소 방식으로 배치한다. 이것에 기초하여, 인쇄시 기동 애플리케이션(205)은 원래의 2 페이지분의 FixedPage를 묘화 데이터에서 삭제하고, 새롭게 작성된 FixedPage를 묘화 데이터에 추가한다. 이러한 처리를 모든 페이지에 대하여 반복 실행한다. 지정된 확장 기능이 복수 존재하는 경우, 인쇄시 기동 애플리케이션(205)은 확장 기능들의 모든 지정을 반영한 묘화 데이터를 생성한다. 마지막으로, 인쇄시 기동 애플리케이션(205)은 편집된 묘화 데이터를 포함하는 XPS 문서를 출력하고, 처리가 종료한다.
이상과 같이, 본 구성에 있어서의 인쇄시 기동 애플리케이션(205)은 프린터 드라이버(201)가 서포트하는 드라이버 기능의 설정값이 변경된 경우에는 그 변경을 PrintTicket에 반영한다. 그리고, 인쇄시 기동 애플리케이션(205)은 XPS 문서 내의 묘화 데이터의 편집을 위한 편집 처리를 프린터 드라이버(201)에 맡긴다. 이에 의해, 인쇄시 기동 애플리케이션(205)은 불필요한 XPS 문서의 편집을 위한 편집 처리를 실시할 필요가 없이, 고속 처리를 행할 수 있다. 추가적으로, 프린터 드라이버(201)의 기능을 이용하기 때문에, WSDA(207)를 통해 기능이 지정된 경우와, 인쇄시 기동 애플리케이션(205)을 통해 기능이 지정된 경우에, 완전히 동일한 결과를 얻을 수 있다.
한편, 본 구성에 있어서의 인쇄시 기동 애플리케이션(205) 자체는 프린터 드라이버(201)가 서포트하지 않는 확장 기능에 대해서는 인쇄시 기동 애플리케이션(205) 자체가, XPS 문서 내의 묘화 데이터를 편집한다. 이에 의해, 프린터 드라이버(201)가 서포트하지 않는 기능을 유저에게 제공할 수 있다.
도 16은 로컬 스토리지에 저장되는 정보의 일례를 나타낸 도이다. 저장된 정보는 명칭과 값을 포함한다. 이 예는 인쇄시 기동 애플리케이션(205)이 프린터 드라이버 모드에서 동작하고, 확장 기능으로서 스탬프 기능이 제공되고, 드라이버 기능으로서 레이아웃 인쇄 기능이 제공되는 것을 나타난다. 단계 S612의 처리에서는, 로컬 스토리지에 "extension function_PageStamp"라는 명칭과 널(null) 값을 갖는 정보가 추가된다.
인쇄시 기동 애플리케이션(205)의 유저 인터페이스 상에 스탬프 기능이 지정되는 경우, 단계 S715의 처리에서 지정된 값이 "extension function_PageStamp"의 값으로서 저장된다. 이 경우, 값은 유저에 의해 "Confidential"이라는 설정값으로 변경된다. 드라이버 기능인 레이아웃 인쇄 기능에 대해, 단계 S710의 처리에서, "driver function_JobNUpAllDocumentsContiguously"라는 명칭과, PrintTicket에 설정되어 있는 초기값에 대응하는 값을 갖는 정보가 추가된다. 인쇄시 기동 애플리케이션(205)의 유저 인터페이스 상에서 레이아웃 인쇄 기능의 지정 값이 변경된 경우, 단계 S715의 처리에서 변경된 값이 저장된다. 이 경우, 유저에 의해 값이 "ns0000:PagesPerSheet_2"라는 설정값으로 변경된다. 이 명칭은 프린터 드라이버(201)의 PrintCapabilities에 정의되어 있는 Option 명칭이다. 전술한 바와 같이, 로컬 스토리지에 저장되어 있는 정보의 프리픽스에 기초하여, 각각의 기능이 확장 기능 및 드라이버 기능 중 어느 것인지를 판단할 수 있다.
단계 S810의 처리에서, 인쇄시 기동 애플리케이션(205)은 로컬 스토리지에 "driver function_"이라는 프리픽스로 시작되는 드라이버 기능이 존재하는지를 판정한다. 단계 S812의 처리에서, 인쇄시 기동 애플리케이션(205)은 로컬 스토리지에서 값으로서 저장된 옵션 명칭을 그대로 PrintTicket의 옵션 명칭에 반영한다. 단계 S815의 처리에서, 인쇄시 기동 애플리케이션(205)은 로컬 스토리지에 "extension function_"이라는 프리픽스로 시작되는 확장 기능이 존재하는지를 판정한다.
전술한 바와 같이, 본 실시 형태에서는, 유저가 인쇄 지시를 행한 후(즉, 묘화 애플리케이션으로부터 XPS 문서가 출력된 후), 인쇄 장치(102)가 인쇄 동작을 행하기 전에, 인쇄시 기동 애플리케이션(205)의 유저 인터페이스를 표시하도록 구성될 수 있다. 또한, 인쇄시 기동 애플리케이션(205)이, 프린터 드라이버(201)의 종류에 관계없이, 인쇄 장치(102)에 대하여 일의에 할당되는 경우에 있어서, 프린터 드라이버(201)의 종류에 따른 최적인 기능 확장을 실현할 수 있다. 팩스 드라이버가 접속되는 경우, 팩스 송신에 필수적인 송신처와 팩스 번호를 입력하기 위한 입력 화면으로서 유저 인터페이스가 표시된다.
프린터 드라이버가 접속되는 경우, 유저의 지정에 따라, 인쇄 결과를 사전에 유저가 표시 유닛(119) 상에서 확인할 수 있게 하기 위한 인쇄 프리뷰 기능을 실현할 수 있다. 또한, 접속되는 프린터 드라이버(201)의 능력을 나타내는 정보를 기초로 기능을 판정하고, 부족한 기능을 확장 기능으로서 제공할 수 있다. 이에 의해, 접속된 드라이버가, OS와 함께 Microsoft®가 제공하는 표준 프린터 드라이버이며, 프린터 벤더가 드라이버의 기능을 확장할 수 없는 경우에도, 프린터 벤더는 인쇄시 기동 애플리케이션(205)을 이용함으로써 독자적인 기능을 확장할 수 있다.
본 실시 형태에서는, 팩스 드라이버 모드, 프린터 드라이버 모드의 인쇄 프리뷰 및 기능 확장을 하나의 GUI 애플리케이션인 인쇄시 기동 애플리케이션(205)으로 실현한다. 그러나, 이 세개의 기능은 반드시 조합되는 방식으로 구현될 필요는 없다. 3개의 기능 중 한개 또는 두개를 갖도록 인쇄시 기동 애플리케이션(205)을 구성하는 것이 가능한 것은 말할 필요도 없다.
다른 실시예들
본 발명의 실시예(들)는, 전술한 실시예(들) 중 하나 이상의 기능을 실행하기 위해 저장 매체(더욱 완전하게는 '비일시적 컴퓨터 판독가능 저장 매체'라 칭할수도 있음)에 기록된 컴퓨터 실행가능 명령어(예를 들어, 하나 이상의 프로그램)를 판독 및 실행하고 그리고/또는 전술한 실시예(들) 중 하나 이상의 기능을 실행하는 하나 이상의 회로(예를 들어, 주문형 집적 회로(ASIC))를 포함하는 시스템 또는 장치의 컴퓨터에 의해, 그리고 예를 들어 전술한 실시예(들) 중 하나 이상의 기능을 실행하기 위해 저장 매체로부터 컴퓨터 실행가능 명령어를 판독 및 실행함으로써 그리고/또는 전술한 실시예(들) 중 하나 이상의 기능을 실행하기 위해 하나 이상의 회로를 제어함으로써 상기 시스템 또는 장치의 컴퓨터에 의해 실행되는 방법에 의해 실현될 수도 있다. 컴퓨터는 하나 이상의 프로세서(예를 들어, 중앙 처리 유닛(CPU), 마이크로 처리 유닛(MPU))를 포함할 수 있고, 컴퓨터 실행가능 명령어를 판독 및 실행하기 위한 별도의 컴퓨터 또는 별도의 프로세서의 네트워크를 포함할 수 있다. 컴퓨터 실행가능 명령어는 예를 들어, 네트워크 또는 저장 매체로부터 컴퓨터에 제공될 수 있다. 저장 매체는, 예를 들어, 하드 디스크, 랜덤 액세스 메모리(RAM), 판독 전용 메모리(ROM), 분산형 컴퓨팅 시스템들의 스토리지, 광 디스크(예를 들어, 콤팩트 디스크(CD), 디지털 다기능 디스크(DVD) 또는 블루레이 디스크(BD)™), 플래시 메모리 디바이스, 메모리 카드 등 중 하나 이상을 포함할 수 있다.
(기타의 실시예)
본 발명은 상기의 실시예의 1개 이상의 기능을 실현하는 프로그램을, 네트워크 또는 기억 매체를 개입하여 시스템 또는 장치에 공급하고, 그 시스템 또는 장치의 컴퓨터에 있어서 1개 이상의 프로세서가 프로그램을 읽어 실행하는 처리에서도 실현가능하다. 또한, 1개 이상의 기능을 실현하는 회로(예를 들어, ASIC)에 의해서도 실행가능하다.
본 발명에 기초하여, 사용될 드라이버에 따라 적절한 기능을 제공할 수 있다.
실시예들을 참조하여 본 발명을 설명하였지만, 본 발명은 개시된 예시적인 실시예들로 제한되지 않는다는 점을 이해해야 한다. 본 발명은 단지 예시적으로 위에서 설명되었으며, 상세 사항의 변경들이 본 발명의 범위 내에서 이루어질 수 있다는 점을 당연히 이해할 것이다.

Claims (25)

  1. GUI(Graphical User Interface)를 제공하는 기능을 갖고 있지 않은 드라이버가 선택되는 경우에 GUI를 제공하는 것이 가능한 GUI 애플리케이션을 저장하는 메모리를 포함하는 정보 처리 장치의 제어 방법으로서,
    묘화 애플리케이션에 의해 생성된 묘화 데이터를 상기 GUI 애플리케이션에 의해 취득하는 단계;
    설정을 나타내는 정보를 포함하는 데이터와 드라이버의 능력을 나타내는 정보를 포함하는 데이터 중 적어도 어느 하나를 상기 GUI 애플리케이션에 의해 취득하는 단계;
    설정을 나타내는 정보를 포함하는 데이터와 드라이버의 능력을 나타내는 정보를 포함하는 데이터 중 적어도 어느 하나에 제1 정보가 포함되어 있는지의 여부를 상기 GUI 애플리케이션에 의해 판정하는 단계; 및
    제1 표시 항목을 상기 GUI 애플리케이션에 의해 제공하는 단계
    를 포함하고,
    상기 제1 정보가 포함되어 있는지의 여부에 따라, 상기 GUI 애플리케이션이상기 제1 표시 항목을 제공할지의 여부가 변경되는, 정보 처리 장치의 제어 방법.
  2. 제1항에 있어서,
    상기 설정을 나타내는 정보를 포함하는 데이터와 상기 드라이버의 능력을 나타내는 정보를 포함하는 데이터 중 적어도 어느 하나에, 상기 제1 정보로서, 상기 드라이버가 팩스 드라이버임을 나타내는 정보가 포함되어 있는 경우에, 상기 제1 표시 항목으로서 팩스 송신에 필요한 송신처 정보를 유저가 입력할 수 있게 하기 위한 입력 화면이 제공되고,
    상기 설정을 나타내는 정보를 포함하는 데이터와 상기 드라이버의 능력을 나타내는 정보를 포함하는 데이터 중 적어도 어느 하나에, 상기 드라이버가 상기 팩스 드라이버임을 나타내는 정보가 포함되어 있지 않은 경우에, 상기 입력 화면이 제공되지 않는, 정보 처리 장치의 제어 방법.
  3. 제2항에 있어서,
    상기 설정을 나타내는 정보를 포함하는 데이터는 묘화 애플리케이션으로부터의 묘화 데이터와 함께 출력되는 데이터이며,
    상기 제어 방법은 상기 입력 화면에서 입력된 송신처 정보에 기초하여, 상기 설정을 나타내는 정보를 포함하는 데이터를 상기 GUI 애플리케이션에 의해 편집하는 단계를 추가로 포함하는, 정보 처리 장치의 제어 방법.
  4. 제1항에 있어서,
    상기 드라이버의 능력을 나타내는 정보를 포함하는 데이터 내에, 상기 제1 정보로서, 상기 GUI 애플리케이션이 제공할 수 있는 미리결정된 기능에 관한 정보가 포함되어 있지 않은 경우에, 상기 제1 표시 항목으로서 상기 미리결정된 기능의 지정을 가능하게 하는 표시 항목이 제공되고,
    상기 드라이버의 능력을 나타내는 정보를 포함하는 데이터 내에, 상기 미리결정된 기능에 관한 정보가 포함되어 있는 경우에, 상기 표시 항목이 제공되지 않는, 정보 처리 장치의 제어 방법.
  5. 제4항에 있어서,
    상기 표시 항목에 지정된 정보에 기초하여, 상기 묘화 데이터를 상기 GUI 애플리케이션에 의해 편집하는 단계를 추가로 포함하는, 정보 처리 장치의 제어 방법.
  6. 제1항에 있어서,
    상기 설정을 나타내는 정보를 포함하는 데이터에, 상기 제1 정보로서, 인쇄 프리뷰 화면이 표시될 것을 나타내는 정보가 포함되어 있는 경우에, 상기 제1 표시 항목으로서 상기 묘화 데이터에 기초하는 인쇄 프리뷰 화면이 제공되고,
    상기 설정을 나타내는 정보를 포함하는 데이터에, 상기 인쇄 프리뷰 화면이 표시될 것을 나타내는 정보가 포함되어 있지 않은 경우에, 상기 인쇄 프리뷰 화면이 제공되지 않는, 정보 처리 장치의 제어 방법.
  7. 제6항에 있어서,
    상기 인쇄 프리뷰 화면에서 지정된 정보에 기초하여, 상기 설정을 나타내는 정보를 포함하는 데이터를 상기 GUI 애플리케이션에 의해 편집하는 단계를 추가로 포함하는, 정보 처리 장치의 제어 방법.
  8. 제1항에 있어서,
    상기 설정을 나타내는 정보를 포함하는 데이터는 PrintTicket인, 정보 처리 장치의 제어 방법.
  9. 제1항에 있어서,
    상기 설정을 나타내는 정보를 포함하는 데이터는 PropertyBag 내에 포함되는 데이터인, 정보 처리 장치의 제어 방법.
  10. GUI(Graphical User Interface)를 제공하는 기능을 갖고 있지 않은 드라이버가 선택되는 경우에 GUI를 제공하는 것이 가능한 GUI 애플리케이션을 저장하는 메모리를 포함하는 정보 처리 장치의 제어 방법으로서,
    설정을 나타내는 정보를 포함하는 데이터를 상기 GUI 애플리케이션에 의해 취득하는 단계;
    팩스 송신에 필요한 송신처 정보를 유저가 입력할 수 있게 하기 위한 입력 화면을 상기 GUI 애플리케이션에 의해 제공하는 단계;
    상기 입력 화면에서 입력된 상기 송신처 정보에 기초하여, 상기 설정을 나타내는 정보를 포함하는 상기 취득된 데이터를 상기 GUI 애플리케이션에 의해 편집하는 단계; 및
    상기 설정을 나타내는 정보를 포함하는 상기 편집된 데이터를 상기 GUI 애플리케이션에 의해 출력하는 단계
    를 포함하고,
    상기 설정을 나타내는 정보를 포함하는 상기 출력된 데이터는 상기 드라이버에 의해 취득되는, 정보 처리 장치의 제어 방법.
  11. 제10항에 있어서,
    상기 설정을 나타내는 정보를 포함하는 데이터와 상기 드라이버의 능력을 나타내는 정보를 포함하는 데이터 중 적어도 어느 하나로부터 상기 드라이버의 종류에 관한 정보가 취득되고,
    상기 제어 방법은 상기 드라이버의 종류에 관한 상기 취득된 정보에 기초하여, 상기 드라이버가 팩스 드라이버인지 여부를 상기 GUI 애플리케이션에 의해 판정하는 단계를 추가로 포함하는, 정보 처리 장치의 제어 방법.
  12. 제10항에 있어서,
    상기 설정을 나타내는 정보를 포함하는 상기 편집된 데이터는 XPS 데이터에 저장되고 상기 XPS 데이터가 출력되는, 정보 처리 장치의 제어 방법.
  13. GUI(Graphical User Interface)를 제공하는 기능을 갖고 있지 않은 프린터 드라이버가 선택되는 경우에 GUI를 제공하는 것이 가능한 GUI 애플리케이션을 저장하는 메모리를 포함하는 정보 처리 장치의 제어 방법으로서,
    묘화 애플리케이션에 의해 생성된 묘화 데이터를 상기 GUI 애플리케이션에 의해 취득하는 단계;
    상기 드라이버의 능력을 나타내는 정보를 포함하는 데이터를 상기 GUI 애플리케이션에 의해 취득하는 단계; 및
    상기 드라이버의 능력을 나타내는 정보를 포함하는 데이터에 기초하여, 상기 드라이버의 능력을 나타내는 정보에 포함되지 않고 상기 GUI 애플리케이션에 의해 제공될 수 있는 미리결정된 기능의 지정을 가능하게 하는 표시 항목을 상기 GUI 애플리케이션에 의해 제공하는 단계
    를 포함하는, 정보 처리 장치의 제어 방법.
  14. 제13항에 있어서,
    상기 드라이버의 능력을 나타내는 정보를 포함하는 데이터 및 설정을 나타내는 정보를 포함하는 데이터에 기초하여, 상기 미리결정된 기능이 상기 설정을 나타내는 정보에 포함되는지의 여부를 상기 GUI 애플리케이션에 의해 판정하는 단계를 추가로 포함하고,
    상기 미리결정된 기능이 상기 설정을 나타내는 정보에 포함되어 있는 경우에, 상기 표시 항목이 제공되는, 정보 처리 장치의 제어 방법.
  15. 제13항에 있어서,
    상기 표시 항목에 지정되는 정보에 기초하여 상기 묘화 데이터를 상기 GUI 애플리케이션에 의해 편집하는 단계를 추가로 포함하는, 정보 처리 장치의 제어 방법.
  16. GUI(Graphical User Interface)를 제공하는 기능을 갖고 있지 않은 프린터 드라이버가 선택되는 경우에 GUI를 제공하는 것이 가능한 GUI 애플리케이션을 저장하는 메모리를 포함하는 정보 처리 장치의 제어 방법으로서,
    묘화 애플리케이션에 의해 생성된 묘화 데이터를 상기 GUI 애플리케이션에 의해 취득하는 단계;
    인쇄 프리뷰 화면을 표시하기 위한 설정이 행해지는지의 여부를 상기 GUI 애플리케이션에 의해 판정하는 단계; 및
    상기 인쇄 프리뷰 화면을 표시하기 위한 설정이 행해지는 경우에, 상기 GUI 애플리케이션에 의해 상기 묘화 데이터에 기초하여 상기 인쇄 프리뷰 화면을 제공하는 단계
    를 포함하는, 정보 처리 장치의 제어 방법.
  17. 제16항에 있어서,
    상기 인쇄 프리뷰 화면에서 지정된 정보에 기초하여, 상기 묘화 애플리케이션으로부터의 묘화 데이터와 함께 출력되는 설정을 나타내는 정보를 포함하는 데이터를 편집하는 단계를 추가로 포함하는, 정보 처리 장치의 제어 방법.
  18. 제16항에 있어서,
    인쇄 요구에 따라 상기 묘화 애플리케이션으로부터 묘화 데이터가 출력되기 전에 표시되는 설정 화면에서 상기 인쇄 프리뷰 화면을 표시하기 위한 지시가 발행되고,
    상기 인쇄 요구에 따라 상기 묘화 애플리케이션으로부터 묘화 데이터가 출력된 후, 상기 인쇄 프리뷰 화면이 제공되는, 정보 처리 장치의 제어 방법.
  19. 제1항에 있어서,
    상기 GUI 애플리케이션은 상기 드라이버 전에 상기 묘화 데이터를 취득하는, 정보 처리 장치의 제어 방법.
  20. 제1항에 있어서,
    상기 드라이버의 인스톨레이션에 따라, OS(operating system)에 의해 인터넷을 경유하여 메타데이터가 취득되고,
    상기 취득된 메타데이터 내의 기술에 기초하여, 상기 인터넷을 경유하여 애플리케이션 배포 시스템으로부터 상기 GUI 애플리케이션이 취득되는, 정보 처리 장치의 제어 방법.
  21. 제20항에 있어서,
    상기 GUI 애플리케이션은 상기 메타데이터에 기술된 디바이스와 연관되는, 정보 처리 장치의 제어 방법.
  22. 제20항에 있어서,
    상기 메타데이터에 기술된 디바이스에 대응하는 복수의 드라이버 중 적어도 하나가 상기 정보 처리 장치에 인스톨되는, 정보 처리 장치의 제어 방법.
  23. 제1항에 있어서,
    GUI를 제공하는 기능을 갖고 있지 않은 드라이버가 선택되는 경우에, 상기 GUI 애플리케이션이 OS(operating system)로부터의 지시에 기초하여 GUI를 제공하고, GUI를 제공하는 기능을 갖고 있는 드라이버가 선택되는 경우에, 상기 GUI 애플리케이션이 기동되지 않는, 정보 처리 장치의 제어 방법.
  24. 제4항에 있어서,
    상기 미리결정된 기능은 스탬프 기능 및 페이지 레이아웃 기능 중 적어도 어느 하나인, 정보 처리 장치의 제어 방법.
  25. 제1항에 있어서,
    GUI를 제공하는 기능을 갖고 있지 않은 드라이버는 V4 프린터 드라이버인, 정보 처리 장치의 제어 방법.
KR1020180120839A 2017-10-16 2018-10-11 제어 방법 KR20190042456A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020210146002A KR102461063B1 (ko) 2017-10-16 2021-10-28 제어 방법

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2017200310A JP6983614B2 (ja) 2017-10-16 2017-10-16 プログラム
JPJP-P-2017-200310 2017-10-16

Related Child Applications (1)

Application Number Title Priority Date Filing Date
KR1020210146002A Division KR102461063B1 (ko) 2017-10-16 2021-10-28 제어 방법

Publications (1)

Publication Number Publication Date
KR20190042456A true KR20190042456A (ko) 2019-04-24

Family

ID=63762252

Family Applications (2)

Application Number Title Priority Date Filing Date
KR1020180120839A KR20190042456A (ko) 2017-10-16 2018-10-11 제어 방법
KR1020210146002A KR102461063B1 (ko) 2017-10-16 2021-10-28 제어 방법

Family Applications After (1)

Application Number Title Priority Date Filing Date
KR1020210146002A KR102461063B1 (ko) 2017-10-16 2021-10-28 제어 방법

Country Status (5)

Country Link
US (3) US10747481B2 (ko)
EP (1) EP3471389A3 (ko)
JP (1) JP6983614B2 (ko)
KR (2) KR20190042456A (ko)
CN (2) CN114860177A (ko)

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7446726B2 (ja) 2019-07-02 2024-03-11 キヤノン株式会社 印刷装置、情報処理装置及びプログラム
JP7387342B2 (ja) * 2019-09-04 2023-11-28 キヤノン株式会社 アプリケーション、情報処理装置及び制御方法
JP7397652B2 (ja) * 2019-12-16 2023-12-13 キヤノン株式会社 プログラム、情報処理装置、および方法
JP7446815B2 (ja) 2019-12-27 2024-03-11 キヤノン株式会社 プログラム及び制御方法
US20220236932A1 (en) * 2021-01-27 2022-07-28 Toshiba Tec Kabushiki Kaisha Information processing apparatus, information processing method, and storage medium
JP2023034958A (ja) 2021-08-31 2023-03-13 キヤノン株式会社 情報処理装置、情報処理装置の制御方法およびプログラム
JP2023034953A (ja) 2021-08-31 2023-03-13 キヤノン株式会社 情報処理装置、情報処理装置の制御方法およびプログラム
JP2023041245A (ja) 2021-09-13 2023-03-24 キヤノン株式会社 情報処理装置、情報処理装置の制御方法およびプログラム
JP2023116259A (ja) 2022-02-09 2023-08-22 キヤノン株式会社 プログラム、情報処理装置および制御方法
JP2024016353A (ja) 2022-07-26 2024-02-07 キヤノン株式会社 情報処理装置、プログラム
JP2024016352A (ja) 2022-07-26 2024-02-07 キヤノン株式会社 情報処理装置、プログラム
JP2024018086A (ja) 2022-07-29 2024-02-08 キヤノン株式会社 情報処理装置、情報処理方法およびプログラム
JP7547418B2 (ja) 2022-07-29 2024-09-09 キヤノン株式会社 情報処理装置、情報処理方法およびプログラム
JP2024046140A (ja) * 2022-09-22 2024-04-03 キヤノン株式会社 情報処理装置、情報処理装置の制御方法、及びプログラム
JP2024058153A (ja) 2022-10-14 2024-04-25 キヤノン株式会社 情報処理装置、制御方法およびプログラム

Family Cites Families (30)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7168003B2 (en) * 2002-08-07 2007-01-23 Hewlett-Packard Development Company, L.P. Method and apparatus for automating printer and printer driver diagnostics and repair
JP2004252665A (ja) * 2003-02-19 2004-09-09 Canon Inc 文書処理方法
KR100561405B1 (ko) 2003-11-05 2006-03-16 삼성전자주식회사 프린터 드라이버 및 사용자 인터페이스 구성 방법
JP4250569B2 (ja) * 2004-06-25 2009-04-08 キヤノン株式会社 印刷制御装置及び印刷制御方法
JP4618610B2 (ja) 2004-12-27 2011-01-26 キヤノンマーケティングジャパン株式会社 印刷制御装置、印刷制御方法、印刷制御プログラム
EP1821189B1 (en) * 2006-02-15 2014-07-23 Canon Kabushiki Kaisha Host apparatus and printing control method
JP2007272870A (ja) * 2006-03-10 2007-10-18 Ricoh Co Ltd 印刷制御装置、gui表示方法、プリンタドライバ及び記録媒体
JP4693664B2 (ja) * 2006-03-13 2011-06-01 キヤノン株式会社 プリンタ装置及びプログラムと印刷方法
CN101578583A (zh) * 2007-01-18 2009-11-11 三菱电机株式会社 应用程序设定终端、应用程序执行终端及设定信息管理服务器
JP5078686B2 (ja) * 2008-03-18 2012-11-21 キヤノン株式会社 印刷設定処理装置及び印刷設定処理方法
JP5264391B2 (ja) * 2008-09-30 2013-08-14 キヤノン株式会社 情報処理装置及びインストール方法
JP5729903B2 (ja) * 2009-12-17 2015-06-03 キヤノン株式会社 情報処理装置、その方法およびプログラム
JP5634132B2 (ja) * 2010-06-01 2014-12-03 キヤノン株式会社 情報処理システム、情報処理装置、それらの制御方法及びプログラム
JP5787606B2 (ja) * 2011-05-02 2015-09-30 キヤノン株式会社 情報処理装置、情報処理方法、及びプログラム
JP5230827B1 (ja) * 2012-01-25 2013-07-10 キヤノン株式会社 情報処理装置、その方法、及びプログラム
JP5995461B2 (ja) * 2012-02-24 2016-09-21 キヤノン株式会社 情報処理装置、制御方法、プログラム
JP5924992B2 (ja) 2012-03-09 2016-05-25 キヤノン株式会社 情報処理装置、情報処理方法とプログラム
JP6051722B2 (ja) * 2012-09-20 2016-12-27 ブラザー工業株式会社 プログラムおよび情報処理装置
JP2014109854A (ja) * 2012-11-30 2014-06-12 Canon Inc 情報処理装置および制御方法およびプログラム
JP6330361B2 (ja) * 2013-03-27 2018-05-30 株式会社リコー 印刷制御プログラム、情報処理装置及び印刷システム
JP2014222299A (ja) * 2013-05-14 2014-11-27 セイコーエプソン株式会社 画像処理装置、プログラム、情報記憶媒体および画像処理装置の製造方法
JP5825565B2 (ja) * 2013-11-07 2015-12-02 コニカミノルタ株式会社 プリンタドライバ及びプリンタドライバの印刷機能の追加方法
US9948798B2 (en) * 2014-03-06 2018-04-17 Canon Kabushiki Kaisha Method of managing a facsimile transmission
JP2015170295A (ja) * 2014-03-10 2015-09-28 キヤノン株式会社 画像形成出力の出力設定を行う情報処理装置およびその制御方法
JP6028776B2 (ja) * 2014-09-19 2016-11-16 コニカミノルタ株式会社 Uiプログラム、印刷制御装置及びその制御方法
JP2017033052A (ja) 2015-07-29 2017-02-09 キヤノン株式会社 画像形成装置における制御装置およびプログラム
JP6578851B2 (ja) * 2015-09-28 2019-09-25 富士ゼロックス株式会社 情報処理装置およびプログラム
JP6575270B2 (ja) * 2015-09-28 2019-09-18 富士ゼロックス株式会社 印刷設定支援装置及びプログラム
JP6602188B2 (ja) * 2015-12-02 2019-11-06 キヤノン株式会社 情報処理装置及びその制御方法、並びにプログラム
JP6321842B2 (ja) 2017-02-23 2018-05-09 シャープ株式会社 データ処理方法およびプログラム

Also Published As

Publication number Publication date
CN114860177A (zh) 2022-08-05
JP6983614B2 (ja) 2021-12-17
JP2019074906A (ja) 2019-05-16
US10747481B2 (en) 2020-08-18
US11662963B2 (en) 2023-05-30
EP3471389A3 (en) 2019-06-19
US20230251804A1 (en) 2023-08-10
CN109669645A (zh) 2019-04-23
KR20210134876A (ko) 2021-11-11
CN109669645B (zh) 2022-06-10
EP3471389A2 (en) 2019-04-17
KR102461063B1 (ko) 2022-11-01
US20200341703A1 (en) 2020-10-29
US20190114119A1 (en) 2019-04-18

Similar Documents

Publication Publication Date Title
KR102461063B1 (ko) 제어 방법
US20110023054A1 (en) Information processing apparatus, information processing method and storage medium
US11176633B2 (en) Image processing apparatus, method for controlling the same, and non-transitory computer-readable storage medium
JP7500657B2 (ja) プログラム及び情報処理装置
CN107656709B (zh) 图像形成设备及其控制方法和存储介质
US9652110B2 (en) Relaying device for relaying image data from an image processing device to a server
US20230333786A1 (en) Information processing apparatus, control method therefor, and non-transitory computer-readable storage medium
US10891087B2 (en) Print system, printer and non-transitory computer-readable recording medium storing instructions therefor
US9990168B2 (en) Recording medium, information processing apparatus, and information processing method
JP7263491B2 (ja) プログラムおよび情報処理装置
US20240272838A1 (en) Control method for information processing apparatus, non-transitory computer-readable storage medium, and information processing apparatus
US20240338152A1 (en) Information processing apparatus and method of controlling the same, and storage medium storing print expansion program
US20240329890A1 (en) Information processing apparatus and method of controlling the same, and storage medium
JP6808520B2 (ja) 画像形成装置、画像形成装置の制御方法、およびプログラム
JP2020088487A (ja) 情報処理装置とその制御方法、及びプログラム

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E601 Decision to refuse application
E601 Decision to refuse application
E801 Decision on dismissal of amendment