KR102549370B1 - 정보 처리 장치, 제어 방법 및 프로그램 - Google Patents

정보 처리 장치, 제어 방법 및 프로그램 Download PDF

Info

Publication number
KR102549370B1
KR102549370B1 KR1020217001862A KR20217001862A KR102549370B1 KR 102549370 B1 KR102549370 B1 KR 102549370B1 KR 1020217001862 A KR1020217001862 A KR 1020217001862A KR 20217001862 A KR20217001862 A KR 20217001862A KR 102549370 B1 KR102549370 B1 KR 102549370B1
Authority
KR
South Korea
Prior art keywords
print setting
print
printer
setting value
information processing
Prior art date
Application number
KR1020217001862A
Other languages
English (en)
Other versions
KR20210021078A (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 캐논 가부시끼가이샤
Priority to KR1020237021523A priority Critical patent/KR20230098920A/ko
Publication of KR20210021078A publication Critical patent/KR20210021078A/ko
Application granted granted Critical
Publication of KR102549370B1 publication Critical patent/KR102549370B1/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/1204Improving or facilitating administration, e.g. print management resulting in reduced user or operator actions, e.g. presetting, automatic actions, using hardware token storing data
    • 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/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
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B41PRINTING; LINING MACHINES; TYPEWRITERS; STAMPS
    • B41JTYPEWRITERS; SELECTIVE PRINTING MECHANISMS, i.e. MECHANISMS PRINTING OTHERWISE THAN FROM A FORME; CORRECTION OF TYPOGRAPHICAL ERRORS
    • B41J29/00Details of, or accessories for, typewriters or selective printing mechanisms not otherwise provided for
    • B41J29/38Drives, motors, controls or automatic cut-off devices for the entire printing mechanism
    • 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/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • G06F3/0482Interaction with lists of selectable items, e.g. menus
    • 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/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0484Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
    • G06F3/04847Interaction techniques to control parameter settings, e.g. interaction with sliders or dials
    • 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/1223Dedicated interfaces to print systems specifically adapted to use a particular technique
    • G06F3/1229Printer resources management or printer maintenance, e.g. device status, power levels
    • G06F3/1232Transmitting printer device capabilities, e.g. upon request or periodically
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1223Dedicated interfaces to print systems specifically adapted to use a particular technique
    • G06F3/1237Print job management
    • G06F3/1244Job translation or job parsing, e.g. page banding
    • G06F3/1245Job translation or job parsing, e.g. page banding by conversion to intermediate or common format
    • 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/1255Settings incompatibility, e.g. constraints, user requirements vs. device capabilities
    • 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/1297Printer code translation, conversion, emulation, compression; Configuration of printer parameters
    • 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
    • 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
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Accessory Devices And Overall Control Thereof (AREA)

Abstract

프린터 드라이버는, 소정의 인쇄 프로토콜을 사용하여 인쇄 장치와 통신하고, 인쇄 장치로부터 인쇄에 관한 제1 속성 정보를 취득한다. 또한, 애플리케이션으로부터 수신한 데이터에 기초하여, 소정의 인쇄 프로토콜에 의거한 인쇄 작업을 생성하고, 생성된 인쇄 작업을 확장 애플리케이션에 송신한다(S606). 확장 애플리케이션은 제1 속성 정보와 다른 형식의 속성 정보를 취득한다(S611). 그리고, 제2 속성 정보에 적어도 기초하여 인쇄 설정에 관한 UI를 표시한다(S613). 확장 애플리케이션은, 당해 UI를 통해 이루어진 설정과, 드라이버로부터 수신한 인쇄 작업에 기초하여, 인쇄 장치에 송신하는 인쇄 작업을 생성한다.

Description

정보 처리 장치, 제어 방법 및 프로그램
본 발명은, 인쇄 장치와 통신하는 정보 처리 장치, 제어 방법 및 프로그램에 관한 것이다.
프린터 드라이버를 이용하여, 인쇄 장치에 대하여 인쇄 데이터를 송신하는 구성이 일반적으로 알려져 있다. 정보 처리 장치에는, 기본 소프트 웨어인 오퍼레이팅 시스템(OS)이 인스톨되어 있으며, 프린터 드라이버는 그 OS가 규정하는 프린트 아키텍처에 따라서 구성되고, OS로부터 호출되어 동작한다. 인쇄 장치를 제공하는 벤더는, OS의 사양에 적합한 프린터 드라이버를 제공한다. OS와 프린터 드라이버는, 협동하여 출력처의 인쇄 장치를 사용하여 인쇄를 행하는 기능을 실현한다.
그런데, OS로서 Microsoft(등록 상표)의 Windows(등록 상표) 8보다 이전 버전을 이용하는 경우, 프린터 드라이버는 V3 프린터 드라이버라 불리는 아키텍처로 구성된다.
또한, Windows 8.1 이후에 있어서, V4 프린터 드라이버라 불리는 아키텍처가 등장하였다. V4 프린터 드라이버는 시큐리티성이 중시되고 있기 때문에, 프린터 드라이버 자체의 확장성이 V3 프린터 드라이버와 비교하여 저하되어 있다. 이러한 확장성의 저하를 보충하기 위해서, 인쇄 장치를 제공하는 벤더는, 프린터 드라이버의 기능을 보조하기 위한 전용 애플리케이션을 제공할 수 있다. 이 애플리케이션은 UWP Device Apps(Universal Windows Platform Device Apps)라 불린다. UWP Device Apps는 스토어 애플리케이션(UWP)으로부터 인쇄를 행할 때의 유저 익스피리언스를 높일 수 있다. 또한, V4 프린터 드라이버에는, 벤더 독자의 인쇄 설정을 행하기 위한 인쇄 설정 애플리케이션인 PrinterExtension을 결부시킬 수 있다.
또한, 종래, 기능이 다른 복수 종류의 인쇄 장치를 제어하기 위한 프린터 드라이버로서 유니버설 프린터 드라이버라 칭해지는 프린터 드라이버가 알려져 있다(특허문헌 1). 당해 프린터 드라이버로는, 기종이나 모델마다 개개의 인쇄 장치에 적합한 조작 화면을 표시할 수 있다.
또한, 프린터 드라이버를 사용하지 않고, 인쇄 장치에 대하여 인쇄 데이터를 송신할 수 있도록 하는 것이 고안되어 있다. 예를 들어, Ubuntu(등록 상표) 17.04에서는, OS의 디폴트 기능으로서, IPP Everyware(등록 상표)에 대응하는 인쇄 장치에 대하여 인쇄 데이터를 송신하는 구조가 탑재되어 있다. IPP Everyware는 각종 인쇄 장치를 사용한 인쇄를 가능하게 하는 일련의 규격이며, 업계 단체 등에서 규격의 책정이나 보급 활동이 행해지고 있다.
일본 특허 공개 제2013-187571호 공보
특허문헌 1에 개시되어 있는 바와 같은 유니버설 프린터 드라이버는, 벤더별로 제공되는 것이 일반적이다. 따라서, 동일한 벤더가 판매하고 있는 기능이 다른 복수 종류의 인쇄 장치에 대하여는, 하나의 유니버설 프린터 드라이버로 대응할 수 있었다. 그러나, 다른 벤더의 인쇄 장치를 하나의 유니버설 프린터 드라이버로 대응하는 것은 곤란하였다. 이것은, 벤더마다 각각 다른 통신 방식, PDL(페이지 기술 언어)이나 JDL(작업 기술 언어)로 인쇄 데이터의 주고받기를 행하고 있기 때문에, 통일시키기가 어렵다는 사정에 기인한다. 또한, 인쇄 설정 항목에 대해서도 벤더마다 설정 항목이 다르거나, 동일한 설정 항목이라도 해석이 다른 등의 사정이 있어, 하나의 유니버설 프린터 드라이버로 대응하기가 곤란하였다.
전술한 바와 같이, IPP Everyware 등으로 대표되는 IPP에 준거하는 구조를 사용한 공통의 프린터 드라이버나 프린트 클라이언트를 제공하는 것을 생각할 수 있다. 그러나, IPP에 준거하는 공통의 프린터 드라이버로는, 벤더가 독자적으로 제공하는 기능을 이용할 수 없다는 문제가 있다.
본 명세서에 있어서의 실시예는 상술한 문제점을 해결한다. 일 실시예는, 소정의 인쇄 프로토콜에 의거한 인쇄 작업을 생성하는 프린터 드라이버 또는 프린트 클라이언트를 사용하여 인쇄를 행하는 경우에도, 복수의 벤더의 인쇄 장치가 제공하는 확장 기능을 적절하게 이용할 수 있는 구조를 제공한다. 또한, 일 실시예의 프린터 드라이버는, 소정의 인쇄 프로토콜에 의거하는 클래스 드라이버로서 실현하고, 벤더별 확장은, 샌드박스화된 가상 환경 상에서 동작하는 확장 애플리케이션이 실현됨으로써, 시큐리티와 편리성을 양립시킨다. 또한, 일 실시예의 확장 애플리케이션에 의해, 벤더별 확장 기능을 반영한 인쇄를 행할 수 있도록 한다.
실시예에 개시된 정보 처리 장치는, 소정의 인쇄 프로토콜을 사용하여 인쇄 장치와 통신하는 프린터 드라이버와, 당해 프린터 드라이버에 관련되는 확장 애플리케이션을 갖는 정보 처리 장치이며, 상기 프린터 드라이버는,
상기 소정의 인쇄 프로토콜을 사용하여 인쇄 장치로부터 인쇄에 관한 제1 속성 정보를 취득하는 제1 취득 수단과, 애플리케이션으로부터 수신한 데이터에 기초하여, 상기 소정의 인쇄 프로토콜에 의거한 인쇄 작업을 생성하는 생성 수단과, 상기 생성된 인쇄 작업을 상기 확장 애플리케이션에 송신하는 송신 수단을 갖고, 상기 확장 애플리케이션은, 상기 생성된 인쇄 작업을 취득하는 제2 취득 수단과, 상기 인쇄 장치로부터, 인쇄에 관한 제2 속성 정보이며, 상기 제1 속성 정보와 다른 형식의 속성 정보를 취득하는 제3 취득 수단과, 상기 제2 속성 정보에 적어도 기초하여 인쇄 설정에 관한 유저 인터페이스를 표시하는 표시 제어 수단과, 상기 유저 인터페이스를 통해 이루어진 설정과, 상기 프린터 드라이버가 생성한 인쇄 작업에 기초하여, 상기 인쇄 장치에 송신할 인쇄 작업을 생성하는 생성 수단을 갖는 것을 특징으로 한다.
도 1은 인쇄 시스템의 일례를 나타내는 도면이다.
도 2는 클라이언트 컴퓨터(100)의 하드웨어 구성의 일례를 나타내는 도면이다.
도 3은 클라이언트 컴퓨터(100)의 소프트웨어 구성의 일례를 나타내는 도면이다.
도 4a는 인쇄 설정에 관한 정보의 일례를 나타내는 도면이다.
도 4b는 인쇄 설정에 관한 정보의 일례를 나타내는 도면이다.
도 5는 인쇄 시스템에 있어서의 처리 수순의 일례를 설명하는 모식도이다.
도 6은 클라이언트 컴퓨터(100)의 제어의 일례를 설명하는 흐름도이다.
도 7은 프린터(200)의 제어의 일례를 설명하는 흐름도이다.
도 8은 클라이언트 컴퓨터(100)의 표시부에 표시되는 화면의 일례를 나타내는 도면이다.
도 9는 클라이언트 컴퓨터(100)의 표시부에 표시되는 화면의 일례를 나타내는 도면이다.
도 10은 인쇄 시스템에 있어서의 처리 수순의 일례를 설명하는 모식도이다.
도 11은 클라이언트 컴퓨터(100)의 제어의 일례를 설명하는 흐름도이다.
도 12는 클라이언트 컴퓨터(100)의 제어의 일례를 설명하는 흐름도이다.
도 13은 변형예를 설명하기 위한 모식도이다.
도 14는 변형예에 있어서의 확장 설정의 일례를 설명하기 위한 도면이다.
이하, 본 발명을 실시하기 위한 실시 형태에 대하여 도면을 사용하여 설명한다. 또한, 이하의 실시 형태가 특허 청구 범위에 관한 발명을 한정하는 것은 아니고, 또한 실시 형태에서 설명되고 있는 특징의 조합의 모두가 발명의 해결 수단에 필수적인 것만은 아니다.
<제1 실시 형태>
먼저 도 1을 사용하여, 본 발명에 관한 인쇄 시스템의 구성을 설명한다. 본 실시 형태에 따른 인쇄 시스템은 클라이언트 컴퓨터(100), 프린터(200a 내지 200c)를 포함한다. 네트워크(300) 상에는, 클라이언트 컴퓨터(100), 프린터(200a 내지 200c)가 서로 통신 가능하게 접속되어 있다. 또한, 디바이스간의 통신의 형태는 무선 네트워크를 통한 통신이어도 되고, 유선 네트워크를 통한 통신이어도 된다. 또한, 무선 네트워크를 통한 통신의 경우, IEEE 802.11에 준거하는 액세스 포인트를 통한 무선 통신이어도 되고, Wi-Fi Direct(등록 상표) 등의 직접 무선 통신이어도 된다. 또한, 본 실시 형태에서는, 인쇄 시스템의 일례로서 상기 구성을 설명하지만, 이것에 한정되는 것은 아니다. 1개 이상의 통신 장치와 인쇄 장치가 네트워크를 통해 통신 가능하게 접속되어 있으면 된다.
본 실시 형태에서는 인쇄 작업을 수신하여 시트에 화상을 인쇄하는 인쇄 장치의 일례로서 단기능의 프린터(200a 내지 200c)를 설명하지만, 이것에 한정되는 것은 아니다. 인쇄 기능과 스캔 기능을 갖는 MFP(Multi Function Peripheral) 등의 장치여도 된다.
본 실시 형태에서는, 설명을 위해서 프린터(200a 내지 200c)는 다른 벤더에 의해 제조되고 있는 것으로 한다. 프린터(200a 내지 200c)는 IPP(Internet PrintingProtocol)에 의거한 인쇄 작업을 클라이언트 컴퓨터(100) 등으로부터 수신하고, 당해 인쇄 작업에 기초하여 시트에 화상을 인쇄할 수 있다.
또한, 프린터(200a 내지 200c)는 IPP와는 다른 형식의 인쇄 작업을 수신하고, 해석하는 기능도 갖고 있다. 예를 들어, 프린터(200a)는 LIPS(등록 상표, LBP Image Processing System) 형식에 의거하는 PDL(Page Description Language) 데이터를 포함하는 인쇄 작업을 해석할 수 있다. 또한, 프린터(200a)는 PCL(등록 상표, Printer Command Language) 형식에 의거하는 PDL 데이터를 포함하는 인쇄 작업을 해석할 수 있다. 또한, LIPS 형식은 UFR(등록 상표, Ultra Fast Rendering) 형식이라고도 불린다. 또한, 프린터(200b)는 PCL(등록 상표, Printer Command Language) 형식에 의거하는 PDL 데이터를 포함하는 인쇄 작업을 해석할 수 있다. 한편, LIPS(UFR) 형식의 인쇄 작업에는 대응하지 않는다. 프린터(200c)는 잉크젯 프린터이며, ESC/P(Epson Standard Code for Printer)에 의거한 인쇄 작업을 해석할 수 있다. 그러나, PCL 형식이나 LIPS 형식의 인쇄 작업에는 대응하지 않는다. 이와 같이, 프린터의 제조원의 벤더가 다르면, 당연히 서포트하는 PDL의 종류가 다르게 된다. 또한, 동일한 프린터라도, 사용하는 PDL의 종별에 따라서는, 서포트하는 기능에 다소의 차이가 있다. 또한, 각 프린터가 해석할 수 있는 PDL의 종류는 일례이다. 프린터가 해석 가능한 PDL의 형식은, PCL, LIPS, ESC/P, RPCS(Refined Printing Command Stream), PS(Post Script), ART(Advanced Rendering Tools) 등의 형식이어도 된다. 또한, SPDL2(Sharp Printer Description Language2) 등의 형식이어도 된다. 또한, 상술한 PDL에 기초하여 파생한 형식 등이어도 된다. 각 프린터는 상술한 PDL 형식, 또는 상술한 PDL 형식에 기초하여 파생한 PDL 형식 중 적어도 하나의 방식을 서포트하고 있는 것으로 한다.
계속해서, 정보 처리 장치의 일례인 클라이언트 컴퓨터(100)에 대하여 설명한다. 본 실시 형태에서는, 클라이언트 컴퓨터(100)가 PC(Personal Computer)인 경우를 예시하고 있지만 이것에 한정되는 것은 아니다. 태블릿 단말기나, 헤드 마운트 디스플레이와 컴퓨터가 내장된 웨어러블 컴퓨터 등의 단말기여도 된다.
클라이언트 컴퓨터(100)는 네트워크(300) 상의 프린터(200a 내지 200c)와 서로 통신할 수 있다. 또한, 클라이언트 컴퓨터(100)는 인쇄 대상의 데이터에 기초하여 인쇄 작업을 생성하고, 각 프린터에 송신할 수 있다.
클라이언트 컴퓨터(100)의 하드웨어 구성에 대하여 도 2를 사용하여 설명한다. 도 2는, 클라이언트 컴퓨터(100)의 하드웨어 구성의 일례를 나타내는 블록도이다.
CPU(Central Processing Unit)(101)는 제어부(120) 전체의 동작을 제어하는 프로세서이다. 제어부(120)는 메모리인 ROM(Read Only Memory)(1021), RAM(Random Access Memory)(1022), 스토리지(105)에 의해 구성되고, 각 부는 시스템 버스(107)에 의해 접속되어 있다. 또한, 제어부(120)는 입출력 디바이스를 접속하기 위한 인터페이스(I/F)(103, 104)와, 네트워크를 통해 외부 장치와 통신하기 위한 통신 I/F(106)도 구비하고 있다.
RAM(1022)는 휘발성 메모리이며, 워크 에어리어, ROM(1021) 및 스토리지(105)에 저장된 각종 제어 프로그램을 전개하기 위한 일시 기억 영역으로서 사용된다.
ROM(1021)은 불휘발성 메모리이며, 컴퓨터의 부트 프로그램 등이 저장되어 있다. 스토리지(105)는 RAM(1022)과 비교하여 대용량의 불휘발성 플래시 메모리나 HDD(Hard Disk Drive)이다. 스토리지(105)에는, 컴퓨터(100) 전체를 제어하기 위한 OS(Operating System)(1053)나, OS(1053) 상에서 동작하는 각종 애플리케이션(1051)의 프로그램이 저장되어 있다. 또한, IPP 등의 소정의 인쇄 프로토콜에 의거한 인쇄 작업을 생성하는 공통 프린터 드라이버(1054)나, 공통 프린터 드라이버(1054)와 연계하는 디바이스 애플리케이션(1052a 내지 1052b)의 프로그램이 저장되어 있다(상세한 것은 후술한다).
애플리케이션(1051)이나, 디바이스 애플리케이션(1052a 내지 1052b) 등의 각종 애플리케이션은, CD-ROM이나 USB 메모리 혹은 네트워크(300)를 경유하여 컴퓨터(100)에 인스톨할 수 있다.
CPU(101)는 RAM(1022) 상에 전개한 OS의 프로그램이나 각 애플리케이션의 프로그램을 실행하고, 컴퓨터(100)의 제어를 행한다. 이와 같이, CPU(101), ROM(1021), RAM(1022), 스토리지(105) 등의 하드웨어는, 소위 컴퓨터를 구성하고 있다.
또한, 클라이언트 컴퓨터(100)는 하나의 CPU(101)가 후술하는 흐름도에 나타내는 각 처리를 실행하는 것으로 하지만, 다른 양태여도 상관없다. 예를 들어, 복수의 프로세서가 협동하여 후술하는 흐름도에 나타내는 각 처리를 실행하도록 할 수도 있다.
입력 I/F(103)는 키보드(108)나, 포인팅 디바이스(109)와 제어부(120)를 접속한다. 키보드(108)나 포인팅 디바이스(109)는 유저의 지시를 접수하는 접수부로서 기능한다. 접수부는 화면 상에 표시되는 키 등의 표시 아이템의 선택을 검지할 수 있다. 출력 I/F(104)는 정보를 표시하는 모니터(110)와, 제어부(120)를 접속한다. 모니터(110)는 정보를 표시하는 표시부로서 기능한다. 또한, 클라이언트 컴퓨터(100)가 태블릿 단말기 등인 경우, 접수부와 표시부를 겸하는 터치 패널 디스플레이를 통해 유저에 대한 정보의 표시나, 조작의 접수를 행하는 것으로 한다. 이 경우, 유저는 손가락 등의 오브젝트를 사용하여 터치 조작을 행함으로써, 클라이언트 컴퓨터(100)에 원하는 조작 지시를 입력할 수 있다.
통신 I/F(106)는 네트워크(300) 상의 인쇄 장치 등의 외부 장치나, 클라우드 상의 서버 등과 통신을 행하기 위한 인터페이스이다.
<컴퓨터(100)의 소프트웨어 구성>
도 3은, 본 실시 형태에 있어서의 클라이언트 컴퓨터(100)의 소프트웨어 구성의 일례를 나타내는 도면이다. OS(1053)는 컴퓨터(100) 전체의 제어를 행하는 시스템 소프트웨어이다. 여기에서는 일례로서 Windows(등록 상표) 10 이후의 OS가 인스톨되어 있는 것으로 한다.
OS(1053)는 프린터 드라이버를 사용하여 인쇄를 행하기 위한 인쇄 아키텍처(10531)를 제공한다. 인쇄 아키텍처(10531)는 XPS 형식의 데이터를 스풀 데이터로서 사용하고, 당해 스풀 데이터를 프린터 드라이버에 의해 인쇄 데이터(PDL)로 변환하는, 소위 V4 인쇄 아키텍처이다.
그런데, 컴퓨터에 인스톨 가능한 프린터 드라이버로서 유니버설 프린터 드라이버라 칭해지는 드라이버가 있다. 또한, Ubuntu(등록 상표) 17.04 등의 OS에서는, OS의 디폴트 기능으로서, IPP Everyware(등록 상표)에 대응하는 인쇄 장치에 대하여 인쇄 데이터를 송신하는 구조가 탑재되어 있다. IPP Everyware는 각종 인쇄 장치를 사용한 인쇄를 가능하게 하는 일련의 규격이며, 업계 단체 등에서 규격의 책정이나 보급 활동이 행해지고 있다.
전술한 유니버설 프린터 드라이버는, 벤더마다 제공되는 것이 일반적이다. 따라서, 동일한 벤더가 판매하고 있는 기능이 다른 복수 종류의 인쇄 장치에 대하여는, 종래부터 하나의 유니버설 프린터 드라이버로 대응할 수 있다. 그러나, 다른 벤더의 인쇄 장치를 하나의 유니버설 프린터 드라이버로 대응하는 것은 곤란하다. 이것은, 벤더마다 각각 다른 통신 방식, PDL이나 JDL(작업 기술 언어)로 인쇄 작업의 주고받기를 행하고 있기 때문에, 통일하기가 어렵다는 사정에서 기인한다. 또한, 인쇄 설정 항목에 대해서도 벤더마다 설정 항목이 다르거나, 동일한 설정 항목이어도 해석이 다른 등의 사정이 있어, 하나의 유니버설 프린터 드라이버로 대응하는 것이 곤란하다.
여기서, Windows 등의 환경에 있어서도, 벤더가 제공하는 V3 형식이나 V4 형성의 프린터 드라이버를 개별로 인스톨하지 않고 인쇄를 실행할 수 있는 구조를 제공할 수 있으면, 유저에 있어서의 편리성을 높일 수 있다고 상정된다.
이것을 감안하여, 본 실시 형태에서는, 소정의 인쇄 프로토콜의 구조를 사용한 공통 프린터 드라이버를 Windows 환경에서 실현한다. 이후, 소정의 인쇄 프로토콜이 일반적으로 사용되고 있는 IPP인 경우를 예로서 설명한다.
여기서, IPP에 준거하는 공통의 프린터 드라이버를 단순하게 실장한 경우를 생각한다. 이 경우, IPP에 준거하는 인쇄 속성과, IPP에 의거하는 PDL을 포함하는 인쇄 작업을 생성하여, 프린터에 송신하게 된다. 이 경우, IPP에서는 정의되어 있지 않은, 벤더가 독자적으로 제공하는 기능(예를 들어, 바늘을 사용하지 않고 인쇄물을 철하는 니들리스 바인딩(needleless binding) 기능이나, 인쇄 장치의 스토리지에 인쇄 데이터를 저장해두는 박스 보존 기능 등)을 이용할 수 없다는 문제가 있다.
그래서, 본 실시 형태에서는, IPP에 의거하는 공통 프린터 드라이버로부터, 벤더별 특정한 기능을 이용하기 위한 확장 애플리케이션을 호출할 수 있도록 하여, 벤더별 확장 기능을 제공할 수 있게 한다. 이하, 구체적인 구조에 대하여 설명한다.
도 3의 설명으로 되돌아가서, 클라이언트 컴퓨터(100)에는, 프린터 드라이버로서, 복수 벤더의 프린터를 서포트하는 공통 프린터 드라이버(1054)가 인스톨되어 있다. 당해 공통 프린터 드라이버(1054)는 OS(1053)의 표준 기능으로서 내장된 클래스 드라이버여도 되고, 별도로 유저가 컴퓨터(100)에 대하여 인스톨한 유니버설 프린터 드라이버여도 된다.
인쇄 아키텍처(10531)는 GDItoXPS 변환 모듈(307), 공통 프린터 드라이버(1054), OS 표준 인쇄 UI부(305), 프린트 매니저(318), 디바이스 통신부(319)로 구성된다. 또한, 공통 프린터 드라이버와는 다른 프린터 드라이버(예를 들어, 벤더가 제공하는 기종 전용의 프린터 드라이버 등)를 인스톨하는 것도 가능하다.
<공통 프린터 드라이버(1054)를 사용하는 인쇄 처리>
먼저, 공통 프린터 드라이버(1054)를 사용하는 인쇄 처리에 대하여 설명한다. 데스크톱 애플리케이션(301)은 「Win32/64 애플리케이션」이나 「.NET 애플리케이션」 등이다. UWP 애플리케이션(302)은 OS(1053) 상에서 동작하는 UWP(Universal Windows Platform) 애플리케이션이다. UWP 애플리케이션은 Windows 스토어를 통해 배포되는 애플리케이션이며, 데스크톱 애플리케이션(301)이나 인쇄 아키텍처(10531)와는 다른 실행 환경에서 동작한다. UWP 애플리케이션은 개별의 샌드박스 내(가상 환경 상)에서 동작하고, 시스템 영역에의 액세스나, 이용 가능한 API에 제한이 행해지고 있다. 즉, 데스크톱 애플리케이션이나 디바이스 드라이버와 비교하여, 장치 내의 리소스에의 액세스 권한이 낮다. 그 때문에, 데스크톱 애플리케이션이나 드라이버 프로그램 등에 비해, 시스템에의 영향을 줄 가능성이 낮다고 하는 특징이 있다.
이들 데스크톱 애플리케이션(301)이나 UWP 애플리케이션(302)은, 인쇄 아키텍처(10531)와 협동하여 콘텐츠(예를 들어, 문서나, 화상 등)의 인쇄를 행할 수 있다.
데스크톱 애플리케이션(301)은, 프린터의 인쇄 이미지의 생성을 행하는 그래픽 컴포넌트인 GDI(Graphics Device Interface)를 이용하여 인쇄를 행한다. GDI를 이용하여 인쇄하는 경우, 데스크톱 애플리케이션(301)은 OS(1053)의 모듈인 GDItoXPS 변환 모듈(307)에 대하여 GDI 묘화 데이터를 송신한다. 모듈(307)은 GDI 묘화 데이터를 XPS 스풀 파일로 변환한다. 변환한 XPS 스풀 파일은 영역(306)에 일시적으로 저장된다. 한편, UWP 애플리케이션(302)으로부터 인쇄하는 경우에는, UWP 애플리케이션 자체가 XPS 파일을 생성하는 방법과, OS(1053)가 UWP 애플리케이션으로부터의 묘화 명령에 따라서 XPS 파일을 생성하는 방법의 2가지가 있다. 어느 방법으로, 생성된 XPS 파일은 영역(306)에 전송되어, 일시적으로 저장된다.
유저는 키보드(108)나 터치 패널/마우스 등으로 대표되는 포인팅 디바이스(109) 등의 입력 장치를 사용하여, 출력 장치의 모니터(110)에 비추어진 데스크톱 애플리케이션(301), 혹은 UWP 애플리케이션(302)으로부터 인쇄 처리를 실행한다. 여기에서는, UWP 애플리케이션(302)으로부터 인쇄를 행하는 경우를 예로 들어 설명한다. 도 8은, UWP 애플리케이션(302)으로부터 인쇄를 행하는 경우에 표시되는 화면의 일례이며, OS(1053)에 의해 제공되는, 모던 프린트 다이알로그라 불리는 설정 화면(유저 인터페이스)의 일례이다. UWP 애플리케이션(302)을 통해 인쇄 지시가 행해지면, CPU(101)는 프린트 다이알로그를 모니터(110) 상에 표시한다. 유저는 영역(801)을 선택하여 인쇄에 사용하는 프린터를 선택하거나, 영역(804)의 각 항목을 선택하여 인쇄 설정을 변경하거나 할 수 있다. 또한, 유저는 인쇄키(803)를 사용하여, 인쇄 지시를 행할 수 있다. 여기에서는, 공통 프린터 드라이버(1054)에 대응하는 프린터가 유저에 의해 선택되어 있는 경우를 예로 들어 설명한다. 기타 설정 키(802)는 상세한 인쇄 설정을 행하는 경우에 사용하는 키이다. 당해 키가 선택된 것을 검지하면, OS는 OS 표준 인쇄 UI부(305)를 기동하고, 도시 생략된 IPP에 의거한 인쇄 설정 화면(유저 인터페이스)을 표시한다.
인쇄 설정을 변경하는 유저 조작을 검지하면, OS(1053)는 공통 프린터 드라이버(1054)의 표준 인쇄 설정부(308)를 호출한다. 표준 인쇄 설정부(308)는 표준 인쇄 기능 정의 파일군(309) 중에서 선택된 프린터에 대응하는 정의 파일을 참조한다. 또한, 참조한 정의 파일에 기초하여, 현재의 인쇄 설정을 나타내는 표준 설정 데이터(303이나 304) 및 선택된 프린터의 인쇄 능력을 나타내는 PrintCapabilities를 작성한다.
표준 인쇄 기능 정의 파일은, IPP 프린터의 탐색 시 등에 프린터로부터 취득되는 속성 정보에 기초하여 생성된 프린터의 능력을 나타내는 정의 파일이다. 따라서, 표준 인쇄 기능 정의 파일군(309)에는, 프린터마다 상이한 다른 파일이 기억된다.
계속해서 정의 파일의 생성에 대하여 설명한다. 선택 중의 프린터에 대응하는 정의 파일이 스토리지에 기억되어 있지 않은 경우, 공통 프린터 드라이버(1054)는 프린터에 능력 정보의 문의를 행한다. 공통 프린터 드라이버(1054)는 프린트 매니저(318), 디바이스 통신부(319)를 통해, 프린터에 능력을 문의한다. 프린트 매니저(318)는 후술하는 인쇄 작업의 제어 기능에 더하여, IPP에 대응하는 프린터의 탐색이나, 프린터 능력의 취득을 행할 수 있다. 구체적으로는 프린터 능력의 취득은, RFC(2911)에서 이미 정해진 프린터 속성 요구 조작(Get-Printer-Attributes Operations)에 의해 행해진다. 먼저, 프린트 매니저(318)는 Get-Printer-Attributes Request를 프린터(200)에 대하여 송신한다. 당해 리퀘스트의 응답으로서, 프린터(200)의 속성 정보가 얻어진다. 프린터 속성 요구 조작에 의해 얻어지는 프린터의 능력 정보는, 예를 들어 「양면」이나 「컬러 인쇄」가 가능한지 여부 등의, 표준적인 인쇄 설정의 능력 정보 등이다. 여기서, 프린터 속성 요구 조작에 의해 취득할 수 있는 능력(속성)은 IPP에서 이미 정해져 있는 속성에 관한 서포트 정보이다. 따라서, 벤더 고유의 기능 정보(니들리스 바인딩하는 기능이나, 박스 인쇄 기능 등)는, IPP의 프린터 속성 요구 조작으로는 취득할 수 없다. 취득된 속성 정보는 표준 인쇄 설정부(308)에 전송된다. 표준 인쇄 설정부(308)는 IPP를 사용하여 취득한 속성 정보에 기초하여, 정의 파일을 생성하여 스토리지(105)에 기억한다.
인쇄 설정의 설명으로 되돌아가서, 데스크톱 애플리케이션(301)에서는 현재의 인쇄 설정을 나타내는 표준 설정 데이터로서 바이너리의 DEVMODE(303)가 사용된다. 또한, UWP 애플리케이션(302)에서는 마크업 언어인 XML로 기재된 PrintTicket(304)이 사용된다. 이 DEVMODE(303) 혹은 PrintTicket(304)은, IPP에 의거한 인쇄 작업에 반영해야 할 인쇄 설정을 유지하는 표준 설정 데이터이다.
도 4a, 도 4b는 PrintCapabilities 및 PrintTicket을 설명하기 위한 도면이다. 모두 인쇄 아키텍처에서 이미 정해진 규칙에 준한 XML 형식의 파일이며, 도 4a에 예시하는 파일(400)은 PrintCapabilities의 일례를 나타내고 있다. 파일(400)에는, 사용 가능한 인쇄 설정 항목과, 당해 인쇄 설정 항목에 대하여 설정 가능한 설정값의 조합이 열거되어 있다. 애플리케이션이나, OS가 제공하는 인쇄 설정을 위한 유저 인터페이스는, 당해 파일(400)에 기초하여 인쇄 설정 화면을 구성할 수 있다. 또한, 여기에서는 지면의 사정상 일부의 설정을 예시하고 있지만, 이것에 한정되는 것은 아니다. 기타 IPP에 준거하는 속성 정보에 기초하는 인쇄 설정 항목이나 후처리의 설정 항목을 포함하고 있어도 된다.
한편, 도 4b에 예시하는 파일(401)은 PrintTicket(304)의 일례이며, 현재의 인쇄 설정이 열거된다. 애플리케이션(1051)이나 OS(1053)가 제공하는 인쇄 설정을 위한 유저 인터페이스는, PrintTicket(304)를 재기입함으로써 인쇄 설정을 변경할 수 있다.
또한, OS 표준 인쇄 UI부(305)는, 선택된 프린터에 대응하는 PrintCapabilities에 기술된 정보에 기초하여, 인쇄 설정을 위한 화면(유저 인터페이스)을 제공한다.
유저에 의한 인쇄 지시가 행해진 것을 검지하면, OS 또는 애플리케이션은 XPS 스풀 파일을 생성한다. 생성된 XPS 스풀 파일은 표준 인쇄 처리부(312)에 전달된다. 표준 인쇄 처리부(312)는 수취한 XPS 스풀 파일을 렌더링하여 IPP에 의거하는 PDL 데이터로 변환한다. IPP에 의거하는 PDL 데이터는, 예를 들어 PDF(Portable Document Format) 또는 PWG-Raster 형식의 데이터이다.
또한 표준 인쇄 처리부(312)는 XPS 스풀 파일에 포함되는 PrintTicket(304)로 지정된 설정 내용에 기초하여, IPP에 의거한 인쇄 속성 정보를 생성한다.
PDL 데이터와, IPP에 의거한 인쇄 속성 정보는, 인쇄 처리의 스케줄 관리를 행하는 프린트 매니저(318)에서 관리된다. 프린트 매니저(318)는 PDL 데이터와, IPP에 의거한 인쇄 속성 정보에 기초하여 IPP에 의거한 인쇄 작업을 생성하고, 큐(대기 행렬)에 생성된 인쇄 작업을 등록한다. 프린터(200)를 인쇄할 수 있는 상태가 되면, 큐에 등록된 순으로 디바이스 통신부(319)를 통해, IPP에 의거한 인쇄 작업을 송신한다. 이와 같이 하여, 애플리케이션으로부터의 인쇄 데이터를 IPP에 의거하는 PDL 데이터로 변환하는 것이 공통 프린터 드라이버(1054)의 주된 역할이다.
상기 처리에서는, IPP의 사양으로서 규정 완료된 능력밖에 대응할 수 없어, 프린터(200a 내지 200c)가 제공하는 각종 기능에 대응할 수 없다. 그래서, 본 실시 형태에서는, 확장 애플리케이션인 디바이스 애플리케이션(1052)이, 다른 통신 방식을 이용하고, 상세한 능력 정보 취득을 이용함으로써, 표준 인쇄 설정 이외의 확장 인쇄 설정을 취급하는 것을 가능하게 한다.
디바이스 애플리케이션(1052a 내지 1052b)은, 공통 프린터 드라이버(1054)와는 다른 애플리케이션이며, UWP의 플랫폼 상에서 동작하는 애플리케이션이다. 이 애플리케이션은, IPP를 베이스로 한 공통 프린터 드라이버에 의한 인쇄를 기초로 하면서, 필요에 따라서 프린터(200)가 구비하는 기능을 보다 유연하게 이용 가능하게 하기 위한 애플리케이션이다. 이 애플리케이션은 샌드박스화된 UWP의 실행 환경에서 동작하게 된다. 따라서, 당해 애플리케이션이 행업이나 에러를 일으켰다고 해도, 시스템 전체에 끼치는 영향을 작게 할 수 있다.
여기에서는, 프린터(200a)에 대응하는 디바이스 애플리케이션으로서 디바이스 애플리케이션(1052a)이 인스톨되어 있는 경우를 예시한다. 또한, 여기서는, 프린터(200b)에 대응하는 디바이스 애플리케이션으로서 디바이스 애플리케이션(1052b)이 인스톨되어 있는 경우를 예시한다. 한편, 프린터(200c)에 대한 디바이스 애플리케이션은 인스톨되어 있지 않다.
따라서, 유저가 공통 프린터 드라이버의 출력처로서 프린터(200c)를 선택한 경우, 확장 인쇄 설정의 처리는 스킵되고, IPP에 준거하는 인쇄가 행해진다. 또한, 확장 애플리케이션에 의한 확장 인쇄 설정을 필요로 하지 않는 유저도 일정수 존재한다. 이것을 감안하여, 공통 프린터 드라이버(1054)는 프린터마다, 확장 인쇄 설정을 기동할지 여부의 설정을 설정 기억부(320)에 기억한다. 당해 설정은 유저 조작에 의해 설정 변경할 수 있는 것으로 한다.
표준 인쇄 처리부(312)는 확장 애플리케이션의 인스톨 상황이나 설정 기억부(320)에 기억된 설정에 기초하여, 디바이스 애플리케이션을 기동할지 여부를 판단한다.
디바이스 애플리케이션(1052)은 인쇄 시 기동 애플리케이션부(10521), 확장 인쇄 설정부(10522), 인쇄 작업 생성부(10525), 디바이스 애플리케이션 통신부(10524)로 구성된다. 인쇄 시 기동 애플리케이션부(10521)는 인쇄 시에 호출되는 모듈이며, 확장 인쇄 설정부(10522)나 디바이스 애플리케이션 통신부(10524), 인쇄 작업 생성부(10525)를 관리한다. 디바이스 애플리케이션(1052)은 프린터에 결부되어 있다. 디바이스 애플리케이션(1052)은 인쇄 직후에 프리뷰를 표시하는 기능이나, 인쇄 설정 변경을 재촉하는 유저 인터페이스를 표시하는 기능 등을 제공할 수 있다. 본 실시 형태에서는, 표준 인쇄 처리부(312)에 있어서 PDL 변환이 행해진 후에 디바이스 애플리케이션이 제공하는 화면이 호출되는 것을 상정하고 있지만 이것에 한정되는 것은 아니다. 확장 인쇄 설정부(10522)는, IPP에 의거한 인쇄 설정과 비교하여 보다 상세한 인쇄 설정을 행할 수 있는 확장 유저 인터페이스를 표시하는 기능을 갖는다. 디바이스 애플리케이션 통신부(10524)는, 디바이스 애플리케이션(1052)의 각 모듈이 프린터(200)와 통신하기 위한 기능을 갖는다. 디바이스 애플리케이션 통신부(10524)는, 특정한 통신 방식이나 특정한 제어 방식을 사용하여 프린터(200)의 정보를 취득한다. 특정한 통신 방식은 예를 들어, WSD(Web Services for Devices) 프로토콜이나, SNMP(Simple Network Management Protocol)이다. 또한, 벤더 독자의 프로토콜을 사용한 통신 방식이어도 된다. 또한, 작업 제어 언어나 프린터 제어 언어로 정의된 제어 커맨드를 사용하여, 프린터의 정보를 취득할 수도 있다. 예를 들어, PJL(Printer Job Language), Post Script, CPCA(Common Peripheral Controlling Architecture)에서 정의된 커맨드를 사용하여, 프린터에 정보를 요구해도 된다. 또한, 그 밖에도 NPAP(Network Printing Alliance Protocol)를 사용하여 프린터로부터 정보를 취득할 수도 있다.
인쇄 작업 생성부(10525)는, PDL 변환 처리나 확장된 인쇄 설정을 인쇄 작업에 반영하는 기능을 갖는다.
예를 들어, 디바이스 애플리케이션(1052a)의 인쇄 작업 생성부(10525)는, IPP에 의거한 인쇄 작업에 포함되는 PDL 데이터를 LIPS 형식(UFR 형식)으로 변환하는 기능을 갖는다. 또한, 디바이스 애플리케이션(1052b)의 인쇄 작업 생성부(10525)는, IPP에 의거한 인쇄 작업에 포함되는 PDL 데이터를 PCL 형식으로 변환하는 기능을 갖는다. 또한, 디바이스 애플리케이션(1052)으로 변환하는 PDL의 형식은 일례이며, 이것에 한정되는 것은 아니다. PCL, RPCS, PS, ART, SPDL2 형식 등으로 변환해도 된다. 또한, PDL 데이터의 변환 처리는 반드시 필요하지는 않다. 예를 들어, 프린터(200a 내지 200c)가 PDF의 다이렉트 프린트에 대응하고 있는 경우에는, 변환 처리를 스킵할 수도 있다.
계속해서, 인쇄를 실행할 때의 데이터 처리의 개요에 대하여 도 5를 사용하여 설명한다. 도 5는, 유저가 인쇄를 행하는 경우의 데이터 흐름을 설명하는 개략도이다.
먼저, 애플리케이션(1051)은 표준 인쇄 설정부(308)를 이용하여 PrintTicket 형식이나 DEVMODE 형식으로 설정된 표준 설정 데이터를 취득한다. 표준 인쇄 설정부(308)는 정의 파일군(309)으로부터 선택 프린터에 대응하는 정의 파일을 취득하고, 당해 정의 파일에 기초하여 현재의 인쇄 설정을 나타내는 표준 설정 데이터를 생성한다. 표준 설정 데이터는, 애플리케이션(1051)이나, OS에 의해 표시되는 인쇄 설정을 변경하기 위한 화면(유저 인터페이스)을 통해 적절히 변경된다. 애플리케이션은 인쇄 개시 지시를 접수하면, 표준 인쇄 설정부(308)에서 취득한 표준 설정과 XPS 스풀 파일을 표준 인쇄 처리부(312)에 전달한다.
표준 인쇄 처리부(312)는 수신한 XPS 스풀 파일을 IPP에 의거하는 PDL로 변환한다. 또한, 현재의 인쇄 설정을 나타내는 표준 설정 데이터에 기초하여, IPP에 의거한 인쇄 속성을 생성한다. 계속해서, 공통 프린터(150)는 변환한 PDL과, IPP의 속성 정보에 기초하여 인쇄 작업을 생성하여 디바이스 애플리케이션(1052)에 전달한다. 또한, 디바이스 애플리케이션을 사용하지 않는다고 판단한 경우, 쇄선으로 나타내는 바와 같이, IPP에 의거한 인쇄 작업을 그대로 프린터에 송신한다.
계속해서, 디바이스 애플리케이션(1052)은, 프린터(200)로부터 취득한 확장 설정을 나타내는 능력 정보로부터 IPP에서는 정의되어 있지 않은 설정 항목을 포함하는 확장 설정 화면(유저 인터페이스)을 생성하고, 모니터(110)에 표시한다.
여기에서는 설명을 위해, 프린터(200a)에 대응하는 디바이스 애플리케이션(1052a)을 예로 들어 설명한다.
도 9는, 디바이스 애플리케이션(1052a)이 모니터(110)에 표시하는 인쇄 설정 화면의 일례를 나타내고 있다. 901은 표준 인쇄 설정의 일례를 나타내고 있고, 902는 디바이스 능력 정보에 기초하는 확장 인쇄 설정의 일례를 나타내고 있다. 902에 표시되어 있는 확장 인쇄 설정의 「박스 인쇄」, 「시큐어 프린트」, 「니들리스 바인딩」은 각 벤더 독자의 사양으로 동작하는 인쇄 설정의 일례이다. 유저는 확장 설정 화면을 통해, IPP에서는 책정되어 있지 않은 사양에 기초하는 인쇄 설정을 행할 수 있다. OK 키(903)는 인쇄 설정을 반영하여 인쇄를 개시하기 위한 키이다.
디바이스 애플리케이션(1052a)은 OK 키(903)가 선택된 것을 검지하면, 확장 설정 화면을 통해 이루어진 설정에 기초하여, 인쇄 작업에 부여하는 작업 속성인 확장 설정을 생성한다. 계속해서 디바이스 애플리케이션(1052a)은 PDL과 작업 속성을 포함하는 인쇄 작업을 프린터(200a)에 송신한다. 이 경우, 예를 들어 인쇄 작업에 포함되는 작업 속성은 CPCA의 커맨드로 표현하고, PDL 데이터는 LIPS 형식(UFR) 형식으로 표현할 수 있다.
마지막으로, 프린터(200)는 IPP에 의거한 인쇄 작업이나, 벤더 독자의 형식 인쇄 작업을 수신하고, 당해 인쇄 작업에 기초하여 시트에 화상을 인쇄한다.
계속해서, 구체적인 제어에 대하여 도 6 및 도 7의 흐름도를 사용하여 설명한다.
<클라이언트 컴퓨터(100)의 제어>
먼저, 클라이언트 컴퓨터(100)의 동작에 대하여 설명한다. 도 6은, 클라이언트 컴퓨터(100)의 제어를 나타내는 흐름도이다. 도 6의 흐름도에 나타내는 각 동작(스텝)은, CPU(101)가 ROM(1021) 또는 스토리지(105)에 기억된 각 제어 모듈을 실현하기 위한 프로그램을 RAM(1022)에 판독하고, 실행함으로써 실현된다. 또한, 흐름도로 나타내는 각 처리는, 애플리케이션(1051), OS(1053), 디바이스 애플리케이션(1052)의 모듈이나 소프트웨어 컴포넌트가 협동하여 실현하는 것으로 한다. 또한 데이터 송신, 정보의 입출력 등의 일부의 처리는, 각 I/F와 협동하여 실현된다. 각 처리를 실현하는 주체가 되는 프로그램을 명확하게 하기 위해서, 소프트웨어 컴포넌트나 애플리케이션 등을 주어로서 기재하는 것으로 한다.
도 6의 흐름도는, 사용하는 프린터로서, 공통 프린터 드라이버(1054)에 대응하는 프린터가 지정되고, 유저로부터 인쇄를 위한 지시를 접수함에 따라서 실행되는 각 처리를 나타내고 있다.
스텝 S601에 있어서, 애플리케이션(1051)은 유저에 의해 커먼 프린트 다이알로그의 인쇄키(803)가 눌러진 것을 검지한다. 스텝 S602에 있어서, 애플리케이션(1051)은 묘화 데이터를 생성하고, OS(1053)에 묘화 데이터를 전달한다.
스텝 S603에 있어서, OS(1053)는 XPS 스풀 파일을 생성한다. 또한, 데스크톱 애플리케이션(301)으로부터의 인쇄인 경우, OS는 GDItoXPS 변환 모듈(307)을 사용하여 XPS 스풀 파일을 생성한다.
스텝 S604에 있어서, 인쇄 아키텍처(10531)와 공통 프린터 드라이버(1054)는 협동하여, 인쇄 작업을 생성한다. 표준 인쇄 처리부(312)는 XPS 스풀 파일을 IPP에 의거하는 PDL로 변환한다. 또한, 작업에 설정해야 할 인쇄 설정을 나타내는 표준 설정에 기초하여, IPP에 의거한 인쇄 속성을 생성한다. 또한, 프린트 매니저(318)는 PDL과 IPP에 의거한 인쇄 속성에 기초하여, 인쇄 작업을 생성한다.
계속해서, 스텝 S605에 있어서, OS(1053)는 디바이스 애플리케이션을 사용할지 여부를 판단한다. 구체적으로는 먼저, 출력처로서 선택되어 있는 프린터(이후, 선택 프린터라 칭함)에 대응하는 디바이스 애플리케이션이 존재하는지 여부를 판단한다. 선택 프린터에 대응하는 디바이스 애플리케이션이 존재하지 않는 경우, 처리를 S616으로 진행시킨다. 한편, 선택 프린터에 대응하는 디바이스 애플리케이션이 존재하는 경우, OS(1053)는 또한 확장 애플리케이션 설정 기억부(320)를 참조하여, 선택 프린터에 대한 디바이스 애플리케이션을 기동할지 여부를 판단한다. 구체적으로는 선택 프린터의 ID 등에 기초하여, 확장 애플리케이션 설정 기억부(320)에 기억된 프린터별 설정을 참조한다. ID에 기초하여 참조한 설정이 디바이스 애플리케이션을 기동하지 않는 설정을 나타내고 있을 경우, 처리를 S616으로 진행시킨다. 한편, ID에 기초하여 참조한 설정이 디바이스 애플리케이션을 기동하는 설정을 나타내고 있는 경우, 처리를 S606으로 진행시킨다.
S616에 있어서, OS(1053)는 IPP에 의거한 인쇄 작업을 선택 프린터에 송신한다. 송신이 완료되면 일련의 처리를 종료한다.
한편, 스텝 S606에 있어서, OS(1053)는 선택 프린터에 대응하는 디바이스 애플리케이션(1052)을 기동하여, IPP에 의거한 인쇄 작업을 디바이스 애플리케이션(1052)에 전달한다. 또한, 이 때, 선택 프린터를 일의적으로 식별하기 위한 정보나 선택 프린터와 통신하기 위한 정보(예를 들어, IP 어드레스 등)도 전달되는 것으로 한다.
스텝 S607에 있어서, 디바이스 애플리케이션(1052)의 인쇄 시 기동 애플리케이션부(10521)는 OS(1053)에 전달된 인쇄 작업 및 선택 프린터에 관한 정보를 수신한다. 스텝 S608에 있어서, 디바이스 애플리케이션(1052)의 인쇄 시 기동 애플리케이션부(10521)는 인쇄 작업을 해석한다.
스텝 S609에 있어서, 디바이스 애플리케이션(1052)의 인쇄 시 기동 애플리케이션부(10521)는, 선택 프린터의 능력 정보가 기억되어 있는지 여부(확장 능력을 취득 완료인지)를 판단한다. 선택 프린터의 능력 정보가 기억되어 있는 경우에는, 처리를 S613으로 진행시키고, 선택 프린터의 능력 정보가 기억되지 않은 경우에는, 처리를 S610으로 진행시킨다.
스텝 S610에 있어서, 디바이스 애플리케이션 통신부(10524)는 선택 프린터(200)에 대하여 능력 정보를 문의한다. 디바이스 애플리케이션(1052)의 디바이스 애플리케이션 통신부(10524)는, 선택 프린터(200)에 대하여 전술한 특정한 통신 방식이나 특정한 제어 커맨드를 사용하여 능력 정보를 요구한다. 스텝 S611에 있어서, 디바이스 애플리케이션 통신부(10524)는 S610에서 송신한 요구의 응답으로서 디바이스 능력 정보를 수신한다. 또한 당해 수신한 능력 정보와, 선택 프린터의 식별자를 관련지은 정보를 디바이스 애플리케이션(1052)으로부터 액세스할 수 있는 공유의 기억 영역에 기억한다. 이 처리에 의해, 다음번 이후에는 디바이스 능력 정보의 취득 처리를 생략할 수 있게 된다. 여기서 기억되는 디바이스 능력 정보는, IPP의 프린터 속성 요구 조작(Get-Printer-Attributes Operations)으로 취득할 수 있는 속성 정보(능력 정보)보다도 상세한 설정 항목을 포함하고 있는 것으로 한다.
계속해서, 스텝 S613에 있어서, 디바이스 애플리케이션(1052)의 확장 인쇄 설정부(10522)는 인쇄 작업의 해석 결과와 디바이스 능력 정보에 기초하여, 도 9에서 예시한 확장 인쇄 설정 UI를 표시한다.
스텝 S614에 있어서, 디바이스 애플리케이션(1052)의 확장 인쇄 설정부(10522)는 유저 조작에 기초하는 인쇄 설정의 변경 지시를 접수한다. 도 9에서 예시한 바와 같이, 확장 인쇄 설정 화면(UI)에서는, IPP에서는 이미 정해져 있지 않은 인쇄 설정(902)을 설정할 수 있다.
스텝 S615에 있어서, 디바이스 애플리케이션(1052)의 인쇄 작업 생성부(10525)는 확장 인쇄 설정에 기초하여, 선택 프린터가 수신 가능한 커맨드로 변환한 인쇄 작업을 생성한다. 예를 들어, 선택 프린터가 프린터(200a)이며, 디바이스 애플리케이션이 1052a인 경우, 작업 속성을 CPCA로 정의하고, PDL을 LIPS(UFR)로 변환한 인쇄 작업을 생성한다. 또한, 예를 들어 선택 프린터가 프린터(200b)이며, 디바이스 애플리케이션이 1052b인 경우, 작업 속성을 JPL로 정의하고, PDL을 PCL로 변환한 인쇄 작업을 생성한다. S617에 있어서, 디바이스 애플리케이션 통신부(10524)는 선택 프린터에 대하여 S615에서 생성된 인쇄 작업을 송신한다. 디바이스 애플리케이션 통신부(10524)는 프린터(200)와 직접 접속하고, WSD 프로토콜이나 벤더 독자의 프로토콜을 사용한 작업 제어를 행하여, 인쇄를 실행시킨다.
또한, 본 실시예에서는, 디바이스 애플리케이션(1052)의 디바이스 애플리케이션 통신부(10524)가 프린터(200)에 대하여 직접 인쇄 작업을 송신하는 경우를 예시하고 있지만 이것에 한정되는 것은 아니다. 예를 들어, OS가 제공하는 프린트 매니저(318) 및 디바이스 통신부(319)를 통해, 인쇄 작업을 송신해도 된다. 이 경우, PDL의 변환은 행하지 않고, 인쇄 속성만을 벤더 확장을 포함하는 설정으로 재기입한다. 즉, 인쇄 작업 생성부(10525)는 OS로부터 수취한 PDL에 대하여는 변환을 행하지 않고 패스스루하고, 확장된 인쇄 설정을 나타내는 문자열 정보나 바이너리 데이터를 포함하는 인쇄 작업을 생성한다. 당해 변환한 인쇄 작업은 프린트 매니저(318)에 재투입되어, 프린터(200)에 송신된다.
<프린터(200)의 제어>
계속해서, 프린터(200)의 제어에 대하여 설명한다. 도 7은, 프린터(200)의 제어를 나타내는 흐름도이다. 흐름도에 나타내는 각 동작(스텝)은, 인쇄 장치의 프로세서가 메모리에 기억된 각 제어 모듈을 실현하기 위한 프로그램을 실행함으로써 실현된다. 도 7의 흐름도는 프린터(200)가 기동한 것에 응답하여 실행되는 것으로 한다.
스텝 S701에 있어서, 프린터(200)의 프로세서는, 외부 장치로부터 능력 정보의 취득 요구를 접수하였는지 여부를 판단한다. 외부 장치로부터 능력 정보의 취득 요구를 접수한 경우에는, 처리를 S702로 진행시키고, 외부 장치로부터 능력 정보의 취득 요구를 접수하지 않은 경우에는, 처리를 S703으로 진행시킨다. 스텝 S702에 있어서, 프린터(200)의 프로세서는 요구에 대한 응답으로서, 디바이스의 능력을 나타내는 정보를 회신한다. 여기에서는, 취득 요구가 IPP의 Get-Printer-Attributes 리퀘스트라면, IPP에서 사용할 수 있는 능력을 나타내는 속성 정보를 회신한다. 한편, 도 6의 S610에서 설명한 디바이스 애플리케이션으로부터의 취득 요구라면, IPP에서 사용할 수 있는 능력을 나타내는 속성 정보와 비교하여, 상세한 능력을 나타내는 디바이스 능력 정보를 회신한다.
계속해서, 스텝 S704에 있어서, 프린터(200)의 프로세서는, 외부 장치로부터 인쇄 작업을 수신하였는지 여부를 판단한다. 외부 장치로부터 인쇄 작업을 수신한 경우에는, 처리를 S705로 진행시키고, 외부 장치로부터 인쇄 작업을 수신하지 않은 경우에는, 처리를 S703으로 진행시킨다.
스텝 S703에 있어서, 프린터(200)의 프로세서는, 셧 다운의 지시를 접수하였는지 여부를 판단한다. 셧 다운의 지시를 접수한 경우에는, 일련의 처리를 종료한다. 한편, 셧 다운의 지시를 접수하지 않은 경우에는, S701의 처리로 돌아가서, 외부 장치로부터 송신되는 요구나 인쇄 작업을 준비하고 대기한다.
이상, 설명한 바와 같이, 본 실시 형태에서는, 소정의 인쇄 프로토콜에 의거한 인쇄 작업을 생성하는 프린터 드라이버 또는 프린트 클라이언트를 사용하여 인쇄를 행하는 경우에도, 복수의 벤더의 인쇄 장치가 제공하는 확장 기능을 적절하게 이용할 수 있게 된다. 또한, 프린터 드라이버는, 소정의 인쇄 프로토콜에 의거하는 클래스 드라이버로서 실현하고, 벤더별 확장은, 샌드박스화된 환경에서 동작하는 확장 애플리케이션을 실현할 수 있다. 따라서, 시큐리티와 편리성을 양립시킬 수 있다. 또한, 당해 확장 애플리케이션에 의해, 벤더의 독자 자산(예를 들어, 벤더 독자의 PDL이나 JDL)을 활용한 인쇄를 행할 수 있게 된다. 또한, 확장 애플리케이션이 제공되지 않은 경우나, 유저가 확장 애플리케이션에 의한 인쇄 설정을 요망하지 않는 경우에는, 확장 애플리케이션을 굳이 기동하지 않게 할 수 있다. 따라서, 간이적인 인쇄를 원하는 유저와, 상세한 인쇄 설정을 행하고자 하는 유저의 양쪽에 대응할 수 있다.
<제2 실시 형태>
제1 실시 형태에서는, 공통 프린터 드라이버(1054)에서 PDL을 생성한 후에, 디바이스 애플리케이션(1052)을 사용하여 인쇄 설정을 확장하는 경우를 예시하였다. 제2 실시 형태에서는, 인쇄 지시를 행하기 전에도, 벤더 독자의 인쇄 설정 화면에 의한 인쇄 설정을 행할 수 있도록 하는 구조를 제공한다.
또한, 제2 실시 형태에 있어서의 하드웨어 구성이나 소프트웨어 구성은 제1 실시 형태와 마찬가지이기 때문에 생략한다.
먼저, 제2 실시 형태에 있어서의, 인쇄를 실행할 때의 데이터 처리의 개요를 도 10을 사용하여 설명한다. 도 10은, 유저가 인쇄를 행하는 경우의 데이터 흐름을 설명하는 개략도이다.
애플리케이션(1051)은 제1 실시 형태와 마찬가지로, 표준 인쇄 설정부(308)를 이용하여 표준 설정 데이터를 취득한다.
애플리케이션(1051)으로부터 호출된 프린트 다이알로그 등으로부터 상세 인쇄를 행하기 위한 「기타 설정」키(802)가 눌러진 경우에, OS의 인쇄 아키텍처(10531)는, 대응하는 디바이스 애플리케이션을 기동시킨다.
OS에 의해 기동된 디바이스 애플리케이션(1052)은, 선택 프린터로부터 취득한 능력 정보에 기초하여 확장 설정을 생성한다. 또한, 디바이스 애플리케이션(1052)은, 표준 인쇄 설정부(308)로부터 전달된 표준 설정 데이터(PrintTicket)와, 프린터(200)로부터 취득한 능력 정보로부터 얻은 확장 설정을 이용하여, 도 9와 동등한 인쇄 설정을 행할 수 있는 화면(유저 인터페이스)을 표시한다. 또한, 당해 인쇄 설정을 행할 수 있는 화면에는, 인쇄 조건에 기초하여 출력되는 출력물의 체재(體裁)를 나타내는 일러스트 등을 표시할 수도 있다. 당해 일러스트는 유저가 인쇄 설정을 변경할 때마다 적절히 생성되고, 어떠한 출력이 되는지를 유저에게 통지할 수 있다. 또한, 당해 인쇄 설정을 행할 수 있는 화면을 통해, 즐겨찾기 인쇄 설정 등을 등록할 수도 있다. 즐겨찾기 인쇄 설정은 디바이스 애플리케이션(1052)의 공유 데이터 영역에 기억된다. 유저는 도시 생략된 리스트 등으로부터 즐겨찾기 인쇄 설정을 호출하기 위한 표시 아이템을 선택하여, 인쇄 설정에 반영할 수 있다.
유저에 의해 인쇄 설정이 변경되고, OK 키가 선택된 것을 검지하면, 디바이스 애플리케이션(1052)은 디바이스 애플리케이션(1052)이 소유하는 공유 데이터 영역에 확장 설정의 정보를 저장하고, 표준 인쇄 설정부(308)에는 표준 설정을 전달한다. 표준 인쇄 설정부(308)는 프린터(200)에서 제공 가능한 확장 설정의 정보를 모르기 때문에, 확장 설정의 정보를 전달해도 미지의 설정으로 판단해버려 바르게 제어할 수 없다. 그 때문에, 디바이스 애플리케이션(1052)은 확장 설정을 공유 데이터 영역에 일시 유지해둔다. 인쇄 시에 다른 프로세스로 기동되는 디바이스 애플리케이션(1052)이 공유 데이터 영역에 유지된 확장 설정을 읽어들임으로써, OS(1053)에 대하여 확장 설정을 제어시키지 않고, 확장 인쇄 설정 기능을 제공할 수 있다.
구체적인 제어에 대하여 도 11 내지 도 12의 흐름도를 사용하여 설명한다. 도 11 내지 도 12는, 클라이언트 컴퓨터(100)의 제어를 나타내는 흐름도이다. 도 11의 흐름도에 나타내는 각 동작(스텝)은, CPU(101)가 ROM(1021) 또는 스토리지(105)에 기억된 각 제어 모듈을 실현하기 위한 프로그램을 RAM(1022)에 판독하고, 실행함으로써 실현된다. 또한, 도 11의 흐름도는, 애플리케이션(1051)이 제공하는 유저 인터페이스를 통해 인쇄의 의사 표시를 나타내는 유저 조작이 이루어짐에 따라서 실행된다.
스텝 S1101에 있어서, 애플리케이션(1051)은 인쇄의 의사 표시를 나타내는 키의 선택을 접수한다. 스텝 S1102에 있어서, 애플리케이션(1051)은 도 8에서 예시한 커먼 프린트 다이알로그를 표시한다. 스텝 S1103에 있어서, 애플리케이션 S1051은 상세 인쇄를 위한 키 선택을 접수한다. 상세 인쇄를 위한 키는, 예를 들어 「기타 설정」키(802)이다. 당해 키의 누름을 접수하면, 애플리케이션(1051)은, OS(1053)에 프린터 드라이버 및 프린터를 특정하는 정보와, 상세 인쇄 화면의 요구를 송신한다.
스텝 S1104에 있어서, OS(1053)는, 수신한 프린터 드라이버 및 선택된 프린터를 특정하는 정보에 기초하여, 사전의 인쇄 설정에 디바이스 애플리케이션을 사용할지 여부를 판단한다. 선택된 프린터에 대응하는 디바이스 애플리케이션이 없는 경우에는, S1105로 처리를 진행시킨다. 한편, 선택된 프린터에 대응하는 디바이스 애플리케이션이 있는 경우에는, 추가로 디바이스 애플리케이션을 기동할지 여부를 확장 애플리케이션 설정 기억부(320)에 기초하여 판단한다. 당해 판단은, S605와 마찬가지의 판단이기 때문에 설명은 생략한다. 디바이스 애플리케이션을 기동한다고 판단하면, 처리를 S1108로 진행시키고, 기동하지 않는다고 판단하면, 처리를 S1105로 진행시킨다.
스텝 S1105에 있어서, OS(1053)는 PrintCapablities와 PrintTicket에 기초하여 OS의 표준 인쇄 설정 화면을 표시한다. 당해 설정 화면에서는, IPP에서 취득할 수 있는 속성에 기초하는 인쇄 설정을 행할 수 있다. 또한, 데스크톱 애플리케이션으로부터 상세한 인쇄 설정의 지시가 이루어진 경우, DEVMODE와 PrintTicket을 상호 변환하는 API를 사용하여, PrintTicket으로 변환하여, 현재의 인쇄 설정을 해석하는 것으로 한다.
스텝 S1106에 있어서, OS(1053)는 유저 조작에 기초하는 인쇄 설정의 변경 지시를 접수한다. 스텝 S1107에 있어서, OS(1053)는 S1105에 있어서 표준 설정 데이터(DEVMODE 혹은 PrintTicket)를 갱신한다. 갱신이 완료되면, 처리를 S1117로 진행시킨다.
한편, 스텝 S1108에 있어서, OS(1053)는 선택 프린터에 대응하는 디바이스 애플리케이션을 기동하고, 디바이스 애플리케이션에 인쇄 작업에 설정해야 할 인쇄 설정 데이터(표준 설정 데이터)를 전달한다. 또한, 표준 설정 데이터가 DEVMODE로 기재되어 있는 경우, PrintTicket으로 변환한 데이터를 전달한다.
스텝 S1109에 있어서, 기동된 디바이스 애플리케이션은, PrintTicket에서 기재된 인쇄 설정 정보를 수신한다. S1110 내지 S1112에서는, 제1 실시 형태의 S609 내지 S611과 마찬가지의 확장 설정의 취득 처리가 행해진다.
스텝 S1113에 있어서, 디바이스 애플리케이션은 수신한 인쇄 설정 정보와, 디바이스 능력으로부터 확장 인쇄 설정 UI를 표시한다. 스텝 S1114에 있어서, 디바이스 애플리케이션은 유저 조작에 기초하는 인쇄 설정의 변경 지시를 접수한다. 스텝 S1115에 있어서, 디바이스 애플리케이션은 인쇄 설정 정보인 PrintTicket을 갱신한다. 계속하여 S1116에 있어서, S1115에서 갱신한 확장 설정을 포함하는 PrintTicket을 디바이스 애플리케이션으로부터 액세스할 수 있는 공유 영역에 일시 보존한다. S1116의 처리가 완료되면, S1117로 진행한다. 또한, 디바이스 애플리케이션은, OS에 반환되는 인쇄 속성 정보에는, 확장 설정을 굳이 제외한 표준 설정 데이터를 반환한다.
스텝 S1117에 있어서, 애플리케이션(1051)은 OS 표준 기능 또는 디바이스 애플리케이션(1052)에 의해 갱신된 표준 설정 데이터에 기초하여 커먼 프린트 다이알로그를 재표시한다. 스텝 S1118에 있어서, 애플리케이션(1051)은 커먼 프린트 다이알로그의 인쇄 버튼의 선택 조작을 접수한다. 선택 조작을 접수하면, 인쇄 설정에 관한 일련의 처리는 종료된다. 계속해서, 도 12의 인쇄 처리가 행해진다.
도 12는, 제1 실시 형태에 있어서의 도 6의 흐름도 대신에 실행되는 흐름도이다. 도 6과의 차분은, S613의 처리 대신에 S1301의 처리가 실행되는 점이다.
S601 내지 S611은 제1 실시 형태와 마찬가지의 처리이기 때문에 생략한다. 또한, S606에서 기동하는 디바이스 애플리케이션의 프로세스와, S1108에서 기동하는 디바이스 애플리케이션의 프로세스는 다른 프로세스가 된다. 따라서, 디바이스 애플리케이션을 액세스할 수 있는 공통의 보존 영역을 통해 확장 설정을 포함하는 PrintTicket을 전달한다.
S1301에 있어서, 디바이스 애플리케이션(1052)은, 수신한 IPP에 의거한 인쇄 작업의 속성과, 디바이스 애플리케이션(1052)을 액세스할 수 있는 보존 영역 내에 기억된 확장 설정을 포함하는 PrintTicket에 기초하여, 확장 인쇄 설정 UI를 표시한다. 또한, 여기에서 표시되는 확장 인쇄 설정 UI에는, 디바이스 애플리케이션(1052)의 공유 데이터 영역에 기억된 즐겨찾기 설정을 호출하기 위한 표시 아이템 등이 표시되도록 해도 된다. 이 경우, 유저는 인쇄 지시 후에 표시되는 인쇄 설정 화면에 있어서도, 사전 등록된 즐겨찾기 설정을 사용할 수 있게 된다. 표시가 완료되면 처리를 S614로 진행시킨다. 이후의 처리는 제1 실시 형태와 마찬가지이다.
이상 설명한 바와 같이 본 실시 형태에서는, 인쇄를 개시하기 전의 사전 설정에도 대응할 수 있게 된다는 효과를 발휘할 수 있다.
<변형예>
제2 실시 형태에서는, 확장 설정을 공유 데이터 영역에 저장하는 경우를 예시하였지만, 확장 설정을 디바이스 애플리케이션에 전달하는 방법은 이것에 한정되는 것은 아니다. 예를 들어, IPP에 의거하는 표준 설정에 대하여 벤더가 확장 가능한 영역(이하, 벤더 확장 영역이라 칭함)이 정의된 경우, 그 영역을 이용하여 제2 실시 형태와 마찬가지의 처리를 행하는 것이 가능하다. 본 처리에 대하여 도 13의 모식도를 사용하여 설명한다.
먼저, 애플리케이션(1051)은 표준 인쇄 설정부(308)를 이용하여 IPP에 입각하는 정보인 표준 설정 데이터를 취득한다. 프린트 다이알로그를 통해 상세 인쇄의 지시를 접수하면, OS(1053)는 디바이스 애플리케이션(1052)을 기동한다. 디바이스 애플리케이션(1052)은 표준 인쇄 설정부(308)로부터 전달된 표준 설정 데이터(PrintTicket)와, 프린터(200)로부터 취득한 능력 정보로부터 얻은 확장 설정을 이용하여, 도 9에 예시한 확장 설정 UI를 표시한다. 유저에 의해 도 9의 OK 버튼이 눌러지면, 디바이스 애플리케이션(1052)은 PrintTicket에 벤더 확장의 정보를 기재한다. 예를 들어, 도 14의 1401과 같이, 프린터(200)가 이용 가능한 확장 설정을 나타내는 문자열을 기재하여, OS(1053)에 전달한다. 벤더 확장 영역에 대하여는, IPP에 이미 정해진 사양에 기초하게 기재된다. 따라서, IPP에 의거하는 표준 프린터 드라이버(1054)에 있어서도 적절하게 취급할 수 있는 데이터이다. 표준 인쇄 처리부(312)는 PrintTicket에 기재된 벤더 확장의 정보를, 그대로 IPP에 의거한 인쇄 작업의 벤더 확장 영역을 나타내는 속성에 기재한다. 그 때문에, 인쇄 시에 동작하는 디바이스 애플리케이션(1052)까지 벤더 확장 영역에 기재된 확장 설정 정보를 전할 수 있고, 이 정보를 이용하여 확장 설정 변경 기능을 제공하는 것이 가능해진다.
또한, 다른 변형예로서, 벤더 확장 영역 등을 사용하지 않는 예도 생각할 수 있다. 예를 들어, 표준 인쇄 처리부(312)와 프린트 매니저(318)는, PrintTicket 중에서 IPP에 의거한 속성만을 포함하는 IPP에 의거한 인쇄 작업을 생성한다. 한편, 디바이스 애플리케이션을 기동할 때에 IPP에 의거한 인쇄 작업에 더하여, 도 14에서 예시한 확장 설정을 포함하는 PrintTicket을 디바이스 애플리케이션에 전달한다. 이 경우, 디바이스 애플리케이션은 IPP에 의거한 인쇄 설정은 파기하고, 수신한 PrintTicket과, 독자적으로 취득한 디바이스 능력 정보에 기초하여 확장 UI를 표시하면 된다.
또한, 제2 실시 형태의 변형예로서, 디바이스 애플리케이션(1052)을 사용한 인쇄 개시 전의 확장 인쇄 설정 처리를 접수한 경우에, 인쇄 지시 후의 확장 인쇄 설정 UI에 의한 설정 처리(S1113 및 S1301)를 스킵하도록 제어할 수도 있다.
이상 설명한 실시예에 의해, 복수의 벤더의 인쇄 장치에 대응하는 프린터 드라이버 또는 프린트 클라이언트를 사용하여 인쇄를 행하는 경우에도, 벤더별 확장 기능을 적절하게 이용할 수 있게 된다. 또한, 드라이버는 소정의 인쇄 프로토콜에 의거하는 클래스 드라이버로서 실현하고, 벤더별 확장은, 샌드박스화된 환경에서 동작하는 확장 애플리케이션이 실현되기 때문에, 시큐리티와 편리성을 양립시킬 수 있게 된다. 또한, 소정의 인쇄 프로토콜에 의거한 인쇄 작업을 생성하는 프린터 드라이버를 위한 확장 애플리케이션을 제공함으로써, 당해 애플리케이션을 통해 벤더별 인쇄 설정을 반영한 인쇄를 행할 수 있게 된다.
본 발명은, 상술한 실시 형태의 1 이상의 기능을 실현하는 프로그램을, 네트워크 또는 기억 매체를 통해 시스템 또는 장치에 공급하고, 그 시스템 또는 장치의 컴퓨터에 있어서의 1개 이상의 프로세서가 프로그램을 판독하여 실행하는 처리로도 실현 가능하다. 또한, 1 이상의 기능을 실현하는 회로(예를 들어, ASIC)에 의해서도 실현 가능하다.
본 발명은 상기 실시 형태로 제한되는 것은 아니며, 본 발명의 정신 및 범위로부터 이탈하지 않고, 각종 변경 및 변형이 가능하다. 따라서, 본 발명의 범위를 밝히기 위해 이하의 청구항을 첨부한다.
본원은 2018년 6월 29일에 제출된 일본 특허 출원 제2018-125177을 기초로 하여 우선권을 주장하는 것이며, 그 기재 내용의 모두를 여기에 원용한다.

Claims (15)

  1. 프린터와 통신하고 프린터 드라이버를 저장하며 상기 프린터 드라이버와 연관하여 인쇄 설정 애플리케이션을 저장하는 정보 처리 장치로서,
    디스플레이;
    상기 프린터로부터 제1 인쇄 설정 항목의 제1 인쇄 설정 값을 취득하도록 구성된 제1 취득 수단 - 상기 제1 인쇄 설정 항목은 인터넷 프린팅 프로토콜(Internet Printing Protocol)에 의해 지원됨 -;
    제2 인쇄 설정 항목의 제2 인쇄 설정 값을 취득하도록 구성된 제2 취득 수단 - 상기 제2 인쇄 설정 항목은 상기 인터넷 프린팅 프로토콜에 의해 지원되지 않음 -;
    상기 정보 처리 장치의 상기 디스플레이로 하여금 적어도 상기 취득된 제1 인쇄 설정 값에 기초하여, 상기 제1 인쇄 설정 항목의 인쇄 설정 값을 설정하기 위해 사용자 지시를 수신하기 위한 제1 사용자 인터페이스를 표시하게 하고, 적어도 상기 취득된 제2 인쇄 설정 값에 기초하여, 상기 제2 인쇄 설정 항목의 인쇄 설정 값을 설정하기 위해 사용자 지시를 수신하기 위한 제2 사용자 인터페이스를 표시하게 하도록 구성된 표시 제어 수단; 및
    상기 제1 사용자 인터페이스를 통해 설정된 상기 제1 인쇄 설정 값과 상기 제2 사용자 인터페이스를 통해 설정된 상기 제2 인쇄 설정 값을, 상기 프린터에 송신될 인쇄 데이터에 적용되는 인쇄 설정으로서 제공하도록 구성되는 제공 수단을 포함하는, 정보 처리 장치.
  2. 프린터 드라이버 및 인쇄 설정 애플리케이션을 갖는 정보 처리 장치의 프로세서에 의해 실행되고, 디스플레이를 갖는, 정보 처리 장치를 제어하는 방법이며,
    상기 정보 처리 장치는 제1 취득 수단, 제2 취득 수단, 표시 제어 수단, 제공 수단을 포함하고,
    상기 방법은,
    상기 제2 취득 수단에 의해 프린터로부터 제2 인쇄 설정 항목의 제2 인쇄 설정 값을 취득하는 단계 - 상기 제2 인쇄 설정 항목은 인터넷 프린팅 프로토콜에 의해 지원되지 않음 -;
    상기 표시 제어 수단에 의해 상기 정보 처리 장치의 상기 디스플레이로 하여금, 상기 제1 취득 수단에 의해 상기 프린터로부터 취득되고 상기 인터넷 프린팅 프로토콜에 의해 지원되는 제1 인쇄 설정 항목의 적어도 제1 인쇄 설정 값에 기초하여, 상기 제1 인쇄 설정 항목의 인쇄 설정 값을 설정하기 위해 사용자 지시를 수신하는 제1 사용자 인터페이스를 표시하게 하는 단계;
    상기 표시 제어 수단에 의해 상기 정보 처리 장치의 상기 디스플레이로 하여금, 제2 인쇄 설정 항목의 적어도 제2 인쇄 설정 값에 기초하여, 상기 제2 인쇄 설정 항목의 인쇄 설정 값을 설정하기 위한 사용자 지시를 수신하는 제2 사용자 인터페이스를 표시하게 하는 단계; 및
    상기 제공 수단에 의해 상기 제1 사용자 인터페이스를 통해 설정된 상기 제1 인쇄 설정 값 및 상기 제2 사용자 인터페이스를 통해 설정된 상기 제2 인쇄 설정 값을, 상기 프린터에 송신될 인쇄 데이터에 적용되는 인쇄 설정으로서 제공하는 단계를 포함하는, 방법.
  3. 제2항에 있어서,
    상기 제1 인쇄 설정 항목의 상기 제1 인쇄 설정 값은 상기 인터넷 프린팅 프로토콜에서 이미 정해진 Get-Printer-Attributes 요구의 응답으로서 취득되고,
    상기 제2 인쇄 설정 항목의 상기 제2 인쇄 설정 값은 상기 인터넷 프린팅 프로토콜에서 이미 정해진 요구와는 다른 요구를 사용하여 상기 프린터로부터 취득되는 것을 특징으로 하는 방법.
  4. 제3항에 있어서,
    상기 다른 요구는, WSD(Web Services for Devices), SNMP(Simple Network Management Protocol), PJL(Printer Job Language), PostScript, CPCA(Common Peripheral Controlling Architecture), NPAP(Network Printing Alliance Protocol)의 통신 방식들, 또는 제어 방식들 중 적어도 어느 하나를 따르는 요구인 것을 특징으로 하는 방법.
  5. 제2항 내지 제4항 중 어느 한 항에 있어서,
    상기 정보 처리 장치는, 상기 정보 처리 장치의 OS(Operating System)의 가상 환경 상에서 제어되고, 상기 정보 처리 장치의 리소스들에 대한 액세스를 위한 액세스 권한이 상기 프린터 드라이버에 비해, 낮은 것을 특징으로 하는 방법.
  6. 제2항 내지 제4항 중 어느 한 항에 있어서,
    상기 제1 사용자 인터페이스가 표시되는 상황에서 미리 결정된 사용자 지시가 입력되는 경우에, 상기 제2 사용자 인터페이스가 표시되는 것을 특징으로 하는 방법.
  7. 제6항에 있어서,
    상기 미리 결정된 사용자 지시는, 보다 상세한 인쇄 설정들을 설정하기 위한 사용자 지시인 것을 특징으로 하는 방법.
  8. 프린터 드라이버와 통신하는 프로그램을 저장하는 비일시적 컴퓨터 판독 가능한 저장 매체로, 상기 프로그램은 정보 처리 장치로 하여금 제어 방법을 실행하게 하고,
    상기 정보 처리 장치는 제1 취득 수단, 제2 취득 수단, 표시 제어 수단, 제공 수단을 포함하며,
    상기 제어 방법은,
    상기 제2 취득 수단에 의해 프린터로부터 제2 인쇄 설정 항목의 제2 인쇄 설정 값을 취득하는 취득 단계 - 상기 제2 인쇄 설정 항목은 인터넷 프린팅 프로토콜에 의해 지원되지 않음 -;
    상기 제1 취득 수단에 의해 상기 프린터로부터 취득되고 상기 인터넷 프린팅 프로토콜에 의해 지원되는 제1 인쇄 설정 항목의 적어도 제1 인쇄 설정 값에 기초하여, 상기 제1 인쇄 설정 항목의 인쇄 설정 값을 설정하기 위해 사용자 지시를 수신하는 제1 사용자 인터페이스를 상기 표시 제어 수단에 의해 표시하는 제1 표시 제어 단계;
    상기 표시 제어 수단에 의해 상기 제2 인쇄 설정 항목의 적어도 상기 제2 인쇄 설정 값에 기초하여, 상기 제2 인쇄 설정 항목의 인쇄 설정 값을 설정하기 위해 사용자 지시를 수신하는 제2 사용자 인터페이스를 표시하는 제2 표시 제어 단계; 및
    상기 제공 수단에 의해 상기 프린터에 송신될 인쇄 데이터에 적용되는 인쇄 설정으로서, 상기 제1 사용자 인터페이스를 통해 설정된 상기 제1 인쇄 설정 값과, 상기 제2 사용자 인터페이스를 통해 설정된 상기 제2 인쇄 설정 값을 제공하는 제공 단계를 포함하는 것을 특징으로 하는 프로그램을 저장하는 비일시적 컴퓨터 판독 가능한 저장 매체.
  9. 제8항에 있어서,
    상기 제1 인쇄 설정 항목의 상기 제1 인쇄 설정 값은 상기 인터넷 프린팅 프로토콜에서 이미 정해진 Get-Printer-Attributes 요구의 응답으로서 취득되고,
    상기 제2 인쇄 설정 항목의 상기 제2 인쇄 설정 값은 상기 인터넷 프린팅 프로토콜에서 이미 정해진 요구와는 다른 요구를 사용하여 상기 프린터로부터 취득되는 것을 특징으로 하는 비일시적 컴퓨터 판독 가능한 저장 매체.
  10. 제9항에 있어서,
    상기 다른 요구는, WSD(Web Services for Devices), SNMP(Simple Network Management Protocol), PJL(Printer Job Language), PostScript, CPCA(Common Peripheral Controlling Architecture), NPAP(Network Printing Alliance Protocol)의 통신 방식들, 또는 제어 방식들 중 적어도 어느 하나를 따르는 요구인 것을 특징으로 하는 비일시적 컴퓨터 판독 가능한 저장 매체.
  11. 제8항에 있어서,
    상기 정보 처리 장치는, 상기 정보 처리 장치의 OS(Operating System)의 가상 환경 상에서 제어되고, 상기 정보 처리 장치의 리소스들에 대한 액세스를 위한 액세스 권한이 상기 프린터 드라이버에 비해, 낮은 것을 특징으로 하는 비일시적 컴퓨터 판독 가능한 저장 매체.
  12. 제8항에 있어서,
    상기 제1 사용자 인터페이스가 표시되는 상황에서 미리 결정된 사용자 지시가 입력되는 경우에, 상기 제2 사용자 인터페이스가 표시되는 것을 특징으로 하는 비일시적 컴퓨터 판독 가능한 저장 매체.
  13. 제12항에 있어서,
    상기 미리 결정된 사용자 지시는, 보다 상세한 인쇄 설정들을 설정하기 위한 사용자 지시인 것을 특징으로 하는 비일시적 컴퓨터 판독 가능한 저장 매체.
  14. 제2항에 있어서,
    상기 제2 사용자 인터페이스는 상기 인쇄 설정 애플리케이션에 의해 제공되는, 방법.
  15. 제14항에 있어서,
    상기 제1 사용자 인터페이스는 상기 정보 처리 장치의 OS에 의해 제공되는, 방법.
KR1020217001862A 2018-06-29 2019-06-19 정보 처리 장치, 제어 방법 및 프로그램 KR102549370B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020237021523A KR20230098920A (ko) 2018-06-29 2019-06-19 정보 처리 장치, 제어 방법 및 프로그램

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JPJP-P-2018-125177 2018-06-29
JP2018125177A JP7229680B2 (ja) 2018-06-29 2018-06-29 情報処理装置、制御方法及びプログラム
PCT/JP2019/024186 WO2020004159A1 (ja) 2018-06-29 2019-06-19 情報処理装置、制御方法及びプログラム

Related Child Applications (1)

Application Number Title Priority Date Filing Date
KR1020237021523A Division KR20230098920A (ko) 2018-06-29 2019-06-19 정보 처리 장치, 제어 방법 및 프로그램

Publications (2)

Publication Number Publication Date
KR20210021078A KR20210021078A (ko) 2021-02-24
KR102549370B1 true KR102549370B1 (ko) 2023-06-30

Family

ID=68986632

Family Applications (2)

Application Number Title Priority Date Filing Date
KR1020237021523A KR20230098920A (ko) 2018-06-29 2019-06-19 정보 처리 장치, 제어 방법 및 프로그램
KR1020217001862A KR102549370B1 (ko) 2018-06-29 2019-06-19 정보 처리 장치, 제어 방법 및 프로그램

Family Applications Before (1)

Application Number Title Priority Date Filing Date
KR1020237021523A KR20230098920A (ko) 2018-06-29 2019-06-19 정보 처리 장치, 제어 방법 및 프로그램

Country Status (5)

Country Link
US (2) US11520533B2 (ko)
JP (3) JP7229680B2 (ko)
KR (2) KR20230098920A (ko)
CN (1) CN112352218A (ko)
WO (1) WO2020004159A1 (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 キヤノン株式会社 印刷装置、情報処理装置及びプログラム
JP7410622B2 (ja) * 2020-01-31 2024-01-10 キヤノン株式会社 情報処理装置、情報処理装置の制御方法ならびにプログラム、および当該情報処理装置と通信することのできるサーバシステム
JP7433940B2 (ja) * 2020-01-31 2024-02-20 キヤノン株式会社 情報処理装置、印刷装置および当該情報処理装置の制御方法、プログラム
KR20210098343A (ko) * 2020-01-31 2021-08-10 캐논 가부시끼가이샤 정보 처리 장치, 제어 방법 및 그 프로그램, 및 정보 처리 장치와 통신할 수 있는 서버 시스템
JP7391756B2 (ja) * 2020-04-16 2023-12-05 キヤノン株式会社 サーバ、制御方法、プログラム、印刷システム
WO2022118733A1 (ja) * 2020-12-03 2022-06-09 キヤノン株式会社 情報処理装置、ならびに、印刷設定アプリケーション
US20220236932A1 (en) * 2021-01-27 2022-07-28 Toshiba Tec Kabushiki Kaisha Information processing apparatus, information processing method, and storage medium
US11740846B2 (en) 2021-03-19 2023-08-29 Brother Kogyo Kabushiki Kaisha Printing system and non-transitory computer-readable recording medium therefor
CN113312013A (zh) * 2021-06-03 2021-08-27 苏州博瑞凯德信息技术有限公司 一种打印方法、打印系统及存储介质
JP2023034953A (ja) 2021-08-31 2023-03-13 キヤノン株式会社 情報処理装置、情報処理装置の制御方法およびプログラム
JP7346524B2 (ja) * 2021-11-22 2023-09-19 キヤノン株式会社 画像形成装置、画像形成装置の制御方法並びにプログラム
JP2023147710A (ja) * 2022-03-30 2023-10-13 ブラザー工業株式会社 サポートプログラム
JP7487255B2 (ja) 2022-04-18 2024-05-20 キヤノン株式会社 情報処理装置、情報処理装置の制御方法ならびにプログラム
JP2024018592A (ja) * 2022-07-29 2024-02-08 キヤノン株式会社 情報処理装置、方法およびプログラム
WO2024096858A1 (en) * 2022-10-31 2024-05-10 Hewlett-Packard Development Company, L.P. Print driver support application for multiple printing device capability

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120307295A1 (en) * 2011-06-01 2012-12-06 Canon Kabushiki Kaisha Information processing apparatus, information processing method, and storage medium
US20170318184A1 (en) * 2016-04-28 2017-11-02 Canon Kabushiki Kaisha Communication device and method for controlling the same

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030184782A1 (en) 2002-03-27 2003-10-02 Perkins Gregory E. Printer driver configured to dynamically receive printer self-description
JP4785577B2 (ja) * 2006-03-17 2011-10-05 キヤノン株式会社 情報処理装置及びその制御方法、プログラム
JP4948283B2 (ja) * 2007-06-25 2012-06-06 キヤノン株式会社 情報処理装置および制御方法および制御プログラム
JP2010072679A (ja) 2008-09-16 2010-04-02 Fuji Xerox Co Ltd 画像形成システム、画像形成装置、端末装置、印刷制御方法およびプログラム
JP5617386B2 (ja) 2010-07-05 2014-11-05 ブラザー工業株式会社 制御装置、画像処理システム、及びプログラム
JP5943571B2 (ja) * 2011-09-09 2016-07-05 キヤノン株式会社 印刷システム、プリンター、プリントサーバー、及びその方法
JP6122245B2 (ja) 2012-03-05 2017-04-26 キヤノン株式会社 情報処理システム、制御方法、及び画像処理装置
JP6057565B2 (ja) * 2012-07-04 2017-01-11 キヤノン株式会社 画像処理装置、画像処理装置の制御方法、およびプログラム
JP6108868B2 (ja) * 2013-02-22 2017-04-05 キヤノン株式会社 印刷装置、印刷装置の制御方法、及びプログラム
JP6190207B2 (ja) * 2013-08-12 2017-08-30 キヤノン株式会社 システム、情報処理方法、処理装置、処理方法、及びプログラム
JP6315965B2 (ja) 2013-12-10 2018-04-25 キヤノン株式会社 情報処理装置、プログラム及び制御方法
JP2016058041A (ja) 2014-09-12 2016-04-21 キヤノン株式会社 情報処理装置、プログラム及び制御方法
JP6371697B2 (ja) 2014-12-22 2018-08-08 キヤノン株式会社 情報処理装置、印刷制御方法、およびプログラム
JP6402668B2 (ja) * 2015-03-30 2018-10-10 ブラザー工業株式会社 多機能機
JP5972436B2 (ja) * 2015-07-30 2016-08-17 キヤノン株式会社 情報処理装置、情報処理方法、及びプログラム
JP6598622B2 (ja) * 2015-10-01 2019-10-30 キヤノン株式会社 画像形成装置、情報処理方法及びプログラム
JP6576224B2 (ja) * 2015-11-26 2019-09-18 キヤノン株式会社 情報処理装置及びその制御方法とプログラム
JP6723739B2 (ja) * 2015-12-21 2020-07-15 キヤノン株式会社 印刷制御装置、印刷制御方法、及びプログラム
JP6700894B2 (ja) * 2016-03-25 2020-05-27 キヤノン株式会社 画像処理装置、制御方法、プログラム

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120307295A1 (en) * 2011-06-01 2012-12-06 Canon Kabushiki Kaisha Information processing apparatus, information processing method, and storage medium
US20170318184A1 (en) * 2016-04-28 2017-11-02 Canon Kabushiki Kaisha Communication device and method for controlling the same

Also Published As

Publication number Publication date
US11520533B2 (en) 2022-12-06
US11989462B2 (en) 2024-05-21
JP2020004254A (ja) 2020-01-09
KR20210021078A (ko) 2021-02-24
US20230071250A1 (en) 2023-03-09
JP7480375B2 (ja) 2024-05-09
US20210117135A1 (en) 2021-04-22
CN112352218A (zh) 2021-02-09
JP7229680B2 (ja) 2023-02-28
JP2024091723A (ja) 2024-07-05
JP2023057114A (ja) 2023-04-20
KR20230098920A (ko) 2023-07-04
WO2020004159A1 (ja) 2020-01-02

Similar Documents

Publication Publication Date Title
KR102549370B1 (ko) 정보 처리 장치, 제어 방법 및 프로그램
US9442678B2 (en) Information processing apparatus, information processing system and non-transitory computer-readable information recording medium
JP7086754B2 (ja) 情報処理装置、情報処理装置の制御方法及びコンピュータプログラム
JP5677047B2 (ja) 印刷システム、情報処理装置、印刷方法、及び、プログラム
US9298411B2 (en) Apparatus and computer-readable recording medium for converting data into printing data based on setting conditions
US8640148B2 (en) Information processing apparatus, information processing method and storage medium
US9830544B2 (en) Image processing apparatus, control method, and storage medium for executing print processing using a password including selecting a personal identification code type that indicates a purpose for using the password
US8605316B2 (en) Information processing apparatus and control method thereof, and storage medium
JP7341647B2 (ja) 情報処理装置、制御方法及びプログラム
JP2020095535A (ja) 情報処理装置、その制御方法、及びプログラム
JP7487277B2 (ja) プログラム、情報処理装置、及び情報処理装置の制御方法
US20230315361A1 (en) Information processing apparatus, print setting application, and print system
JP7328405B2 (ja) 情報処理装置、情報処理装置の制御方法及び印刷設定アプリケーション
JP7350525B2 (ja) 情報処理装置、情報処理装置の制御方法、及びプログラム
CN113282254A (zh) 控制方法和信息处理设备

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
A107 Divisional application of patent
GRNT Written decision to grant