KR101347423B1 - 정보 처리 장치와 방법, 및 컴퓨터 판독가능 매체 - Google Patents

정보 처리 장치와 방법, 및 컴퓨터 판독가능 매체 Download PDF

Info

Publication number
KR101347423B1
KR101347423B1 KR1020137002266A KR20137002266A KR101347423B1 KR 101347423 B1 KR101347423 B1 KR 101347423B1 KR 1020137002266 A KR1020137002266 A KR 1020137002266A KR 20137002266 A KR20137002266 A KR 20137002266A KR 101347423 B1 KR101347423 B1 KR 101347423B1
Authority
KR
South Korea
Prior art keywords
rule
function
instruction
printer
always
Prior art date
Application number
KR1020137002266A
Other languages
English (en)
Other versions
KR20130023379A (ko
Inventor
아끼히로 미쯔이
Original Assignee
캐논 가부시끼가이샤
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 캐논 가부시끼가이샤 filed Critical 캐논 가부시끼가이샤
Publication of KR20130023379A publication Critical patent/KR20130023379A/ko
Application granted granted Critical
Publication of KR101347423B1 publication Critical patent/KR101347423B1/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/1278Dedicated interfaces to print systems specifically adapted to adopt a particular infrastructure
    • G06F3/1284Local printer device
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/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/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

Abstract

인쇄 디바이스에 대하여 송신되어 인쇄될 데이터를 생성하도록 구성된 프린터 드라이버에 있어서의 인쇄 설정을 처리하는 정보 처리 장치이며, 인쇄 설정들 사이의 충돌을 방지하는 금칙을 각각 정의하는 금칙 룰들을 저장하도록 구성된 저장 유닛, 인쇄 설정의 고정을 지시하도록 구성된 지시 유닛, 및 고정이 지시된 인쇄 설정에 관한 금칙 룰의 우선도를 증가시키도록 구성된 룰 우선도 설정 유닛을 포함하는 정보 처리 장치가 예로서 개시된다.

Description

정보 처리 장치와 방법, 및 컴퓨터 판독가능 매체{INFORMATION PROCESSING APPARATUS AND METHOD, AND COMPUTER-READABLE MEDIUM}
본 발명은, 프린터 드라이버를 포함하는 인쇄 제어 프로그램을 저장한 컴퓨터 판독가능 매체에 관한 것이다.
정보 처리 장치의 일례인 컴퓨터상에서 작성된 문서 및 도면을 포함하는 파일을 어플리케이션을 통하여 인쇄하기 위해서, 프린터 드라이버를 사용해서 묘화 데이터가 프린터 언어 데이터로 변환된 후 프린터에 송신된다. 용지의 유형, 양면 인쇄, 컬러 인쇄, 및 급지 트레이와 같은 설정은, 어플리케이션 또는 프린터 드라이버에 의해 제공되는 사용자 인터페이스상의 인쇄 설정이며, 사용자에 의해 설정된 데이터가 프린터 커맨드로서 프린터에 송신된다.
프린터 드라이버의 기능의 수는 해마다 증가해왔다. 또한, 몇백개의 기능을 갖는 프린터 드라이버도 적지 않다. 프린터 드라이버에 대한 인쇄 설정을 수행하기 위한 사용자 인터페이스는, 사용자 인터페이스상에서 버튼을 누름으로써 개방되는 복수의 대화창을 갖는다. 따라서, 많은 사용자가 이 창들의 어디에서 원하는 설정을 할 수 있는 것인지 혼란스러워할 수 있다. 따라서 프린터 드라이버는, 사용자가 기능들을 사용하는 것을 돕기 위해서 기능의 금칙 처리(충돌 처리)를 제공한다. "기능의 금칙 처리"라는 용어는, 어떤 기능이 선택되었을 때, 다른 기능들을 디스에이블하거나, 어떤 기능의 선택에 따라서 다른 설정값들이나 기능들을 변경하는 것을 가리킨다. 예를 들어, 많은 프린터 드라이버에서는, "엽서"와 "스테이플링"을 동시에 설정할 수 없다. "엽서"가 선택될 때, 프린터 드라이버의 사용자 인터페이스상에서 "스테이플링" 항목이 비활성으로 되거나 그레이 아웃된다(특허문헌 1). 또한, 설정될 수 없는 항목이 숨겨져서 사용자가 선택할 수 없도록 하거나, 그 항목을 선택할 수 없다는 것을 지시하는 아이콘이 표시된다(특허문헌 2). 또한, 설정될 수 없는 항목에 대한 경고 메시지가 표시된다(특허문헌 3).
또한, 프린터 드라이버의 금칙 처리는 사용자 인터페이스상의 표시뿐만 아니라, 어플리케이션 프로그램을 사용하여서도 수행되어 인쇄 설정을 변경한다. 몇몇 경우들에서, 금칙 상태에 있는 설정이 어플리케이션으로부터 프린터 드라이버에 직접 전달될 수 있다. 이러한 경우에, 프린터 드라이버가 그 설정을 프린터 커맨드로 변환하면, 프린터에서 에러가 발생한다. 그리하여, 프린터 드라이버는, 인쇄 동안에도 기능의 금칙 처리를 수행하여, 인쇄가 수행될 수 있는 값으로 인쇄 설정을 변경한다.
한편, 보안에 관한 의식의 고조, 비용의 감소 등에 기인하여, 인쇄 설정의 특정 기능을 고정하기 위한 요구가 있다. 예를 들어, 컬러 프린터에서 흑백 인쇄 설정이 고정되면, 인쇄에 필요한 토너나 잉크의 비용이 감소될 수 있다. 예를 들어, 두 페이지가 하나의 페이지에 축소된 크기로 인쇄되게 하는 2-Up 인쇄 설정이나, 또는 양쪽 면에 인쇄하는 것을 허용하는 양면 인쇄 설정이 고정되면, 용지의 수가 감소될 수 있다.
그러나, 값을 고정하기 위한 기능은 종종 금칙 처리와 충돌할 수 있다. 예를 들어, 양면 인쇄 설정이 고정되면, 양면 인쇄에 적합하지 않은 용지 유형이 선택될 때 어떤 금칙이 적용되어야 할 것인지를 판정하기 어렵다는 문제가 발생할 수 있다. 종래 기술에서, 프린터 드라이버 자체를 커스터마이즈하여 다른 전용 드라이버를 작성하는 방법이 일반적으로 채택되었다. 이것은 각각의 사용자의 요구마다 프린터 드라이버가 작성되는 것을 필요로 한다. 다른 가능한 해결책은 외부의 플러그인으로부터 새로운 금칙 처리 룰을 부가하는 것이다(특허문헌 4). 또한, 가능한 방법들은, 가능한 많은 설정을 고정하려고 하는 방법과 금칙 처리에 의해 인쇄 설정이 변경될 수 있을 때 인쇄 설정을 변경하는 방법을 포함한다(특허문헌 5). 현재 가지고 있는 금칙 처리 룰과 반대인 금칙 처리 룰을 자동으로 보완하는 기술이 존재한다.
또한, 개발자는, 어떤 기능명에 대하여 활성이거나 턴 온되는 모든 룰을 기술할 수 있고, 상기한 바와 마찬가지로, 비활성이거나 턴 오프되는 룰을 생략할 수 있다. 턴 오프되는 룰은 추론 엔진에 의해 자동으로 생성된다. 반대로, 개발자는, 어떤 기능명에 대하여, 턴 오프되는 모든 룰을 기술할 수 있고, 상기한 바와 마찬가지로, 턴 온되는 룰을 생략할 수 있다. 턴 온되는 룰은 추론 엔진에 의해 자동으로 생성된다. 개발자는, 어떤 기능명에 대하여, 턴 온되는 룰 및 턴 오프되는 룰을 모두 기술할 수도 있다. 이 경우, 룰은 자동으로 생성되지 않는다. 항이 좌변에 "기능명(ON), 기능명(OFF)" 형태를 사용하여 기술되고 항목이 우변에 기술될 때, 좌변의 on/off 형태와 동일한 on/off 형태가 사용된다. 이 경우에, 룰이 자동으로 생성된다(특허문헌 6).
그러나, 종래 기술의 방법들에서는, 값을 완전하게 고정하는 것이 어려웠다. 외부의 플러그인으로부터 금칙 처리 룰이 삽입될 때, 외부의 플러그인이 프린터 드라이버의 모든 금칙 처리 룰("충돌 룰"이라고도 칭함)에 대한 지식을 미리 갖는 것이 필요하다. 또한, 프린터 드라이버 본체의 기능이 확장될 수 있고, 금칙 처리도 확장될 수 있다. 이러한 경우에, 외부의 플러그인으로부터 새롭게 변경한 금칙 처리 룰을 삽입할 필요도 있다. 또한, 금칙 처리에서 변경이 허용되는 경우에, 고정된 값에 따라서는, 모든 값이 확실하게 고정되어 있을 필요가 없을 수 있다. 반대의 룰이 자동으로 보완될 때, 특허문헌 6에 기재된 방법은, 설정값이 턴 온 또는 턴 오프되는 룰의 자동 보완을 허락할 뿐이다. 예를 들어, 양면 인쇄 설정을 턴 온하는 금칙 처리 룰이 있을 때, 양면 인쇄 설정을 턴 오프하는 금칙 처리 룰이 자동으로 보완된다. 설정값이 고정된 때에 금칙 처리 룰의 불편을 방지하기 위해서는, 자동 보완될 룰을 고정값으로 변경하는 룰이 부가될 수 있다. 그러나, 그 이전에 평가된 금칙 처리 룰에 따라 값이 변경되면, 값이 개발자 또는 사용자에 의해 의도된 바와 같이 고정되는 것이 불가능할 수 있다. 또한, 상기 룰은 2개 이상의 설정값을 갖는 설정, 예를 들어 용지 크기에는 적용될 수 없다. 또 다른 문제는, "즐겨찾기"의 설정값들과 같이 사용자에 의해 저장된 미리 정해진 복수의 설정값이 적용될 때, 고정된 설정값 및 고정된 설정값과 다른 값이 "즐겨찾기"에 포함될 때, 값이 변경될 수 있기 때문에 값이 고정될 수 있는 것을 보증하기 어렵다.
일본공개특허 제2003-99170호 일본공개특허 제2000-227847호 일본공개특허 제2000-225754호 일본공개특허 제2005-190467호 일본공개특허 제2007-272779호 일본공개특허 제2002-169669호
본 발명은, 이러한 종래 기술의 문제점을 해결하기 위해, 금칙 처리와의 충돌 없이, 인쇄 설정 기능의 고정을 확실하게 구현할 수 있는 정보 처리 장치를 제공하는 것을 그 목적으로 한다.
예를 들어, 인쇄 디바이스에 대하여 송신되어 인쇄될 데이터를 생성하도록 구성된 프린터 드라이버에 있어서의 인쇄 설정을 처리하는 정보 처리 장치이며, 인쇄 설정들 사이의 충돌을 방지하는 금칙을 각각 정의하는 금칙 룰들을 저장하도록 구성된 저장 유닛; 인쇄 설정의 고정을 지시하도록 구성된 지시 유닛; 및 고정이 지시된 인쇄 설정에 관한 금칙 룰의 우선도를 증가시키도록 구성된 룰 우선도 설정 유닛을 포함하는 정보 처리 장치가 개시된다.
본 발명의 다른 특징 및 이점은, 유사한 참조 문자들이 도면 전체에 걸쳐 동일하거나 비슷한 부분들을 지시하는 첨부 도면을 참조하여 하기의 설명으로부터 명백해질 것이다.
도 1은 본 발명의 실시예에 따른 컴퓨터 시스템의 개략적인 하드웨어 및 소프트웨어의 블록도이다.
도 2는 본 발명의 실시예에 따른 XPSDrv 인쇄 시스템의 개략적인 블록도이다.
도 3은 본 발명의 제1 실시예에 따른 컨피그레이션 모듈의 개략적인 블록도이다.
도 4는 본 발명의 제1 실시예에 따른 기종 의존 파일에 포함되는 XML 파일의 형식의 일부를 도시하는 도면이다.
도 5는 본 발명의 제1 실시예에 따른 금칙 엔진에 의해 수행되는 금칙 처리 로직을 도시하는 흐름도이다.
도 6은 본 발명의 제1 실시예에 따른 잠금(lock) 기능을 지정하는 사용자 인터페이스 화면의 일부를 도시하는 도면이다.
도 7은 본 발명의 제1 실시예에 따른 잠금 기능이 지정된 인쇄 설정 화면을 도시하는 도면이다.
도 8은 본 발명의 제1 실시예에 따른 기종 의존 파일에 포함되고 잠금 기능이 활성인 XML 파일의 일부를 도시하는 도면이다.
도 9는 본 발명의 제2 실시예에 따른 컨피그레이션 모듈의 개략적인 블록도이다.
도 10은 본 발명의 제2 실시예에 따른 기종 의존 파일인 GPD 파일의 일부를 도시하는 도면이다.
도 11은 본 발명의 제2 실시예에 따른 컨피그레이션 모듈에 의해 수행되는 금칙 처리를 도시하는 흐름도이다.
도 12는 본 발명의 제2 실시예에 따른 기종 의존 파일에서 잠금 기능이 활성인 GPD 파일의 일부를 도시하는 도면이다.
도 13은 본 발명의 실시예에 따른 인쇄 설정의 바이너리 DEVMODE 구조체를 도시하는 도면이다.
도 14는 본 발명의 실시예에 따른 인쇄 설정의 인쇄 티켓의 XML 파일을 도시하는 도면이다.
도 15는 본 발명의 실시예에 따른 XPS 스풀 파일의 블록도이다.
[제1 실시예]
본 발명의 실시예가 이제 도면을 참조하여 기술된다.
도 1은 본 발명의 실시예에 따른 인쇄 처리 시스템의 개략적인 블록도이다. 달리 언급되지 않으면, 본 발명의 기능이 실행될 수 있는 한, 처리가 수행될 수 있도록, 단일 기능을 포함하는 시스템, 복수의 디바이스를 포함하는 시스템, 및 근거리 통신망(local area network, LAN) 또는 원거리 통신망(wide area network, WAN)과 같은 네트워크를 통해서 접속이 확립되는 시스템을 포함하는 시스템들 중 임의의 것에, 본 발명이 적용될 수 있는 것이 이해되어야 한다.
도 1에 도시된 개략적인 블록도에 컴퓨터-기반 시스템을 나타낸다. 중앙 처리 유닛(central processing unit, CPU)(101)은 판독 전용 메모리(read-only memory, ROM)(102), 랜덤 액세스 메모리(random access memory, RAM)(103) 또는 외부 저장 디바이스(105)에 저장된 프로그램에 따라 장치의 동작 전체를 제어한다. RAM(103)은 CPU(101)가 각종 처리들을 수행할 때 작업 영역으로서도 사용될 수 있다. 외부 저장 디바이스(105)는 운영 체제(operating system, OS)(1054), 어플리케이션 소프트웨어(1051) 등을 기록한다. 키보드(108)나 마우스(포인팅 디바이스)(109) 등의 입력 디바이스는, 입력/출력 인터페이스(I/F)(104)를 통해서, 사용자가 컴퓨터에 각종 지시를 내리게 하기 위한 디바이스이다. 출력 I/F(106)는 데이터를 외부에 출력하기 위한 인터페이스이며, 모니터(110)나 프린터(111)에 대하여 데이터를 출력하도록 구성된다. 출력 I/F(106)는 직접 접속에 사용되는 로컬 입력/출력(I/O)선을 통하거나, 또는 LAN이나 WAN과 같은 네트워크를 통해서 프린터(111)에 접속될 수 있다. 시스템 버스(107)는 공통 데이터 버스이며, 그것을 통하여 개별 유닛들 사이에서 데이터가 교환된다. 도 2, 도 3 및 도 9에 도시된 모듈들은 도 1에 도시된 외부 저장 디바이스(105)에 프린터 드라이버(1053)로서 저장되고, CPU(101)는 모듈들을 RAM(103)에 로드하여 실행한다. 
도 2는, XPSDrv 인쇄 시스템의 개략적인 블록도이다. "XPSDrv"라는 용어는XPS(Extensible Markup Language Paper Specification)라고 불리는 문서 파일 포맷을 스풀 데이터로서 사용하여, 인쇄를 수행하도록 구성된 프린터 드라이버를 가리킨다. 사용자는 출력 디바이스의 모니터상에 표시되는 Win32 어플리케이션 프로그램(이하, "Win32 어플리케이션"이라고 칭함)(201)이나, 또는 Windows(등록 상표) Presentation Foundation 어플리케이션 프로그램(이하, "WPF 어플리케이션"이라고 칭함)(202)을 사용하여 인쇄 처리를 실행하기 위해 키보드나 마우스와 같은 입력 디바이스를 사용한다. 인쇄 처리는 프린터를 선택하는 것, 인쇄 설정을 작성하는 것, 묘화 데이터의 변환을 수행하는 것이라는 3개의 처리를 순차적으로 수행함으로써 실행될 수 있다. 도 2에 도시된 항목들(201 내지 213 및 215)은 도 1에 도시된 외부 저장 디바이스(105)에 저장된다.
우선, 사용자는 마우스 등을 사용하여, 원하는 프린터(214)의 선택을 지시한다. 즉, 인쇄를 수행하는 프린터에 대응한 프린터 드라이버의 선택을 사용자가 지시한다. 다음에, 사용자는 인쇄 설정의 작성을 지시한다. 우선, 어플리케이션이 인쇄 설정용의 메모리를 확보한다. 그 후, 어플리케이션(Win32 어플리케이션(201)이나 WPF 어플리케이션(202)) 또는 프린터 드라이버의 컨피그레이션 모듈(204)이, 확보된 메모리 영역을 기종 의존 파일(205)을 이용해서 설정 데이터로 채운다. 따라서, 어플리케이션은 인쇄 설정을 수행한다. Win32 어플리케이션(201)은 인쇄 설정 데이터로서 바이너리 DEVMODE 구조체(215)를 사용하고, WPF 어플리케이션(202)은 확장 가능한 마크업 언어(extensible markup language, XML)로 기술된 인쇄 티켓(203)을 사용한다. DEVMODE 구조체(215)는 도 13에 도시된 구조를 갖는다. DEVMODE 구조체(215)는, 운영 체제에 의해 정의되는 퍼블릭 영역과 프린터 드라이버에 의해 고유하게 정의되는 프라이빗 영역을 갖는 바이너리 구조체이다. 인쇄 티켓(203)은 도 14에 도시된 XML 형식으로 기술된 인쇄 설정 정보일 수 있다. DEVMODE 구조체(215) 또는 인쇄 티켓(203)은 인쇄 설정을 보유한다. 인쇄 티켓(203)은, WPF 어플리케이션(202)에 의해 직접 재기입되어 인쇄 설정을 변경한다. 프린터(214)에 의존한 전용의 설정은, 컨피그레이션 모듈(204)에 보유된 프린터 드라이버의 사용자 인터페이스를 표시하고, 사용자에 의해 사용자 인터페이스가 조작됨으로써 수행된다. 프린터 드라이버는, 사용자 인터페이스의 설정에 따라 DEVMODE 구조체(215) 또는 인쇄 티켓(203) 내의 프린터(214)에 의존한 설정을 변경한다. 인쇄 설정의 구체적인 예들은, 출력 용지 크기를 "A4"로 설정하는 것, 양면 인쇄를 수행하는 것, 컬러 인쇄와 흑백 인쇄 사이에서 인쇄 모드를 전환하는 것, 및 급지 트레이를 지정하는 것을 포함한다. 인쇄 티켓(203)은 인쇄 설정이 XML 형식으로 기술되도록 구성되므로, WPF 어플리케이션(202)이 모든 설정값을 직접 변경해서 갱신하는 것이 용이하다. 대안적으로, 종래 기술에서와 같이, 프린터 드라이버의 사용자 인터페이스를 사용해서 설정이 변경될 수 있다.
최후에, 묘화 데이터의 변환을 프린터 드라이버가 수행한다. 인쇄 설정이 확정될 때, 사용자는 어플리케이션을 통하여 인쇄 처리를 실행한다. Win32 어플리케이션(201)을 통하여 인쇄가 수행될 때, 버전 3 프린터 드라이버의 형태를 갖는 그래픽 디바이스 인터페이스(Graphics Device Interface, GDI)-XPS 변환 모듈(206)에 묘화 데이터가 송신되어, XPS 스풀 파일(207)이 작성된다. 버전 3 프린터 드라이버는, Microsoft(등록 상표)의 Windows(등록 상표) 2000 이후와 호환 가능한 프린터 드라이버이다. 이 경우에, GDI-XPS 변환 모듈(206)은 컨피그레이션 모듈(204)을 호출하고, 인쇄 설정을 DEVMODE 구조체(215)로부터 인쇄 티켓(203)으로 변환한다. WPF 어플리케이션(202)을 통하여 인쇄가 수행될 때, XPS 파일을 WPF 어플리케이션(202)을 사용하여 생성하는 것과, WPF 어플리케이션(202)으로부터의 명령에 따라서 운영 체제를 사용하여 XPS 파일을 생성하는 것의 2가지의 방법이 이용 가능하다. 두 방법 모두, XPS 스풀 파일(207)이 생성된다. 그리하여, XPSDrv 인쇄 시스템의 특징은, 인쇄시에 언제나 XPS 스풀 파일(207)을 생성하는 것이다.
XPS 스풀 파일(207)이 생성될 때, 인쇄 필터 파이프라인 처리에 처리가 전달된다. 인쇄 필터 파이프라인 처리는, 인쇄될 데이터가 복수의 필터를 통과하게 함으로써 인쇄를 수행하는 기구이다.  구체적으로, 인쇄 필터 파이프라인 처리는 필터 컨피그레이션 파일(208)을 사용하여 필터들의 수와 순서를 제어한다. 인쇄 필터 파이프라인 처리의 컨텍스트상에서 동작하는 필터 파이프라인 관리자는 필터 컨피그레이션 파일(208)에 따라, 본 실시예에서는, 설정 필터(209), 레이아웃 필터(210), 및 렌더러 필터(211)의 순서로 처리를 수행한다. 처리는 XPS 스풀 파일(207)을 필터들(209 내지 211)에 전달하는 것에 의해 수행된다. 필터들(209 내지 211) 각각은 XPS 스풀 파일(207)을 수정하고 수정된 XPS 스풀 파일(207)을 다음 필터로 전달한다. 따라서, 처리가 진행한다. 최후에는, XPS 스풀 파일(207)이 프린터가 판독 가능한 데이터 언어 형식인 프린터 제어 언어(이하, PDL(Page Description Language)이라고 칭함) 형식으로 출력된다. 프린터(214)가 XPS 스풀 파일(207)을 직접 판독할 수 있으면, XPS 스풀 파일(207)은 XPS 형식으로 출력될 수 있다. 설정 필터(209)는, 인쇄 티켓(203)을 판독하여 인쇄에 필요한 데이터를 인쇄 티켓(203)에 기입하는 처리를 수행한다. 레이아웃 필터(210)는, 배율을 변경하는 것, 제본을 위한 임포지션(imposition) 레이아웃을 수행하는 것 및 스탬프하는 것 등의, 레이아웃에 관한 처리들을 수행한다. 레이아웃 필터(210)는, XPS 스풀 파일(207)에 포함되는 인쇄 설정의 인쇄 티켓(203)에 따라 동작한다. 그리하여, 예를 들어, 인쇄 티켓(203)이 임포지션 설정을 갖지 않을 때는, XPS 스풀 파일(207)은 레이아웃 필터(210)의 동작을 받지 않도록 레이아웃 필터(210)를 통과하고, 다음 필터에 직접 전달된다. 최후에, 렌더러 필터(211)는, XPS 스풀 파일(207)을 렌더링해서 PDL 데이터로 변환한다. PDL 데이터는 인쇄 처리의 스케줄 관리를 수행하도록 구성된 인쇄 관리자(212)에 의해 관리되어, 인쇄 잡들이 큐에 순차적으로 등록된다. 프린터(214)가 인쇄할 수 있도록 준비되면, 인쇄 잡들이 큐에 등록된 순서대로 PDL 데이터가 I/O 모니터(213)를 통해서 송신된다. 이와 같은 방식으로, 프린터 드라이버는, 어플리케이션으로부터의 인쇄 데이터를 프린터 언어 데이터로 변환하는 주된 역할을 수행하며, 실제적인 인쇄 처리가 수행된다. 
도 3은 본 실시예에서의 프린터 드라이버의 컨피그레이션 모듈(204)의 블록도이다. 컨피그레이션 모듈(301)은 각각의 프린터의 기종에 의존하는 정보를 갖는 기종 의존 파일(307)을 판독함으로써 동작한다. 따라서, 컨피그레이션 모듈(301)은 컨피그레이션 모듈(301)이 모든 프린터에서 공통인 모듈인 때, 각각의 기종에 특정한 방식으로 동작할 수 있다. 기종 의존 파일(307)은 실제의 기종 데이터가 기술된 XML 데이터 파일(308)을 갖는다. 컨피그레이션 모듈(301)은 또한 XML 데이터 파일(308)을, 충돌 엔진(304)의 데이터 파일 파서(305)로 해석해서 판독하도록 구성된다. 
XML 데이터 파일(308)은 프린터 기종 데이터를 포함하는 거대한 데이터 파일일 수 있다. 그리하여, 기종 의존 파일(307)에서, 파일 크기가 감소될 수 있도록 XML 데이터 파일(308)이 ZIP 압축 기술을 사용하여 압축된다. 데이터 파일 파서(305)가 XML 데이터 파일(308)을 일단 판독하면, 데이터 파일 파서(305)는 바이너리 데이터 파일(309)을 작성한다. 데이터 파일 파서(305)는 바이너리 데이터 파일(309)을 작성한 후에, XML 데이터 파일(308)이 변경되지 않으면, XML 데이터 파일(308) 대신 바이너리 데이터 파일(309)을 사용해서 동작한다. 이에 의해, 데이터 파일 파서(305)가 기종 의존 파일(307)로부터 XML 데이터 파일(308)을 로드하게 하는 작업과, 데이터 파일 파서(305)가 XML 데이터 파일(308)을 해석하게 하는 작업을 감소시킬 수 있어, 성능이 향상한다. XML 데이터 파일(308)이 변경되면 XML 데이터 파일(308)은 다시 판독되고, 바이너리 데이터 파일(309)이 작성된다.
충돌 엔진(304)의 데이터 파일 파서(305)는 XML 데이터 파일(308) 또는 바이너리 데이터 파일(309)을 판독하고, 상태 변수들("상태 변수들(status variables)"이라고도 칭함: 이하, "SV들"로 줄여씀)(310)의 오브젝트 인스턴스들을 작성한다. SV들(310)은, 프린터의 각각의 기능을 오브젝트로서 다루는, 인쇄 설정 정보의 상태들을 나타낸다. SV들(310)은, 이름, 값 또는 값들의 리스트, 값에 부수되는 특성, 현재값, 디폴트값, 상태, 이유(reason), 및 잠금 플래그를 갖고, 메모리상에 로드될 오브젝트들이다.
도 3의 예에서, 예를 들어, SV들(310)은 "프린터에서 이용 가능한 용지 크기" 기능에 관련된다. 용지 크기의 SV(310)는 "Media Size"라는 이름을 갖고, 값들의 리스트로서, "A4", "Letter", "B5", 및 "Postcard" 등의, 프린터에서 이용 가능한 용지 크기들을 갖는다. 도 3에서, 현재값은 검은색 원에 의해 지시되고 디폴트값은 백색 원에 의해 지시된다. 그리하여, 도면에서, "A4" 크기가 디폴트로 설정되어 있고 "Letter" 크기가 현재 선택되어 있다. 또한, SV들(310)은 상태를 갖고, 그 상태에 대응하는 값이 현재의 설정에서 이용 가능한지의 여부를 지시할 수 있다. SV들(310), 및 값들의 리스트의 각각의 값은 각각의 상태를 갖는다. 도 3에서, "B5" 크기는 현재의 설정에서는 이용할 수 없기 때문에, "B5" 크기의 값에, "이용 불가" 상태를 나타내는 취소선이 표시된다. 용지 크기를 선택할 수 없는 상황에서, "Media Size"가 "이용 불가" 상태로 할당될 수 있다. 유사하게, 인쇄 방향을 나타내는 "Orientation", 컬러 인쇄를 나타내는 "Output Color", 및 급지 트레이를 나타내는 "Input Bin"이 또한 예로서 제공된다. 다수의 다른 기능이 제공될 수도 있다. SV들(310)은 값들의 리스트 대신에 수치나 문자열을 값으로서 가질 수 있다. 대안적으로, 값들의 리스트로서 복수의 현재값들을 갖는 소위 멀티 섹션 유형의 SV(310)가 작성될 수 있다. 멀티 섹션 유형의 SV(310)에서, 복수의 값이 동시에 선택된다. 그리하여, 단일 인쇄 액션에 의해 동시에 복수의 박스에 저장되는 인쇄 설정이 프린터의 저장 디바이스에 인쇄 잡을 저장하기 위한 박스 저장 기능 또는 임의의 다른 기능을 사용하여 작성될 수 있다.
금칙 엔진(306)은 SV들(310)을 사용해서 금칙 처리를 수행한다. 금칙은 인쇄 설정들 사이의 충돌을 방지하기 위한 룰이다. 예를 들어, "양면 인쇄 ON, OHP ON"에서 충돌이 일어난다. 그리하여, 설정들 중 하나가 "OFF" 상태로 변경되도록 룰이 정의된다. 이것은 하기에서 상세하게 기술된다. 금칙 엔진(306)은 XML 데이터 파일(308) 또는 바이너리 데이터 파일(309)에 기재된 금칙 처리 룰을 바탕으로, SV들(310)의 값들을 변경한다. 금칙 처리 룰은, SV(310) 각각에 대하여 기술되고, 또 다른 SV(310)의 값과의 관계를 기술한다. 이제 예를 들어, 어떤 순서로 페이지들을 정렬하기 위한 SV "Collate"의 금칙 처리 룰을 고려한다. 그러한 정렬은 제본 인쇄에 필요하다. 이 로직이 SV "Collate"의 금칙 처리 룰로서 기술된다. 그리고, 그러한 기술은 "제본 SV "Booklet"이 턴 온 되면, 그 후 SV "Collate"가 턴 온 된다"일 수 있다. 또한, 이유가 각각의 금칙 처리 룰에 설정될 수 있다. 이유는, 금칙 처리 룰에 따라 값이 변경될 때, 값을 변경시킨 금칙 처리 룰을 식별하기 위해서 SV(310) 각각에 적용되는 마크일 수 있다. 또한, 금칙 처리 룰 각각에서, 기술되어 있는 조건들의 결과로서 값이 변경될 수 있을 뿐만 아니라, 상태가 변경될 수 있거나 값들의 목록으로부터 특정한 값이 삭제되거나 값들의 목록에 특정한 값이 추가될 수도 있다.
컨피그레이션 모듈(301)은 인쇄 설정을, DEVMODE(311)나 인쇄 티켓(312)의 형태로, 어플리케이션 프로그램 인터페이스(application program interface, API)(302)를 통해서 어플리케이션 프로그램(Win32 어플리케이션(201)이나 WPF 어플리케이션(202))으로부터 수신할 수 있거나, 또는 그러한 어플리케이션 프로그램에 출력할 수 있다. 컨피그레이션 모듈(301)은, SV들(310)의 현재값들을 모두 모아서 전체의 인쇄 설정으로서 DEVMODE(311)나 인쇄 티켓(312)을 작성하고, DEVMODE(311)나 인쇄 티켓(312)을 어플리케이션 프로그램에 출력한다. 입력으로서 DEVMODE(311)나 인쇄 티켓(312)을 수취한 때에는, 거기에 포함된 값들을 SV들(310)에 설정하고, 충돌 엔진(304)을 사용해서 금칙 처리가 수행된다.
컨피그레이션 모듈(301)은 사용자가 인쇄 설정을 수행하게 해주는 사용자 인터페이스(303)도 포함한다. 사용자 인터페이스(303) 상에는, SV들(310)의 현재의 값들이 표시된다. 사용자가 값을 변경하면, 컨피그레이션 모듈(301)은 값을, 대응하는 SV(310)에 설정하고, 충돌 엔진(304)을 사용해서 금칙 처리를 수행한다. 금칙 처리의 결과, SV(310)가 새로운 값으로 변경되고, SV(310)의 현재값이 사용자 인터페이스(303)상에 표시된다. 사용자 인터페이스(303)는, SV(310)의 상태에 따라서 컨트롤의 표시를 변경한다. SV(310) 각각은, "이용 가능(available)", "이용 불가(not-available)", "지원 불가(not-supported)", 및 "권한 불가(not-permission)"의 4개의 상태를 갖고, 그 결과 상이한 컨트롤의 표시가 제공된다. "이용 가능" 상태에 대하여, 통상의 표시가 수행된다. "이용 불가" 또는 "권한 불가" 상태에 대하여, 컨트롤 또는 옵션이 비활성이거나 그레이 아웃되어 사용자의 선택을 방지한다. "지원 불가" 상태에 대하여, 컨트롤이 사용자로부터 숨겨진다. 표준 설정으로 복귀하기 위한 버튼이 눌리면, SV(310)의 값이 디폴트값으로 변경되고 금칙 처리가 수행되어 사용자 인터페이스(303)상에 SV(310)의 상태를 표시한다. 따라서, 컨피그레이션 모듈(301)은, 입력이나 출력 형태에 관계없이, SV들(310)로의 변환을 수행한 후에 처리를 수행함으로써, 기능들 및 금칙 처리 룰들의 일괄 관리(centralized management)를 수행한다.
SV(310) 각각은 또한 특별 기능, 즉, 값 또는 값들의 리스트를 고정하기 위한 잠금 기능을 갖는다. SV(310)의 잠금 플래그가 턴 온 되면, SV(310)의 값이 외부로부터 변경되거나, 금칙 처리 룰에 따라 변경될 수 없게 된다. 잠금 기능을 턴 온 하기 위해서는, XML 데이터 파일(308)이나 바이너리 데이터 파일(309)에 사용자나 관리자가 미리 기재해 두거나(도 8), 또는 API(302)나 사용자 인터페이스(303)를 사용하여 사용자나 관리자가 잠금 기능을 지정한다. 도 6은 잠금 기능을 턴 온 또는 턴 오프 하기 위한 사용자 인터페이스(303) 상의 표시 영역을 도시한다. 잠금 기능은 관리자 권한을 갖는 사용자만이 지정하는 것이 허가된다. 도 6에 도시된 표시 영역에서, "양면 인쇄" 설정이 잠긴다. 도 7은 잠금 기능이 턴 온 될 때의 사용자 인터페이스(303) 상의 표시 화상을 도시한다. 도 7에서, 양면 인쇄 설정이 잠겨 있으므로, 양면 인쇄 설정이 항상 턴 온 되어 사용자가 조작할 수 없도록 컨트롤이 비활성이거나 그레이 아웃되어 있다. 또한, 잠금 상태를 나타내기 위해서, 잠금-지정 열쇠의 마크가 디스플레이상의 컨트롤 옆에 표시된다. 잠겨있는 컨트롤, 또는 잠금-지정의 열쇠의 마크가 포인팅 디바이스를 사용하여 지시되면, 툴팁들이 표시되고 설정이 고정된 것이 디스플레이상에 표시된다.
도 4는 XML 데이터 파일(308)의 일부를 나타낸다. XML 데이터 파일(308)은 프린터의 기능에 대응하는, SV들(310)에 대한 정보와 금칙 처리 룰을 포함한다. 특히, 도 4에서, "Collate"의 SV(310)를 포함하는 부분이 도시된다. "Status Variable"이라고 불리는 요소에 의해 SV(310)가 정의된다. 여기서, SV(310)의 이름이 "name" 속성을 사용하여 정의되고, SV(310)의 유형이 "type" 속성을 이용하여 정의된다. 도 4에서, "Collate"가 "name" 속성에 기술되고, "selection"이 "type" 속성에 기술된다. "selection" 유형은, 값들의 리스트를 사용하는 SV(310)를 지시한다. 다음에, SV(310)의 정의로서 "PropertyTable" 요소 및 "ConflictRules" 요소가 기술된다. "PropertyTable" 요소는 SV(310)의 파라미터를 포함하고, "ConflictRule" 요소는 금칙 처리 룰을 포함한다. "PropertyTable" 요소는 "ValueInfoTable" 요소 및 "ReasonInfoTable" 요소라는, 값과 이유가 각각 정의되는 2개의 하위 요소(sub-element)를 갖는다. "ValueInfoTable" 요소에서는, "ValueSet" 요소에 값들의 리스트의 각각의 값이 기술된다. "ValueSet" 요소의 각각의 값은, "Property" 요소로서의 값에 부가될 데이터를 추가로 저장할 수 있다. 예를 들어, 용지 크기 "A4"에 대해서, 폭 및 높이 등의 정보를 부가하기 위해서, "Property" 요소가 사용된다. 값들의 리스트의 디폴트값이 "DefaultValue" 요소에 기술된다. 도 4에서, 즉, "Collated" 및 "Uncollated"라는 2개의 값이 기술되고 "Collated" 값이 디폴트로 설정된 기술이 포함된다. 또한, "ReasonInfoTable" 요소에는 "ReasonSet" 요소로서 3개의 이유가 기술된다. "ConflictRules" 요소에서는, "Conflict" 요소에 1개의 금칙 처리 룰이 기술된다. 금칙 처리 룰 각각은 "priority"라고 불리는 속성에 기술되는 우선도를 갖는다. 가장 작은 우선도 값을 갖는 것으로부터 순서대로 금칙 처리 룰들이 평가된다. 그리하여, 값이 작을수록 우선도가 높다. 이러한 방식으로, 동시 입력시의 금칙 처리를 수행하도록 SV(310) 각각에 대하여 우선도가 설정된다. 인쇄 설정으로서 입력될 값이 금칙 상태에 있고, 한 쌍의 값 중 하나가 변경되어야 할 때, 높은 우선도를 갖는 기능의 값을 우선해서 설정한다. 따라서, 사용자가 원하는 바와 같이 인쇄 설정이 수행될 수 있다. 우선도가 존재하지 않는 경우에는, 금칙 처리 룰을 평가하는 순서에 따라서, 먼저 평가된 기능이 우선된다. 그리하여, 언제나 같은 결과가 얻어지지는 않는다. "Conflict" 요소는 "Value" 요소 및 "Condition" 요소를 갖고, "Value" 요소는, 금칙의 결과로서 변하는 값을 포함한다. "Conflict" 요소에서, 금칙의 결과로서 변하는 상태가 "status" 속성을 사용하여 기술될 수 있다. "Condition" 요소는, 금칙 처리될 SV(310)의 이름 및 값을 포함한다. "name" 속성은 대상 SV(310)의 이름을 포함하고, "Value" 요소는 대상 SV(310)의 값을 포함한다. "Condition" 요소들의 병렬 기재는 그들 사이의 AND 연산("AND")을 의미한다. 다른 산술 연산 기능들도 사용될 수 있고, "result" 속성이 "false"인 것은 부정("NOT")을 의미하고, "Block" 요소는 괄호를 나타내고, "AnyOneCondition" 요소는 OR 연산("OR")을 나타낸다. 도 4에는 3개의 금칙 처리 룰이 포함된다. "bookbinding" SV(310)인 "Booklet"의 값이 "None"이 아니면, "Collated"가 설정되어 SV(310)의 상태를 "NotAvailable"로 설정한다. 표지 설정 "CoverFront" 및 뒷표지 설정 "CoverBack"이 "NoCover"가 아닌 경우, 즉, 그 설정들이 지정되어 있을 때, "Collated"가 설정되어 SV(310)의 상태가 "NotAvailable"로 설정된다. 스테이플 설정 "Staple"이 새들 스티치를 지시하는 "SaddleStitch"로 설정될 때, "Collated"가 설정되어 SV(310)의 상태가 "NotAvailable"로 설정된다.
도 5는, 프린터 드라이버가 설정을 수행하도록 사용자가 지시할 때에 개시되는 처리를 도시한다. 단계 S501의 처리는, 매번 확인된다. 그러나, 처리는 미리 수행될 수 있다. 이 경우에, 사용자가 인쇄 설정을 변경할 때, 단계 S502후의 처리가 수행된다.
다음에, 충돌 엔진(304)의 금칙 엔진(306)에 의해 수행되는 금칙 처리 로직을, 도 5에 도시된 흐름도에 따라 설명한다. 우선, 금칙 엔진(306)이, API(302)나 사용자 인터페이스(303)로부터 SV들(310)에 대한 잠금 기능(이하, "잠금 정보"라고 칭함)에 대한 정보를 취득한다. 잠금 정보를 바탕으로 금칙 엔진(306)은, 대상 SV(310)의 값을 잠겨질 값으로 변경하고, 잠금 플래그를 설정한다(단계 S501). 또한, 금칙 엔진(306)은, 디폴트값을 잠겨질 값으로 변경한다.
그 후, 단계 S502에서, API(302)나 사용자 인터페이스(303)가 DEVMODE 구조체나 인쇄 티켓 등의 인쇄 설정이나, 또는 사용자 인터페이스를 통해 입력된 컨트롤로부터, 사용자가 지정한 인쇄 설정 정보를 수신한다(단계 S502). API(302)나 사용자 인터페이스(303)는 수신된 인쇄 설정 정보를 바탕으로, 변경될 SV들(310)의 값들의 리스트를 작성한다. 이 리스트는 SV들(310)의 이름들과 값들의 쌍과, 인쇄 설정 정보와의 조합을 갖는 테이블에 따라 작성될 수 있다. 테이블은 XML 파일에 기술되고, XML 파일은 기종 의존 파일(307)에 포함된다. 금칙 엔진(306)은 값들의 리스트를 바탕으로, 대응하는 SV들(310)의 현재값들을 인쇄 설정 값들로 변경한다(단계 S503). 여기서, 금칙 엔진(306)은 값들이 변경된 SV들(310)의 리스트를 작성한다(단계 S504). 인쇄 설정의 값들에 기초해서 이미 리스트가 작성되었지만, 여기에서는 값들이 성공적으로 변경된 SV들(310)의 리스트가 작성된다. 또한, 금칙 처리 룰의 처리 동안 금칙 엔진(306)은, 실제로 값들이 변경된 SV들(310)과 금칙 처리 룰의 결과로서 값들이 변경된 SV들(310)의 양쪽을 포함한 리스트를 작성한다. 금칙 엔진(306)은, 단계 S504에서 작성된 리스트에 포함되는 SV들(310)의 금칙 처리 룰을 모두 추출하여, 추출된 금칙 처리 룰들을 우선도에 따라 배열한다(단계 S505). 잠긴 SV들(310)이 있으면, 금칙 엔진(306)은 우선 잠긴 SV들(310)의 금칙 처리 룰을 우선도에 따라 배열하고, 그 후에 다른 금칙 처리 룰들을 우선도에 따라 배열한다. 우선도에 따라 배열되는 금칙 처리 룰이 아직 남아 있으면(단계 S506), 금칙 엔진(306)은 하나의 금칙 처리 룰을 추출한다(단계 S508). 그 후, 금칙 엔진(306)은 금칙 처리 룰을 평가한다. 금칙 엔진(306)은, 금칙 처리 룰에 기술된 SV(310)의 값이나 특성을 참조하고, 금칙 처리 룰에 있어서의 "Condition" 요소에 일치하면서 룰이 성립할 지의 여부를 판정한다. 금칙 처리 룰이 성립하면, 금칙 엔진(306)이 SV(310)의 값을 변경할 필요가 있는지의 여부를 판정한다(단계 S509). 값을 변경할 필요가 있으면, 금칙 엔진(306)은, 잠금 정보에 기초하여 잠금 플래그가 설정되었는지의 여부를 판정한다(단계 S510). 값이 잠겨 있으면, 금칙 엔진(306)은, 금칙 처리 룰에 있어서의 "Condition" 요소에 포함되는 SV(310)의 값을 변경하여, 상태가 "not-available"로 변경되게 한다(단계 S511). 보통은, 금칙 엔진(306)은, 금칙 처리 룰에 기술된 대상 SV(310)의 값에 기초하여 값을 변경한다. 그러나, 값이 잠겨 있을 때, 금칙 엔진(306)은 대상 SV(310)의 상태를 변경하도록 동작한다. 값이 잠겨있지 않을 때, 금칙 엔진(306)은, 통상의 금칙 처리를 수행하여, 금칙 처리 룰에 따라 값을 변경하도록 한다. 이 경우에, 금칙 엔진(306)은, 변경될 대상 SV(310)의 값이, 금칙 처리에 의해 이미 변경된 적이 있는지의 여부에 대하여 플래그가 설정되어 있는지의 여부를 판정한다(단계 S512). 금칙 처리는 값을 변경하는 것에 의해 트리거되고, 금칙 엔진(306)은 금칙 처리 룰을 평가한다. 그러나, 값이 여러 번 변경되면, 금칙 처리 룰에 따라서는, 평가 루프가 형성되어 금칙 엔진(306)의 처리가 완료되는 것을 방지한다. 따라서, 금칙 처리 룰에 따라 SV(310)의 값이 1회까지 변경될 수 있도록 설계 룰이 제한됨으로써, 무한 루프의 형성을 방지한다. 값이 아직 변경되지 않았다는 것이 확인되면, 금칙 엔진(306)은 SV(310)의 값을 변경하고, SV(310)의 값이 금칙 처리 룰에 따라 변경되었다는 것을 나타내는 플래그를 설정한다(단계 S513). 그 후, 금칙 엔진(306)은 다음 금칙 처리 룰을 평가한다. 남아있는 금칙 처리 룰이 없으면, 금칙 엔진(306)은, 금칙 처리에 의해 값이 변경된 SV(310)가 있는지의 여부를 판정한다(단계 S507). 값이 변경되지 않았으면, 금칙 엔진(306)은, 모든 금칙 처리 룰을 평가한 결과, 모든 값이 안정된 상태에 있다고 판정하고 처리를 종료한다. 값이 변경되었으면, 금칙 엔진(306)은 값이 변경된 SV들(310)의 금칙 처리 룰을 모두 추출하여, 추출된 금칙 처리 룰들을 재평가를 위해 우선도에 따라 배열한다. 이 경우에도, 금칙 엔진(306)은 잠긴 SV(310)에 높은 우선도를 둔다.
그리하여, 컨피그레이션 모듈(301)은 충돌 엔진(304)과 SV들(310)의 잠금 기능을 이용하여, 기능을 완전하게 고정할 수 있다. 또한, 금칙 처리에 있어서, 금칙 엔진(306)은 충돌이 발생하지 않도록 동작한다.
[제2 실시예]
도 9는, 제1 실시예의 컨피그레이션 모듈과는 상이한 컨피그레이션 모듈을 구현하는 시스템의 블록도이다. 제1 실시예와의 차이는 금칙 처리 룰이다. 제1 실시예에 따른 금칙 처리 룰에서는, 금칙 엔진(306)은 변경될 소정의 값을 대상 값에 기초하여 기술한다. 본 발명의 제2 실시예에 따른 금칙 처리 룰에서는, 동시에 설정되는 것이 불가능한 값들의 조합이 기술된다. 따라서, 금칙 처리를 수행하기 위해 충돌 엔진에 상이한 로직이 제공된다. 그러나, 우선도들의 재배열에 의해 동등한 잠금 기능이 실현된다. 
도 9에서, 컨피그레이션 모듈(903)은, 상이한 프린터에 대해 사용될 수 있는 공통 모듈이다. 각각의 프린터에 의존하는 데이터는 GPD(Generic Description Language) 파일이라고 불리는 텍스트 파일에 기술된다. 컨피그레이션 모듈(903)의 GPD 파서(904)가 GPD 파일을 해석해서 동작함으로써, 프린터 고유의 동작이 실현될 수 있다. 도 9에서, 프린터 A에 대응한 GPD 파일(901)이 판독될 때, 프린터 A의 동작이 수행되고, 프린터 B에 대응한 GPD 파일(902)이 판독될 때 프린터 B의 동작이 수행된다. 프린터 드라이버가 사용될 때마다 GPD 파일을 GPD 파서(904)가 판독하는 것은 비효율적이므로, GPD 파일이 판독될 때 바이너리 파일이 생성되어 저장된다. 그 후, GPD 파일의 기술이 변경되지 않으면, 바이너리 파일을 사용해서 동작이 수행된다. 그리하여, 고속 동작이 실현될 수 있다.
도 9에서, 프린터 A에 대응한 GPD 파일(901)이 판독될 때, 바이너리 데이터(906)가 작성되고, 프린터 B에 대응한 GPD 파일(902)이 판독될 때, 바이너리 데이터(907)가 작성된다. GPD 파일에 기술된 데이터에 기초하여, 컨피그레이션 모듈(903)은 기능 각각에 대한 오브젝트 인스턴스를 작성하고, 금칙 처리를 수행한다. 어플리케이션(910)으로부터 공급된 인쇄 설정 데이터는 COMPSTUI.DLL(909)을 통해서 컨피그레이션 모듈(903)에 전달된다. 사용자 인터페이스(UI)상에서의 인쇄 설정은 공통 사용자 인터페이스(UI)(905)를 통해 컨피그레이션 모듈(903)에 전달된다. 컨피그레이션 모듈(903)은 인쇄 설정을 기능 각각에 대한 오브젝트 인스턴스에 반영시키고, 금칙 처리를 수행하여 어플리케이션(910)이나 사용자 인터페이스에 인쇄 설정을 반환한다. 컨피그레이션 모듈(903)은 또한 사용자 인터페이스 플러그인(908)을 사용하여, 새로운 기능을 원하는대로 추가할 수 있다.
도 10은 GPD 파일의 기술의 일부를 도시한다. "*Feature"는 기능의 이름을 기술한다. 도 10에서, 프린터의 급지 트레이가 "InputBin"이라고 이름지어진 피처(feature)로 정의된다. "*Option"은 기능에 대응하는 값을 나타낸다. 도 10에는 4개의 옵션, 즉 "AUTO", "INPUTTRAY_MANUAL", "INPUTTRAY_CASSETTE1", 및 "INPUTTRAY_CASSETTE2"가 존재하고, 그것들 중 하나가 "InputBin"의 현재값으로 서 선택된다. "*DefaultOption"은 어느 옵션이 디폴트로 설정되는지를 기술한다. 여기서, "AUTO", 즉, 급지 트레이의 자동 선택이 디폴트로 설정된다.
2개의 금칙 처리 룰, 즉, "*Constraints"와 "*InvalidConbination"이 존재한다. "*Constraints"는 주어진 피처의 옵션과 다른 피처의 옵션의 동시적인 조합을 방지하기 위한 금칙을 기술한다. "*InvalidConbination"은 GPD 파일의 루트(행의 선두)에 기술되고, 피처들의 옵션들 사이에서의 금칙을 기술한다. 옵션들 사이의 두 개 이상의 금칙이 "*InvalidConbination"에 기술될 수 있기 때문에, "*InvalidConbination"은 "*Constraints"와 상이하다. 또한, "*ConflictPriority"는, 피처의 우선도를 기술한다. 수치가 작을수록 우선도가 높다. 즉, 높은 우선도를 갖는 금칙 처리 룰이 먼저 평가된다. 컨피그레이션 모듈(903)은 이러한 GPD 파일을 판독하여 피처 오브젝트를 작성하고 금칙 처리를 수행한다.
또한, 각각의 피처는 옵션을 고정하기 위해서 피처가 잠겨있는지의 여부를 나타내는 플래그를 갖는다. 피처가 잠겨 있을 때, 옵션이 변경되는 것이 방지될 수 있다. 또한, 피처가 잠겨있는지의 여부는 GPD 파일의 피처에 미리 기술될 수 있다(도 12 참조).
컨피그레이션 모듈(903)에 의해 수행되는 금칙 처리 로직을, 도 11에 도시된 흐름도에 따라 이제 기술한다. 피처에 대한 잠금 정보를 어플리케이션(910)이나 공통 UI의 사용자 인터페이스(905)가 가지고 있다면, 지정된 피처의 옵션이 설정되고, 잠금 플래그가 설정된다(단계 S1101). 달리 언급되지 않는 한, 컨피그레이션 모듈(903)은 하기의 동작들을 수행한다.
또한, "Default Option" 값이 잠겨야 될 옵션으로 변경된다. 그 후, 컨피그레이션 모듈(903)은 어플리케이션(910)이나 공통 UI의 사용자 인터페이스(905)로부터 사용자에 의해 지정된 인쇄 설정 정보를 수신한다(단계 S1102). 이 시점에서는 피처에 옵션을 설정하지 않는다. 모든 피처들이 열거되고, "ConflictPriority" 값들에 따라 배열된다(단계 S1103).
여기서, 잠겨있는 피처가 존재하면, 컨피그레이션 모듈(903)은, 잠겨있는 피처들을 "ConflictPriority" 값들에 따라 배열하고, 그 후에 "ConflictPriority" 값들에 따라 통상의 피처들을 배열한다. 리스트에 남아있는 피처가 있으면(단계 S1104), 리스트로부터 피처가 추출된다(단계 S1105). 컨피그레이션 모듈(903)은, 지정된 인쇄 설정값에 대응하는 피처의 옵션, 즉, 설정되어야 할 옵션이, "Constraints" 또는 "InvalidConbination"의 대상인지의 여부를 판정하기 위하여, 모든 "Constraints" 또는 "InvalidConbination" 요소들을 참조한다(단계 S1106).
옵션이 그 대상이면, 이것은 옵션이 금칙 상태에 있으며, 인쇄 설정이, 피처의 현재값으로서 옵션에 설정될 수 없다는 것을 의미한다. 그리하여, 컨피그레이션 모듈(903)은 다음 피처로 진행한다. 만약 옵션이 금칙 상태가 아니면, 컨피그레이션 모듈(903)은 현재 피처의 옵션이 잠겨있는지의 여부를 판정한다(단계 S1107).
현재의 옵션이 잠겨 있으면, 이것 역시 인쇄 설정이 옵션으로서 설정될 수 없다는 것을 의미한다. 그리하여, 컨피그레이션 모듈(903)은 다음 피처로 진행한다. 만약 변경될 옵션이 금칙 상태가 아니고, 또한 현재의 옵션이 잠겨 있지 않으면, 옵션은 피처의 인쇄 설정의 값으로서 설정된다(단계 S1108). 모든 피처에 대하여 처리가 완료되면, 컨피그레이션 모듈(903)은 처리를 종료한다.
따라서, 피처를 잠금으로써, 기능이 고정될 수 있다. 제2 실시예는 더 간단한 기능 고정 기구 및 금칙 처리의 더 쉬운 구현을 제공한다. 그러나, 제2 실시예에 따른 금칙 처리에서는, 어떤 값을 변경함으로써 또 다른 값을 변경하는 것은 어렵다. 따라서, 인쇄 설정이 금칙 상태에 있을 때, 사용자는 금칙 상태를 취소하도록 설정을 변경한 후 값을 재설정한다.
고정이 지시될 수 있는 다른 가능한 인쇄 설정들은 암호 기반 친전 인쇄 설정 및 사용자명 또는 일자 인쇄 설정을 포함할 수 있다. 그러한 인쇄 설정들이 고정될 때, 시큐어 인쇄 설정이 고정되는 경우, 저장(메일박스)이나 추월 인쇄(preferential printing(어떤 인쇄 잡이 인터럽트되고 나중의 인쇄 잡이 우선적으로 인쇄됨)) 설정이 턴 오프된다. 사용자명 또는 일자 인쇄 설정이 고정된 때 포스터 인쇄 설정을 턴 오프하는 처리가 작용한다. "프린터 메모리"라는 용어는 프린터에 제공된 메모리를 의미한다. "사용자 인터페이스 화면"이라는 용어는 사용자 인터페이스상의 화면을 의미한다.
이제 본 실시예의 기술 원리를 요약한다.
인쇄 디바이스의 일례인 프린터(214)에 대하여 송신되어 인쇄될 데이터를 생성하는 프린터 드라이버에서의 인쇄 설정을 처리하도록 구성된 컴퓨터가 개시되었다. 그 후, 외부 저장 디바이스에, 인쇄 설정의 금칙을 정의하는 금칙 룰이 저장된다. 그 후, 프린터 드라이버의 사용자 인터페이스나 XML 파일을 사용하여, 인쇄 설정의 고정을 지시한다. 또한, 컨피그레이션 모듈은, 고정이 지시된 인쇄 설정과 관련된 금칙 룰의 우선도를 증가시킨다. 이것은, 룰 우선도 설정의 일례이다.
외부 저장 디바이스에, 인쇄 설정의 값을 오브젝트로서 저장한다.
컨피그레이션 모듈은, 금칙 처리 룰에 따라서 오브젝트의 값을 변경하고, 우선도에 따라서 금칙 처리 룰들을 평가한다. 고정이 지시된 인쇄 설정은, 사용자 인터페이스로부터의 입력 또는 금칙 처리 룰의 실행에 의해 변경되는 것이 방지된다. 또한, 값의 고정이 지시된 오브젝트의 값을 변경하기 위한 금칙 처리 룰이 처리될 때, 컨피그레이션 모듈은, 값이 변경되도록 하는 오브젝트의 값을 프린터 드라이버의 사용자 인터페이스를 통하여 선택하는 것을 방지할 수 있다.
프린터 드라이버의 사용자 인터페이스는, 고정이 지시된 인쇄 설정을 모니터상에, 예를 들어, 도 7에 도시된 것과 같이 식별 가능한 방식으로 표시하는 처리를 제어한다.
금칙 처리 룰의 우선도는 공급자(vendor)에 의해 결정된다. 그러나, 본 실시예에 따른 기구를 사용하여, 사용자가 금칙 처리를 원하는 대로 변경하는 것이 유용하다. 양면 인쇄 설정, 2-Up 인쇄 설정, 흑백 인쇄 설정, 저장(메일박스) 설정 등의 고정을 사용자 인터페이스나 XML 파일을 사용하여 사용자가 지시할 수 있는 것이 바람직하다. 메일박스는, 퍼스널 컴퓨터(PC)로부터 송신된 인쇄 데이터 등을 저장하기 위해, 프린터 또는 복합기의 메모리에 제공된 박스이다. 설정에 따라서는, 인쇄 및 출력이 금지될 수 있고, 인쇄 데이터가 언제나 메일박스에 저장될 수 있다.
또한, 다른 사용자에게서 받은 문서가 "엽서"라는 인쇄 설정을 가질 때, 사용자는 "엽서"인 설정에 대하여 의식하지 않고 문서를 인쇄할 수 있다. 이 경우에, 문서가 인쇄될 수 없는 것보다는 A4 크기로 양면에 인쇄되는 것이 더 유용하다. 또한, 저장(메일박스) 설정이 고정되면, 지정된 용지 크기가 "사용자 정의 용지(긴 용지)"에서 "A4"로 수정된다. 기존의 처리에서는, 긴 용지에 인쇄가 이루어진다. 그러므로, 항상-저장 설정은 불필요한 종이 자원의 사용을 막을 수 있다. 환언하면, 이 환경에서 긴 용지는 이용할 수 없다. 또한, 본 발명의 또 다른 실시예에서, 메일박스에의-저장 설정을 위반하는 설정이 있으면, 메일박스에 인쇄 데이터를 저장하지 않고, 인쇄 동작을 그만둘 수 있고, 관리자에게 통지할 수 있다. 여기에서, 메일박스에의-저장 설정은, 인쇄에 관계되는 설정이라고 가정된다.
2-Up 인쇄 설정이 고정일 때, 제본 설정이 "OFF" 상태로 변경되는 설계도 이용 가능할 수 있다. 준 고정 모드도 이용 가능할 수 있다. 즉, 제본 설정이 이용 가능할 때, 제본 설정이 이루어지고, 2-Up 인쇄 설정이 채택되지 않고, 제본 설정이 프린터 사양상 이용 가능하지 않을 때, 2-Up 인쇄 설정이 고정된다.
[다른 실시예]
도 5 및 도 11에 도시된 전술한 실시예들에 따른 처리들이, 외부로부터 설치된 프로그램에 따라 컴퓨터에 의해 수행된다. CD-ROM(compact disk read-only memory), 플래시 메모리, 또는 가요성 디스크 또는 플로피 디스크(FD) 등의 저장 매체를 통해, 또는 네트워크를 통해 외부의 저장 매체로부터, 프로그램을 포함한 정보군이 호스트 컴퓨터에 공급될 경우에도 본 발명이 적용될 수 있다.
이상과 같이, 본 발명의 특징이, 전술한 실시예의 기능을 구현하는 소프트웨어의 프로그램 코드를 저장한 저장 매체를 시스템 또는 장치에 공급하거나, 또는 저장 매체를 외부 서버(도시 안 됨)로부터 다운로드함으로써, 시스템 또는 장치의 컴퓨터(또는 CPU나 마이크로 처리 장치(microprocessing unit, MPU))가 저장 매체에 저장된 프로그램 코드를 판독해 실행함으로써, 본 발명의 특징이 달성될 수도 있다.
이 경우, 저장 매체로부터 판독된 프로그램 코드가 본 발명의 신규 기능을 구현하고, 이 프로그램 코드를 저장하는 저장 매체는 본 발명의 실시예를 구성할 수 있다. 프로그램 코드를 공급하기 위한 저장 매체의 예들은, 플로피 디스크, 하드 디스크, 광 디스크, 광자기 디스크, DVD(digital versatile disk), CD-ROM, 자기 테이프, 불휘발성 메모리 카드, ROM, 및 EEPROM(electrically erasable programmable read-only memory)을 포함할 수 있다.
본 발명은 다른 실시예를 포함할 수도 있다. 컴퓨터에 의해 판독된 프로그램 코드를 실행함으로써, 전술한 실시예의 기능이 실현될 뿐만 아니라, 그 프로그램 코드의 지시에 따라, 컴퓨터상에서 동작하는 OS 등이 실제의 처리들의 일부 또는 전부를 수행할 수 있고, 이로써 전술한 실시예들의 기능들을 실현할 수 있다. 또한, 저장 매체로부터 판독된 프로그램 코드가, 컴퓨터에 삽입된 기능 확장 보드나 컴퓨터에 접속된 기능 확장 유닛에 제공되는 메모리에 기입될 수 있고, 그 후 그 프로그램 코드의 지시에 따라, 그 기능 확장 보드나 기능 확장 유닛에 제공되는 CPU 등이 실제의 처리들의 일부 또는 전부를 수행할 수 있으며, 이로써 전술한 실시예들의 기능을 실현할 수 있다.
본 발명이 예시적인 실시예를 참조하여 기술되었지만, 본 발명은 개시된 예시적인 실시예로 한정되지 않는다는 것이 이해되어야 한다. 하기의 청구항들의 범위는 그러한 수정들 및 등가의 구조들 및 기능들을 모두 포괄하도록 최광의의 해석에 따라야 한다.
본 출원은 2008년 8월 8일자로 출원된 일본특허출원 제2008-205617호의 우선권을 주장하며, 그 전체 내용은 본 명세서에 참조로서 포함된다.

Claims (21)

  1. 복수의 기능으로부터 선택된 기능을 항상 가능하게 할 지의 여부에 대한 지시를 수신하기 위해 수신 화면을 표시하도록 구성된 제1 표시 유닛과,
    상기 수신 화면을 통해, 선택된 상기 기능을 항상 가능하게 하는 지시를 수신하도록 구성된 지시 유닛과,
    상기 선택된 기능을 항상 가능하게 하는 지시가 수신된 경우, 상기 선택된 기능을 불가능하게 하는 변경을 수신하지 않도록 인쇄 설정 화면을 표시하도록 구성된 제2 표시 유닛을 포함하고,
    상기 복수의 기능에는, 프린터에 데이터를 저장하는 기능이 포함되고,
    상기 지시 유닛은 특정 권한을 가진 사용자로부터 상기 선택된 기능을 항상 가능하게 하는 지시를 수신하고,
    상기 수신 화면은 프린터 드라이버에 의해 제공되는, 정보 처리 장치.
  2. 제1항에 있어서,
    상기 프린터는 복합기인, 정보 처리 장치.
  3. 제1항에 있어서,
    상기 인쇄 설정 화면은 상기 프린터 드라이버에 의해 제공되는 사용자 인터페이스인, 정보 처리 장치.
  4. 삭제
  5. 제1항 내지 제3항 중 어느 한 항에 있어서,
    상기 지시 유닛은 다른 기능을 항상 가능하게 하는 지시를 수신하는, 정보 처리 장치.
  6. 제1항에 있어서,
    상기 프린터 내에 데이터를 저장하는 기능을 지시하는 설정 항목은 상기 인쇄 설정 화면에서 그레이 아웃되는, 정보 처리 장치.
  7. 제1항에 있어서,
    상기 수신 화면을 통해 항상 가능하도록 설정된 기능은 금칙 처리 룰의 실행에 따라 불가능하게 되는, 정보 처리 장치.
  8. 복수의 기능으로부터 선택된 기능을 항상 가능하게 할 지의 여부에 대한 지시를 수신하기 위해 수신 화면을 표시하는 제1 표시 단계와,
    상기 수신 화면을 통해, 선택된 상기 기능을 항상 가능하게 하는 지시를 수신하는 지시 단계와,
    상기 선택된 기능을 항상 가능하게 하는 지시가 수신된 경우, 상기 선택된 기능을 불가능하게 하는 변경을 수신하지 않도록 인쇄 설정 화면을 표시하는 제2 표시 단계를 포함하고,
    상기 복수의 기능에는, 프린터에 데이터를 저장하는 기능이 포함되고,
    상기 지시 단계에서는 특정 권한을 가진 사용자로부터 상기 선택된 기능을 항상 가능하게 하는 지시를 수신하고,
    상기 수신 화면은 프린터 드라이버에 의해 제공되는, 정보 처리 방법.
  9. 제8항에 있어서,
    상기 프린터는 복합기인, 정보 처리 방법.
  10. 제8항에 있어서,
    상기 인쇄 설정 화면은 상기 프린터 드라이버에 의해 제공되는 사용자 인터페이스인, 정보 처리 방법.
  11. 삭제
  12. 제8항 내지 제10항 중 어느 한 항에 있어서,
    상기 지시 단계에서는 다른 기능을 항상 가능하게 하는 지시를 수신하는, 정보 처리 방법.
  13. 제8항에 있어서,
    상기 프린터 내에 데이터를 저장하는 기능을 지시하는 설정 항목은 상기 인쇄 설정 화면에서 그레이 아웃되는, 정보 처리 방법.
  14. 제8항에 있어서,
    상기 수신 화면을 통해 항상 가능하도록 설정된 기능은 금칙 처리 룰의 실행에 따라 불가능하게 되는, 정보 처리 방법.
  15. 정보 처리 방법을 컴퓨터가 실행하게 하는 제어 프로그램을 저장한 컴퓨터 판독가능 매체이며,
    상기 정보 처리 방법은,
    복수의 기능으로부터 선택된 기능을 항상 가능하게 할 지의 여부에 대한 지시를 수신하기 위해 수신 화면을 표시하는 제1 표시 단계와,
    상기 수신 화면을 통해, 선택된 상기 기능을 항상 가능하게 하는 지시를 수신하는 지시 단계와,
    상기 선택된 기능을 항상 가능하게 하는 지시가 수신된 경우, 상기 선택된 기능을 불가능하게 하는 변경을 수신하지 않도록 인쇄 설정 화면을 표시하는 제2 표시 단계를 포함하고,
    상기 복수의 기능에는, 프린터에 데이터를 저장하는 기능이 포함되고,
    상기 지시 단계에서는 특정 권한을 가진 사용자로부터 상기 선택된 기능을 항상 가능하게 하는 지시를 수신하고,
    상기 수신 화면은 프린터 드라이버에 의해 제공되는, 컴퓨터 판독가능 매체.
  16. 제15항에 있어서,
    상기 프린터는 복합기인, 컴퓨터 판독가능 매체.
  17. 제15항에 있어서,
    상기 인쇄 설정 화면은 상기 프린터 드라이버에 의해 제공되는 사용자 인터페이스인, 컴퓨터 판독가능 매체.
  18. 삭제
  19. 제15항 내지 제17항 중 어느 한 항에 있어서,
    상기 지시 단계에서는 다른 기능을 항상 가능하게 하는 지시를 수신하는, 컴퓨터 판독가능 매체.
  20. 제15항에 있어서,
    상기 프린터 내에 데이터를 저장하는 기능을 지시하는 설정 항목은 상기 인쇄 설정 화면에서 그레이 아웃되는, 컴퓨터 판독가능 매체.
  21. 제15항에 있어서,
    상기 수신 화면을 통해 항상 가능하도록 설정된 기능은 금칙 처리 룰의 실행에 따라 불가능하게 되는, 컴퓨터 판독가능 매체.
KR1020137002266A 2008-08-08 2009-08-04 정보 처리 장치와 방법, 및 컴퓨터 판독가능 매체 KR101347423B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2008205617A JP5094627B2 (ja) 2008-08-08 2008-08-08 情報処理装置、方法、制御プログラム
JPJP-P-2008-205617 2008-08-08
PCT/JP2009/003703 WO2010016234A1 (en) 2008-08-08 2009-08-04 Information processing apparatus and method, and control program

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
KR1020117004470A Division KR101455444B1 (ko) 2008-08-08 2009-08-04 정보 처리 장치와 방법, 및 컴퓨터 판독가능 매체

Publications (2)

Publication Number Publication Date
KR20130023379A KR20130023379A (ko) 2013-03-07
KR101347423B1 true KR101347423B1 (ko) 2014-01-03

Family

ID=41663463

Family Applications (2)

Application Number Title Priority Date Filing Date
KR1020117004470A KR101455444B1 (ko) 2008-08-08 2009-08-04 정보 처리 장치와 방법, 및 컴퓨터 판독가능 매체
KR1020137002266A KR101347423B1 (ko) 2008-08-08 2009-08-04 정보 처리 장치와 방법, 및 컴퓨터 판독가능 매체

Family Applications Before (1)

Application Number Title Priority Date Filing Date
KR1020117004470A KR101455444B1 (ko) 2008-08-08 2009-08-04 정보 처리 장치와 방법, 및 컴퓨터 판독가능 매체

Country Status (6)

Country Link
US (1) US9047032B2 (ko)
EP (1) EP2313823B1 (ko)
JP (1) JP5094627B2 (ko)
KR (2) KR101455444B1 (ko)
CN (2) CN104951257B (ko)
WO (1) WO2010016234A1 (ko)

Families Citing this family (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5089464B2 (ja) * 2008-04-02 2012-12-05 キヤノン株式会社 管理装置、管理方法、及びプログラム
US8799790B2 (en) * 2009-02-18 2014-08-05 Kyocera Document Solutions Inc. Computer-readable recording medium storing driver program, image forming system, image forming apparatus, method for controlling image forming apparatus, and driver program
KR101612757B1 (ko) * 2009-12-17 2016-04-26 삼성전자주식회사 인쇄 제어 단말장치 및 xps 파일 인쇄방법
JP5764924B2 (ja) * 2010-12-24 2015-08-19 キヤノンマーケティングジャパン株式会社 情報処理装置、情報処理装置の制御方法、プログラム、記憶媒体
US8844059B1 (en) * 2011-02-15 2014-09-23 Symantec Corporation Method and apparatus for preventing data loss through screen capture
JP5791311B2 (ja) 2011-03-02 2015-10-07 キヤノン株式会社 情報処理装置、印刷設定方法、及びコンピュータプログラム
JP5746530B2 (ja) * 2011-03-17 2015-07-08 キヤノン株式会社 印刷設定情報を設定する装置及びその制御方法
JP5828681B2 (ja) * 2011-05-31 2015-12-09 キヤノン株式会社 設定値管理装置及びその制御方法、並びにプログラム
JP2013003745A (ja) * 2011-06-14 2013-01-07 Canon Inc 設定値管理装置及び管理方法
JP5857611B2 (ja) * 2011-10-13 2016-02-10 株式会社リコー 情報処理装置、システム、プログラム
JP5950613B2 (ja) * 2012-02-20 2016-07-13 キヤノン株式会社 プログラム及び情報処理装置、制御方法
JP5919930B2 (ja) * 2012-03-21 2016-05-18 株式会社リコー プログラム、情報処理装置、記憶媒体
CN102693108B (zh) * 2012-05-10 2015-06-24 广州Jfe钢板有限公司 一种基于打印机服务器的打印集中管理的方法及系统
JP5678927B2 (ja) 2012-07-18 2015-03-04 コニカミノルタ株式会社 情報処理装置およびプログラム
JP2014106570A (ja) * 2012-11-22 2014-06-09 Ricoh Co Ltd 情報処理装置、ジョブ処理制御方法、及びジョブ処理制御プログラム
JP5840640B2 (ja) * 2013-03-29 2016-01-06 京セラドキュメントソリューションズ株式会社 画像形成装置、及び画像形成方法
JP5821903B2 (ja) * 2013-06-13 2015-11-24 コニカミノルタ株式会社 クラウドサーバー、クラウド印刷システムおよびコンピュータープログラム
JP5641159B1 (ja) * 2014-03-20 2014-12-17 富士ゼロックス株式会社 印刷指示装置、印刷システム、およびプログラム
JP6115515B2 (ja) * 2014-05-08 2017-04-19 コニカミノルタ株式会社 プリンタドライバ及びプリンタドライバの禁則処理方法
JP6225822B2 (ja) * 2014-05-13 2017-11-08 株式会社リコー 出力システム、端末装置、プログラム及び出力方法
JP6028776B2 (ja) * 2014-09-19 2016-11-16 コニカミノルタ株式会社 Uiプログラム、印刷制御装置及びその制御方法
JP6552189B2 (ja) * 2014-12-09 2019-07-31 キヤノン株式会社 情報処理装置、制御方法およびドライバーインストールプログラム
EP3594801A1 (en) * 2018-06-29 2020-01-15 Canon Kabushiki Kaisha Information processing apparatus processing print setting, control method, and control program
JP7282567B2 (ja) * 2019-03-29 2023-05-29 キヤノン株式会社 情報処理装置、およびプログラム
JP7282576B2 (ja) 2019-04-09 2023-05-29 キヤノン株式会社 印刷システム、印刷装置と情報処理装置の制御方法、及びプログラム

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006110861A (ja) * 2004-10-14 2006-04-27 Canon Inc 画像形成装置、画像形成方法及びそのプログラム
JP2006164253A (ja) * 2004-11-15 2006-06-22 Canon Inc データ処理装置および設定処理方法およびコンピュータが読み取り可能なプログラムを格納した記憶媒体および制御プログラム

Family Cites Families (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3884876B2 (ja) * 1999-01-29 2007-02-21 キヤノン株式会社 情報処理装置、情報処理方法及びコンピュータ読み取り可能なプログラムが格納された記憶媒体
JP2000225754A (ja) 1999-02-08 2000-08-15 Fuji Xerox Co Ltd パラメータ処理装置及び印刷システム
JP2000227847A (ja) 1999-02-08 2000-08-15 Fuji Xerox Co Ltd 実行条件設定装置及び方法
EP1211594A3 (en) * 2000-11-30 2006-05-24 Canon Kabushiki Kaisha Apparatus and method for controlling user interface
JP3673714B2 (ja) 2000-11-30 2005-07-20 キヤノン株式会社 ユーザインタフェース制御装置および方法ならびに記憶媒体
US7218976B2 (en) * 2001-04-27 2007-05-15 Canon Kabushiki Kaisha User interface control apparatus and method
JP4366027B2 (ja) 2001-04-27 2009-11-18 キヤノン株式会社 ユーザインタフェース制御装置および方法
JP5062932B2 (ja) 2001-09-19 2012-10-31 キヤノン株式会社 ユーザインタフェース制御装置及び方法及びコンピュータプログラム及び記憶媒体
US7720044B1 (en) * 2002-04-19 2010-05-18 Nokia Corporation System and method for terminal configuration
JP2004021456A (ja) 2002-06-14 2004-01-22 Canon Inc 画像処理装置および印刷処理方法およびコンピュータが読み取り可能な記憶媒体
JP4350565B2 (ja) * 2003-03-27 2009-10-21 キヤノン株式会社 情報処理装置および方法
JP4481800B2 (ja) 2003-12-02 2010-06-16 キヤノン株式会社 情報処理装置、情報処理方法及びプログラム
US7992145B2 (en) * 2004-03-05 2011-08-02 Microsoft Corporation Multilevel ticket-based job management architecture for computing devices
JP2006024068A (ja) 2004-07-09 2006-01-26 Keyence Corp 画像処理装置の設定方法
JP2006115359A (ja) * 2004-10-15 2006-04-27 Sharp Corp 画像処理装置
US7903272B2 (en) * 2004-11-15 2011-03-08 Canon Kabushiki Kaisha Data processing apparatus, print setting adjusting method, recording medium storing computer-readable program therein, and program
JP4840968B2 (ja) * 2005-03-14 2011-12-21 キヤノン株式会社 情報処理装置、情報処理方法、コンピュータプログラム
JP2006297632A (ja) * 2005-04-15 2006-11-02 Canon Inc 画像処理装置
JP2007249867A (ja) * 2006-03-17 2007-09-27 Ricoh Co Ltd スレーブ装置を制御するための情報処理装置及び情報処理装置を組み込まれたホスト端末
JP4761538B2 (ja) 2006-03-31 2011-08-31 キヤノン株式会社 デバイス管理システム、情報処理装置及びその制御方法、プログラム
JP4306704B2 (ja) * 2006-08-11 2009-08-05 コニカミノルタビジネステクノロジーズ株式会社 印刷装置、印刷設定画面表示方法、及び印刷設定画面表示プログラム
JP2008059299A (ja) * 2006-08-31 2008-03-13 Brother Ind Ltd 画像形成システム、画像形成制御方法、プログラム
JP2008059484A (ja) * 2006-09-01 2008-03-13 Canon Inc 情報処理装置、ドライバ処理方法、記憶媒体、プログラム
JP5105855B2 (ja) * 2006-12-19 2012-12-26 キヤノン株式会社 情報処理装置及びその制御方法、コンピュータプログラム
JP5058855B2 (ja) * 2008-03-13 2012-10-24 キヤノン株式会社 情報処理装置およびその方法並びにプログラム

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006110861A (ja) * 2004-10-14 2006-04-27 Canon Inc 画像形成装置、画像形成方法及びそのプログラム
JP2006164253A (ja) * 2004-11-15 2006-06-22 Canon Inc データ処理装置および設定処理方法およびコンピュータが読み取り可能なプログラムを格納した記憶媒体および制御プログラム

Also Published As

Publication number Publication date
KR20110044261A (ko) 2011-04-28
CN104951257A (zh) 2015-09-30
EP2313823A1 (en) 2011-04-27
EP2313823A4 (en) 2012-12-05
JP5094627B2 (ja) 2012-12-12
US20110116131A1 (en) 2011-05-19
WO2010016234A1 (en) 2010-02-11
KR101455444B1 (ko) 2014-10-27
CN102119378A (zh) 2011-07-06
CN104951257B (zh) 2018-11-23
JP2010040002A (ja) 2010-02-18
EP2313823B1 (en) 2018-03-07
US9047032B2 (en) 2015-06-02
KR20130023379A (ko) 2013-03-07

Similar Documents

Publication Publication Date Title
KR101347423B1 (ko) 정보 처리 장치와 방법, 및 컴퓨터 판독가능 매체
KR101064065B1 (ko) 정보 처리 장치, 제어 방법, 및 기억 매체
KR100708361B1 (ko) 정보 처리 장치 및 방법
US8860959B2 (en) Configuring settings for exception pages in a print job
JP5675047B2 (ja) 文書処理装置およびコンピュータプログラム
JP5100350B2 (ja) 印刷制御装置、印刷制御方法、及び、印刷制御プログラム。
JP4951392B2 (ja) 情報処理装置、プログラムおよび記録媒体
JP5836667B2 (ja) 情報処理装置、情報処理方法、プログラム、システム及び画像処理方法
JP2005190467A (ja) 情報処理装置、印刷制御方法及びそのプログラム
US8368926B2 (en) Reuse of document print attributes
JP5070101B2 (ja) 情報処理装置及びその制御方法、プリンタドライバプログラム
JP6257307B2 (ja) 情報処理方法および用紙サイズ設定方法
US20070146760A1 (en) Print System and Programs for Use in Print System
US20110026076A1 (en) Printer driver, printer and printing method
JP5642143B2 (ja) 情報処理装置、方法、制御プログラム
JP2007052470A (ja) 機能設定装置、機能設定方法、機能設定プログラムおよび記録媒体
JP5159974B2 (ja) 情報処理装置、方法、制御プログラム
JP2006228128A (ja) 情報処理装置、通信機器制御装置およびプログラム
JP5726344B2 (ja) 情報処理装置、制御方法、プログラム
US8773711B2 (en) Data processing apparatus, data processing method, and storage medium for controlling display setting screen based on selected printer driver
JP2010117907A (ja) 印刷制御装置、および印刷装置
JP2007261172A (ja) 画像形成装置及び画像形成方法
US20190258436A1 (en) Information processing apparatus, control method of information processing apparatus, and program
JP2007079743A (ja) 情報処理装置及びその制御方法、プログラム

Legal Events

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

Payment date: 20161124

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20171124

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20181126

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20191219

Year of fee payment: 7