KR20050084118A - 인쇄 제어 프로그램을 격납한 전자계산기, 그 프로그램 및 프로그램의 기록 매체 - Google Patents
인쇄 제어 프로그램을 격납한 전자계산기, 그 프로그램 및 프로그램의 기록 매체 Download PDFInfo
- Publication number
- KR20050084118A KR20050084118A KR1020057010018A KR20057010018A KR20050084118A KR 20050084118 A KR20050084118 A KR 20050084118A KR 1020057010018 A KR1020057010018 A KR 1020057010018A KR 20057010018 A KR20057010018 A KR 20057010018A KR 20050084118 A KR20050084118 A KR 20050084118A
- Authority
- KR
- South Korea
- Prior art keywords
- data
- output
- control
- spooler
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/12—Digital output to print unit, e.g. line printer, chain printer
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/12—Digital output to print unit, e.g. line printer, chain printer
- G06F3/1201—Dedicated interfaces to print systems
- G06F3/1223—Dedicated interfaces to print systems specifically adapted to use a particular technique
- G06F3/1237—Print job management
- G06F3/1244—Job translation or job parsing, e.g. page banding
- G06F3/1247—Job translation or job parsing, e.g. page banding by conversion to printer ready format
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/12—Digital output to print unit, e.g. line printer, chain printer
- G06F3/1201—Dedicated interfaces to print systems
- G06F3/1202—Dedicated interfaces to print systems specifically adapted to achieve a particular effect
- G06F3/1203—Improving or facilitating administration, e.g. print management
- G06F3/1204—Improving or facilitating administration, e.g. print management resulting in reduced user or operator actions, e.g. presetting, automatic actions, using hardware token storing data
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/12—Digital output to print unit, e.g. line printer, chain printer
- G06F3/1201—Dedicated interfaces to print systems
- G06F3/1223—Dedicated interfaces to print systems specifically adapted to use a particular technique
- G06F3/1237—Print job management
- G06F3/1253—Configuration of print job parameters, e.g. using UI at the client
- G06F3/1254—Automatic configuration, e.g. by driver
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/12—Digital output to print unit, e.g. line printer, chain printer
- G06F3/1201—Dedicated interfaces to print systems
- G06F3/1278—Dedicated interfaces to print systems specifically adapted to adopt a particular infrastructure
- G06F3/1285—Remote printer device, e.g. being remote from client or server
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Accessory Devices And Overall Control Thereof (AREA)
Abstract
본 발명의 인쇄 제어 프로그램을 격납한 전자계산기, 그 프로그램 및 프로그램의 기록 매체는, 전자계산기로부터 인쇄 장치에의 액세스를 커널 모드에서 제어한다.
응용 프로그램(4)으로부터 프린터(69)에 액세스 하는 경우에 스풀러(65)가 동작한다. 이 스풀러(65) 동작시에 발생하는 이벤트에 의해 액세스 요구가 검출된다. 공통 인터페이스 드라이버(7)는 미리 제어 조건 데이터베이스(36)에 등록된 제어 조건에 따라 프린터(69)에의 데이터 출력을 필터(41)나 스풀러(65)에 두고서 제어한다.
Description
본 발명은 전자계산기로부터 주변장치에의 액세스(access)를 제어하는 제어 프로그램을 격납한 전자계산기, 그 프로그램 및 프로그램의 기록 매체에 관한 것이다. 자세하게는 전자계산기로부터 인쇄 장치에의 액세스를 제어하는 인쇄 제어 프로그램을 격납한 전자계산기, 그 프로그램 및 프로그램의 기록 매체에 관한 것이다. 더욱 자세하게는 전자계산기로부터 인쇄 장치에의 액세스의 로그(log)의 취득, 그 보존, 인쇄, 인쇄되는 데이터의 인쇄 제어 프로그램에 관한 것이다.
전자계산기 상에서 동작하는 소프트웨어에 의해 문서 작성, 화상 처리 등의 작업을 하고, 그 작업 결과, 또는 이미 전자계산기의 기억 매체에 보존되어 있는 파일을 외부의 인쇄 장치로 보내 인쇄하는 것이 있다. 소프트웨어로부터 인쇄 장치에의 인쇄는 운영체제(OS : Operating System)가 제공하는 서비스, 전자계산기에 접속되어 있는 인쇄 장치를 제어하는 프린터 드라이버, 프린터 포트(port)를 통해 행해진다.
〔전자계산기의 개요〕
전자계산기는 중앙연산처리장치(CPU : Central Processing Unit), 기억장치(메모리, 하드디스크 등), 입력장치(키포트, 마우스 등), 출력장치(디스플레이 등), 주변기기(프린터, 스캐너 등)에 접속하기 위한 카드 슬롯(slot) 등의 많은 하드웨어 자원으로 이루어지고, 한편 기억장치에 기억되어 있는 운영체제에 의해 이러한 하드웨어가 제어되어 동작한다.
전자계산기에서 동작하는 각종 응용 프로그램은 운영체제 상에서 동작한다. 운영체제는 키포트 입력이나 화면 출력이라고 하는 입출력 기능, 디스크나 메모리의 관리 등 많은 응용 프로그램으로부터 공통으로 이용되는 기본적인 기능을 제공하고, 전자계산기의 시스템 전체를 관리한다.
전자계산기의 하드웨어와 주변기기는 복수의 메이커(maker)에 의해 생산되어 메이커에 따라 그 사양이 다른 것이 있다. 운영체제는 전자계산기의 모든 동작을 제어하고, 다른 하드웨어 사양의 차이를 흡수하고, 응용 프로그램에 공통의 환경을 제공한다.
응용 프로그램의 개발자는 운영체제가 제공하는 기능을 이용함으로써 개발의 수고를 생략할 수가 있어 응용 프로그램의 조작성을 통일할 수가 있다. 따라서, 어떤 운영체제용으로 개발된 응용 프로그램은, 기본적으로는 그 운영체제가 동작하는 어떠한 전자계산기에서도 이용할 수 있도록 된다.
운영체제에는 MS-DOS(등록상표), UNIX(등록상표), Linux, FreeBSD(등록상표) 등으로 대표되는 수많은 종류가 있고, 기업이나 가정의 일반 사용자(user)가 이용하는 운영체제로서 가장 인기가 있는 것은 Microsoft사의 Windows(등록상표) 시리즈이다. DTP 업계나 멀티미디어 업계에서는, Apple사의 Mac 운영체제(등록상표)가 널리 이용되고 있다. 기업의 서버(server)나 학술 기관에서는 각사의 UNIX(등록상표) 계의 운영체제나, 무상 배포되어 있는 Linux나 FreeBSD(등록상표) 등의 UNIX(등록상표) 계의 운영체제가 사용되는 것이 많다. 근년, 서버용의 운영체제로서 Microsoft사의 Windows NT(등록상표)나 Windows 2000(등록상표)이 시장 점유율을 넓히고 있다.
〔프린터 드라이버의 개요〕
도 11에는 대표적인 운영체제인 Windows 2000의 프린터(printer) 드라이버(driver)의 구성 및 관련 서비스와 동작의 개략을 나타낸다. 전자계산기(1)는 운영체제(3)에 의해 동작하고 있다. 운영체제(3) 상에서 동작하고 있는 응용 프로그램(4)으로부터 프린터(69)에 출력을 할 때 복잡한 처리를 한다.
운영체제(3)에는 커널 모드(kernel mode)(8), 사용자 모드(9)의 2개의 동작 모드가 있다. 커널 모드(kernel mode)(8)에서는 운영체제(3)를 조작하기 위한 모든 명령이 실행 가능하기 때문에, 만일 잘못된 명령을 실행하면 시스템 전체에 악영향을 미칠 수도 있다. 사용자 모드(9)는 응용 프로그램 등의 사용자에 대해서 완전하게 개방되어 있는 모드이다.
이 사용자 모드(9)에서는 시스템에 악영향을 주지 않도록 운영체제(3)를 조작하는 명령을 제한하고 있다. 시스템에 악영향을 주는 것 같은 명령의 실행이 제한되어 있기 때문에, 사용자에 있어 사용하기 쉬운 환경으로 되어 있다. 운영체제는 수많은 시스템 기능을 제공하고 전자계산기를 동작시킨다. 운영체제를 기동하면 자동적으로 기동되는 시스템 기능, 또는 그 기능을 실현하기 위한 모듈(module)을 서비스라고 한다.
도 11에는 GDI32(61), GRE(GDI Rendering Engine)(62), 프린터 그래픽 드라이버(63), 프린터 인터페이스 드라이버(64), 스풀러(spooler)(65), 언어 모니터(language monitor)(66), 포트 모니터(port monitor)(67) 등의 서비스를 도시하고 있다. 또, 프린터(69)를 제어하기 위한 프린터 디바이스(device) 드라이버(68)를 도시하고 있다.
이러한 서비스는 커널 모드(kernel mode)(8) 또는 사용자 모드(9)에서 동작하고, 프린터 디바이스 드라이버(68)는 커널 모드(kernel mode)(8)에서 동작한다. GDI32(61)는 32비트 시스템용의 그래픽 디바이스 인터페이스(Graphics Device Interface)의 약어로, 묘화(plotting), 디바이스 컨텍스트(device context), 메타파일(metafile), 좌표(coordinate), 폰트(font) 등의 디바이스(device)로의 출력과 관계되는 인터페이스(interface)를 제공하는 서비스이다.
GRE(62)는 인쇄용의 데이터를 작성하는 서비스이다. 프린터(69)의 기종이나 종류 등의 고유 기능에 관해서는 프린터 그래픽 드라이버(63)를 호출하여 인쇄용의 데이터를 작성한다. 프린터 그래픽 드라이버(63)는 커널 모드(kernel mode)(8)에서 동작하고, 인쇄용의 데이터를 작성하는 드라이버이고, 로(RAW)(후술한다) 데이터의 작성을 한다.
프린터 인터페이스 드라이버(64)는 인쇄용의 데이터를 사용자 모드(9)에서 작성하기 위한 드라이버이다. 프린터 인터페이스 드라이버(64)는 인쇄할 때의 인쇄의 부수, 용지의 종류, 흑백/칼라 인쇄 설정 등의 인쇄에 관한 모든 설정을 하는 기능을 제공한다.
스풀러(65)는 인쇄용의 데이터를 일시적으로 기억 매체에 보존하고, 프린터(69)에의 출력을 관리하는 서비스이다. 언어 모니터(66)는 스풀러(65)로부터의 인쇄용의 데이터를 인쇄 가능한 데이터로 변환하기 위한 서비스를 한다. 또한, 언어 모니터(66)는 프린터(69)로부터의 정보를 해석하기 위한 서비스를 한다. 예를 들면, 언어 모니터(66)는 프린터(69)의 종이 걸림, 토너 떨어짐 등의 정보를 상위 서비스나 사용자에게 제공한다. 포트 모니터(67)는 인쇄하는 포트의 제어 및 감시를 한다.
프린터 디바이스 드라이버(68)는 프린터(69)를 직접 제어하는 디바이스 드라이버이다. 프린터 인터페이스 드라이버(64), GRE(62), 및 언어 모니터(66)는 운영체제(3)로부터 제공되고 있는 표준 기능을 제공한다. 그러나, 프린터(69)는 그 기종 및 종류에 의존한 독자 기능이 있다. 이러한 독자 기능은 메이커가 공급하고 있는 미니(mini) 드라이버 등의 드라이버 프로그램으로 대응한다.
프린터 인터페이스 드라이버(64)는 미니 드라이버를 호출한 상술의 독자 기능을 제공한다. 프린터 그래픽 드라이버(63)는 프린터(69)의 공급 메이커가 제공하는 것이 대부분으로 프린터의(69) 독자적인 기능을 제공할 수 있다. 또, 언어 모니터(66)는 프린터(69)의 기종 및 종류마다 다른 것이 일반적이고 메이커가 공급하고 있다.
인쇄용의 데이터를 메모리 또는 하드디스크 등의 기억 매체에 일시적으로 보존하여(스풀링(spooling) 작업이라고 한다), 프린터(69)가 비어 있을 때, 또는 프린터(69)로부터의 요구에 의해, 이 보존한 인쇄 데이터를 프린터(69)에 보내 인쇄를 한다. 이 작업은 스풀러(65)에 의해 행해진다. Windows에서는 스풀러(65)에 건네지는 스풀링용의 데이터로서 EMF(Enhanced Metafile Format)와 RAW의 2개의 형식이 사용되고 있다.
EMF는 32비트의 Windows 시스템용으로 개발된 프린터용의 포맷이고, 응용 프로그램 등으로 작성 가능하다. 그러나, EMF 데이터를 수신하여 인쇄할 수 있는 것은 EMF 대응의 프린터에 한정된다. EMF 대응하지 않는 프린터의 경우는 데이터를 RAW 데이터로 변환하여 인쇄할 수가 있다. RAW 데이터는 프린터(69)의 기종에 의존하기 때문에 프린터(69)마다 대응하는 드라이버로 작성한다.
〔인쇄의 흐름〕
응용 프로그램(4)으로부터 프린터(69)에 인쇄할 때의 인쇄 데이터의 흐름의 개략을 이하에 설명한다. 응용 프로그램(4)은 GDI32(61)에 대해서 인쇄 요구를 낸다. 응용 프로그램(4)으로부터의 인쇄 요구와 출력 데이터는 운영체제(3)의 사용자 모드에서 동작하는 GDI32(61)에 송신된다. 데이터의 포맷 형식이 EMF의 경우 GDI32(61)는 데이터를 스풀러(65)에 스풀러용 데이터로서 보낸다.
데이터의 포맷 형식이 EMF가 아닌 경우 GDI32(61)는 데이터를 GRE(62)에 건네준다. GRE(62)가 프린터 그래픽 드라이버(63)를 호출하여 데이터로부터 스풀러용 데이터의 작성을 한다. 작성된 스풀러용 데이터는 프린터 인터페이스 드라이버(64)에 보내진다. 프린터 인터페이스 드라이버(64)는 인쇄의 모든 설정을 하여 스풀러(65)에 건네준다.
스풀러(65)는 스풀러용 데이터를 스풀링하여 일시파일(temporary file)을 작성하여 하드디스크에 보존한다. 스풀러(65)는 이 일시파일을 읽어 들이고, 데이터를 언어 모니터(66)에 건네준다. 언어 모니터(66)는 프린터(69)에 적절한 인쇄 가능한 인쇄 데이터를 작성한다. 인쇄 데이터는 포트 모니터(67)를 통해 프린터 디바이스 드라이버(68)에 송신된다.
도 12에 나타내는 플로우차트를 참조하면서 프린터(69)에의 인쇄 순서를 설명한다. 응용 프로그램(4)은 인쇄 요구를 GDI32(61)에 대해서 내고(S300) 인쇄하는 데이터를 송신한다. GDI32(61)는 인쇄 요구와 데이터를 수취하여(S301) 그 데이터를 해석한다(S302). 그리고, GDI32(61)는 데이터의 포맷 형식을 판정하고(S303), 포맷 형식이 EMF(Yes(예) 판정)인 경우는 스풀러(65)에 스풀러용 데이터로서 보낸다(S315→S316).
EMF 형식이 아닌(No(아니오) 판정) 경우는 데이터를 GRE(62)에 건네준다(S304). GRE(62)는 데이터를 수취하고(S305), 프린터 그래픽 드라이버(63)를 호출하여 데이터를 건네준다(S306). 프린터 그래픽 드라이버(63)가 데이터를 수취하고(S307), 스풀러용 데이터의 작성을 한다(S308). 작성된 스풀러용 데이터는 GRE(62)에 건네준다(S309). GRE(62)는 스풀러용 데이터를 수취하고(S310), 이를 프린터 인터페이스 드라이버(64)에 보낸다(S311).
프린터 인터페이스 드라이버(64)는 스풀러용 데이터를 수취하고(S312), 인쇄의 모든 설정을 하고(S313), 스풀러(65)에 송신한다(S314→S316). 스풀러(65)는 스풀러용 데이터를 수취하고(S316), 스풀러용 데이터의 스풀링 처리를 하여 일시파일(temporary file)을 작성하고(S317), 하드디스크에 보존한다(S318). 이 일시파일은 스풀러(65)에 읽혀 들어가고, 언어 모니터(66)에 건네진다(S319). 언어 모니터(66)는 일시파일로부터 인쇄용 데이터를 작성하고(S320), 포트 모니터(67)에 보낸다(S321).
포트 모니터(67)는 인쇄용 데이터를 수신하고(S322), 프린터 디바이스 드라이버(68)에 보내고(S323), 프린터 디바이스 드라이버(68)는 인쇄용 데이터를 최종적으로 프린터(69)에 송신한다(S324). 따라서, 응용 프로그램(4)으로부터 인쇄 요구된 데이터가 인쇄된다. 스풀링 된 데이터는 프린터 디바이스 드라이버(68)에 송신되는 동안에서는 언어 모니터(66)와 포트 모니터(67)의 감시하로 된다.
국제 공개된 WO02/091195호 공보에서는 전자계산기의 디바이스 드라이버간에서의 데이터의 송수신을 커널 모드에서 동작하는 공통의 인터페이스를 개시하고 있다. 이 공통 인터페이스는 보안 등을 위해서 인쇄 이력을 취득, 사용자의 인쇄 작업을 관리하여 제한하는 기술을 제안한 것은 아니다.
한편, 개인 정보의 보호, 비밀 데이터의 관리 등의 보안상에서는 전자계산기로부터 인쇄 장치에 인쇄하는 인쇄 작업, 인쇄되는 데이터의 관리가 중요하다. 그 때문에 인쇄 이력을 취득, 사용자의 인쇄 작업을 제한하는 것이 필요한 경우가 있다. 또, 특정의 파일을 인쇄하려고 할 때, 그 작업을 중단, 또는, 인쇄 데이터를 살짝 바꾸어 인쇄하는 등의 인쇄 제어가 바람직한 것도 있다.
그러나, 전자계산기의 운영체제에 의해 이러한 인쇄 제어를 하는 것은 곤란한 작업이다. 인쇄 데이터는 운영체제의 사용자 모드, 커널 모드의 복수의 서비스, 디바이스 드라이버와 이러한 복잡한 일련의 동작에 의해 인쇄 장치에 보내진다. 이 때문에 인쇄 제어하려고 하는 인쇄 데이터를 적확하게 제어하는 것은 곤란하다. 또, 커널 모드에서 동작하고 있는 드라이버를 제어하는 것은 운영체제의 불안정한 동작을 초래할 수도 있으므로 종래의 인쇄 제어 시스템에서는 이러한 제어는 하지 않는다.
도 1은 본 발명의 제1 실시의 형태의 전자계산기의 인쇄 제어 프로그램의 기능의 개요를 나타내는 개념도이다.
도 2는 제어 조건 데이터베이스의 구성을 나타내는 도이다.
도 3은 스풀링 이벤트의 검출을 나타내는 도이다.
도 4는 공통 인터페이스 드라이버의 동작을 나타내는 도이다.
도 5는 인쇄 제어의 흐름을 나타내는 플로우차트(flowchart)이다.
도 6은 필터의 동작을 나타내는 플로우차트이다.
도 7은 스풀링 이벤트 검출의 다른 예를 나타내는 도이다.
도 8은 본 발명의 제2 실시의 형태의 전자계산기의 인쇄 제어 프로그램의 기능의 개요를 나타내는 개념도이다.
도 9는 로그 파일의 예를 나타내는 도이다
도 10은 인쇄 로그의 취득 동작을 나타내는 플로우차트이다.
도 11은 종래의 인쇄 관련 서비스를 나타내는 개념도이다.
도 12는 종래의 인쇄의 흐름을 나타내는 플로우차트이다.
도 13은 본 발명의 제3 실시의 형태의 전자계산기의 인쇄 제어 프로그램의 기능의 개요를 나타내는 개념도이다.
도 14는 제어 조건 데이터베이스의 구성을 나타내는 도이다.
본 발명은 상술과 같은 기술 배경을 기초로 이루어진 것으로 하기와 같은 목적을 달성한다.
본 발명의 목적은, 전자계산기로부터 인쇄 장치에 액세스 하고, 데이터를 인쇄할 때, 인쇄의 정지, 중단, 인쇄 데이터의 갈아 바꿈(replacement) 등의 인쇄 제어를 하는 인쇄 제어 프로그램을 격납한 전자계산기, 그 프로그램 및 프로그램의 기록 매체를 제공한다.
본 발명의 다른 목적은, 전자계산기로부터 인쇄 장치에의 액세스를 커널 모드에서 제어하는 인쇄 제어 프로그램을 격납한 전자계산기, 그 프로그램 및 프로그램의 기록 매체를 제공한다.
본 발명의 또 다른 목적은, 전자계산기로부터 인쇄 장치에 액세스 한 액세스 로그를 커널 모드에서 취득하는 인쇄 제어 프로그램을 격납한 전자계산기, 그 프로그램 및 프로그램의 기록 매체를 제공한다.
본 발명의 또 다른 목적은, 전자계산기로부터 인쇄 장치에 액세스 한 액세스 로그를 네트워크에 전송하는 인쇄 제어 프로그램을 격납한 전자계산기, 그 프로그램 및 프로그램의 기록 매체를 제공한다.
본 발명의 또 다른 목적은, 전자계산기로부터 인쇄 장치에 특정의 액세스를 하였을 때 소정 조건으로 제어하는 인쇄 제어 프로그램을 격납한 전자계산기, 그 프로그램 및 프로그램의 기록 매체를 제공한다.
본 발명의 인쇄 제어 프로그램을 격납한 전자계산기, 그 프로그램 및 프로그램의 기록 매체는 다음의 이점을 가진다.
본 발명은 응용 프로그램으로부터 인쇄되는 데이터, 인쇄 요구를 하고 있는 응용 프로그램, 및 사용자를 적확하게 파악할 수가 있고, 이 파악한 내용에 의해 인쇄의 정지, 중단, 인쇄 데이터의 갈아 바꿈, 인쇄 가능한 기간의 지정 등의 유연한 조건으로 인쇄 제어를 할 수가 있다.
본 발명은 전자계산기로부터 인쇄 장치에의 액세스 제어를 전자계산기의 운영체제의 동작 모드인 커널 모드에서 한다. 이 액세스 제어는 데이터베이스를 이용하여 제어하기 때문에 파일에의 액세스를 제어하는 것이 자유롭게 되고, 데이터베이스를 변경하는 것만으로 소정의 제어가 가능하게 된다.
본 발명은 응용 프로그램과 디바이스 드라이버와의 공통의 인터페이스를 이용하고, 이 인터페이스 드라이버의 프로그램을 이용하여 인쇄 출력을 제어하므로, 데이터의 비밀성이 보호되고, 한편 데이터의 안전 전송을 도모할 수가 있다.
즉, 본 발명의 제1 발명의 인쇄 제어 프로그램을 격납한 전자계산기는, 운영체제에 의해 동작하고 있는 전자계산기로부터 인쇄 장치(69)에 인쇄 데이터의 출력을 할 때, 상기 운영체제 상에서 동작하고 있는 응용 프로그램(4)으로부터 상기 인쇄 장치(69)에 인쇄를 하기 위해서 내려지는 인쇄 요구와 출력 데이터를 검출하기 위한 검출 수단(43)과, 상기 출력 데이터를 가공하여 상기 인쇄 데이터를 작성하고, 작성된 상기 인쇄 데이터를 일시적으로 기억 매체에 보존하고, 상기 인쇄 장치(69)에 출력하기 위한 스풀러(65)와, 상기 응용 프로그램(4)으로부터 상기 인쇄 장치(69)에 인쇄하기 위해서 출력되는 상기 출력 데이터를 제어하는 제어 수단(7, 41)을 포함하는 인쇄 제어 프로그램을 가지고,
상기 제어 수단(7, 41)은, 상기 운영체제의 모든 명령을 실행할 수 있는 커널 모드에서 동작하고, 한편 복수의 디바이스 드라이버간에 데이터의 송수신을 행하기 위한 공통 인터페이스 드라이버(7)와, 상기 운영체제의 사용자 모드에서 동작하고, 상기 운영체제의 이벤트(event)를 감시하기 위한 감시부(43)와, 상기 운영체제의 모든 명령을 실행할 수 있는 커널 모드에서 동작하고, 상기 인쇄 장치(69)를 제어하는 프린터 디바이스 드라이버(68)의 업스트림(upstream)에 삽입되고, 상기 스풀러(65)로부터 상기 인쇄 장치(69)에 보내어지는 상기 인쇄 데이터를 제어하기 위한 필터(41)를 포함하고,
상기 공통 인터페이스 드라이버(7)는,
상기 응용 프로그램과의 인터페이스인 어플리케이션 인터페이스부(application interface part)(17)와,
상기 인쇄 데이터를 제어하는 제어 조건을 확인하고, 제어용의 명령을 상기 필터(41)에 송신하는 프린터 출력 감시 드라이버부(42)와,
기억장치에 액세스 하여 상기 제어 조건을 취득하고, 상기 프린터 출력 감시 드라이버부(42)에 건네주는 데이터 입출력부(20, 30)를 포함하고,
상기 감시부(43)는, 상기 스풀러(65)가 동작하는 경우에 발생하는 이벤트로 상기 인쇄 요구를 검출하고, 검출한 상기 인쇄 요구를 상기 어플리케이션 인터페이스부(application interface part)(17)를 개재(介在)하여 상기 프린터 출력 감시 드라이버부(42)에 건네주고,
상기 프린터 출력 감시 드라이버부(42)는, 상기 인쇄 요구를 수취하고, 상기 인쇄 요구에 대한 제어 명령을 상기 필터(41)에 송신하고, 한편
상기 필터(41)는, 상기 제어 명령에 따라 상기 인쇄 데이터를 미리 정해진 상기 제어 조건으로 제어하는 것을 특징으로 한다.
본 발명의 제2 발명의 인쇄 제어 프로그램을 격납한 전자계산기는, 상기 감시부(43)는, 상기 스풀러(65)가 동작하는 경우에 발생하는 이벤트로 상기 인쇄 요구를 검출하고, 검출한 상기 인쇄 요구를 상기 어플리케이션 인터페이스부(application interface part)(17)를 개재(介在)하여 상기 프린터 출력 감시 드라이버부(42)에 건네주고, 상기 프린터 출력 감시 드라이버부(42)는, 상기 인쇄 요구를 수취하고, 상기 스풀러(65)에 의해 작성되고, 보존된 스풀러 일시파일을 상기 제어 조건에 의해 제어하는 것을 특징으로 한다.
본 발명의 제3 발명의 인쇄 제어 프로그램을 격납한 전자계산기는, 상기 제어 수단(7, 41)은, 제2 프린터 출력 감시 드라이버부(48)를 포함하고, 상기 출력 데이터가 상기 스풀러(65)에 건네질 때, 상기 제 2 프린터 출력 감시 드라이버부(48)를 개재(介在)하고, 상기 제 2 프린터 출력 감시 드라이버부(48)는, 상기 프린터 출력 감시 드라이버부(42)로부터 상기 제어 조건, 상기 제어 명령을 수취하고, 상기 인쇄 데이터의 제어를 하는 것을 특징으로 한다.
본 발명의 제4 발명의 인쇄 제어 프로그램을 격납한 전자계산기는, 상기 제 2 프린터 출력 감시 드라이버부(48)는, 상기 출력 데이터가 상기 스풀러(65)에 보내어질 때 상기 인쇄 요구를 검출하고, 검출한 상기 인쇄 요구를 상기 어플리케이션 인터페이스부(application interface part)(17)를 개재(介在)하여 상기 프린터 출력 감시 드라이버부(42)에 건네주고, 상기 프린터 출력 감시 드라이버부(42)는, 상기 인쇄 요구를 수취하고, 상기 인쇄 요구에 대한 제어 명령을 상기 필터(41)에 송신하고, 상기 필터(41)는, 상기 제어 명령에 따라 상기 인쇄 데이터를 미리 결정된 제어 조건으로 제어하는 것을 특징으로 한다.
상기 제어 조건은, 상기 데이터 출력의 정지, 상기 데이터 출력의 출력 속도의 변경, 및 상기 데이터 출력의 일부의 반복 출력 중에서 선택되는 하나 이상이면 좋다.
또, 상기 제어 조건은, 상기 스풀러 일시파일의 속성의 변경, 상기 스풀러 일시파일의 내용의 변경, 및 상기 스풀러 일시파일의 내용을 삭제하고 빈 파일로 하는 제어 중에서 선택되는 하나 이상이면 좋다.
또한, 상기 제어 조건은, 인쇄 제어를 대상으로 하는 파일, 인쇄할 수 있는 기간을 나타내는 인쇄 기간, 상기 파일을 인쇄할 수 없는 응용 프로그램, 사용자, 제어의 종류의 어느 하나 또는 조합이면 좋다.
또한, 상기 검출 수단은, 상기 이벤트가 발생하면 상기 이벤트와 연동하여 훅(hook) 프로그램을 동작시키는 단계로 이루어지고, 상기 훅 프로그램은, 상기 이벤트 발생을 제어 수단에 통지하는 송신 단계를 가지면 좋다.
상기 제어 수단은, 상기 인쇄 제어를 한 로그를 취득하여 로그 데이터베이스에 보존하는 기능을 구비하고, 상기 로그 데이터베이스는, 인쇄를 한 사용자를 나타내는 사용자의 칼럼(column), 인쇄를 한 파일을 나타내는 인쇄 파일명의 칼럼, 인쇄를 한 응용 프로그램을 나타내는 응용 프로그램의 칼럼, 인쇄를 한 인쇄 장치를 나타내는 프린터의 칼럼, 인쇄를 한 조건 설정을 나타내는 인쇄 조건의 칼럼, 인쇄를 한 일시를 나타내는 일시의 칼럼, 인쇄 제어를 한 인쇄 제어의 칼럼으로 구성되어 있으면 좋다.
상기 본 발명 1 내지 4의 인쇄 제어 프로그램을 격납한 전자계산기였지만, 본 발명은 상기 인쇄 제어 프로그램 또는 상기 인쇄 제어 프로그램을 기록한 매체를 포함하는 것이어도 좋다.
다음에, 본 발명의 실시의 형태를 설명한다. 도 1은 본 발명의 제1 실시의 형태의 전자계산기의 인쇄 제어 프로그램의 기능을 나타내는 개념도를 도시하고 있다.
공통 인터페이스 드라이버(7)는 커널 모드(kernel mode)(8)에서 동작하는 드라이버이다. 공통 인터페이스 드라이버(7)는 응용 프로그램(4) 등의 사용자 모드(9)에서 동작하는 프로그램이나 서비스에 대해서, 커널 모드(kernel mode)(8)에서 동작하는 드라이버에의 공통의 인터페이스를 제공하기 위한 것이다. 또, 이것은 커널 모드(kernel mode)(8)에서 동작하는 드라이버간에 데이터의 송수신을 할 수 있는 공통의 인터페이스를 제공하는 기능도 완수한다. 이 공통 인터페이스에 대해서는, 본 발명자 등이 제안한 것이고, 국제 공개 WO02/091195호 공보 등에서 공지이고, 한편 본 발명의 요지도 아니기 때문에 그 상세한 설명에 대해서는 생략한다.
공통 인터페이스 드라이버(7)는, 어플리케이션 인터페이스부(17), 흐름 제어부(flow control part)(25), 데이터 처리부(19), TDI 클라이언트 드라이버부(TDI Client Driver Part)(20), 액세스 데이터 관리부(30), 프린터 출력 감시 드라이버부(42) 등으로 구성되고, 각 부분의 기능은 다음과 같다.
어플리케이션 인터페이스부(17)는 응용 프로그램(4)과 공통 인터페이스 드라이버(7) 사이의 인터페이스이다. 어플리케이션 인터페이스부(17)는 응용 프로그램(4)으로부터의 파일 액세스 요구 등의 명령(command)을 수취하고, 그 명령의 실행 결과, 또는 흐름 제어부(25)로부터 수신한 그 외의 데이터를 응용 프로그램(4)으로 송신하기 위한 것이다. 데이터 처리부(19)는 액세스 데이터 관리부(30), TDI 클라이언트 드라이버부(20)에의 입출력을 행하기 위한 것이다.
TDI 클라이언트 드라이버부(20)는 네트워크 드라이버(21)와 공통 인터페이스 드라이버(7)의 인터페이스이다. 네트워크 드라이버(21)는 프로토콜(protocol) 드라이버(22)와 NDIS(Network Driver Interface Specification) 드라이버(23)로 구성되고, 네트워크 카드(card)(16)를 제어하고, 네트워크(26)에 데이터를 전송할 때의 접속의 확립과 프로토콜의 제어를 한다.
프로토콜 드라이버(22)는 네트워크(26)로 데이터를 전송할 때의 통신 프로토콜을 제어하는 것이다. NDIS 드라이버(23)는 프로토콜 드라이버(22)와 네트워크 카드(16)의 인터페이스를 제공하는 것이다. TDI 클라이언트 드라이버부(20)는 패킷화 된 데이터를 데이터 처리부(19)로부터 수취하여 프로토콜 드라이버(22)로 출력한다.
흐름 제어부(25)는 어플리케이션 인터페이스부(17)를 개재하여 수취한 응용 프로그램(4)으로부터의 명령 등을 해석하여, 데이터 처리부(19), 프린터 출력 감시 드라이버부(42) 등에 지시를 내려 제어하기 위한 것이다. 데이터베이스(35)는 하드디스크 등의 보조기억장치에 격납된다. 데이터베이스(35)에는 사용자의 파일에 관한 정보가 격납되어 있다. 액세스 데이터 관리부(30)는 데이터베이스(35)를 참조, 등록, 및 제어하고 관리하기 위한 것이다.
공통 인터페이스 드라이버(7)는 프린터 출력 감시 드라이버부(42) 등을 포함하는 것이다. 프린터 출력 감시 드라이버부(42)는 프린터(69)에의 데이터의 출력을 감시하고, 필요에 따라서 프린터(69)에의 출력을 제어하는 것이다. 프린터 출력 감시 드라이버부(42)는 후술하듯이 프린터(69)에의 프린터 출력의 로그를 취득하고, 한편 공통 인터페이스 드라이버(7)의 다른 각 기능부(19, 20, 30, 25) 등을 개재(介在)하여, 프린터 출력의 로그를 전자계산기(1)의 하드디스크에 보존, 또는 네트워크 카드(16), 네트워크(26)를 개재(介在)하여 다른 전자계산기에 송신하여 보존할 수가 있다.
프린터 출력 감시 드라이버부(42)는 데이터베이스(35)에 미리 설정되어 있는 제어 조건에 의해 프린터(69)에의 출력을 제어한다. 예를 들면, 사용자가 특정의 파일을 인쇄하려고 할 때, 그 작업을 제한, 중단, 정지시킨다. 혹은, 사용자가 인쇄하려고 하는 인쇄 데이터를 갈아 바꾸어 다른 것을 인쇄한다. 또한, 프린터(69)에의 인쇄를 매우 늦게 하는 제어도 가능하다.
물론, 이러한 제어에 관해서 관리자 또는 관리 서버에의 통지를 할 수가 있다. 관리 서버(도시하지 않음)로부터는 네트워크(26)를 개재(介在)하여 전자계산기(1)에 액세스 하고, 데이터베이스(35)의 내용을 변경함으로써 프린터(69)에의 제어를 변경 또는 중단/재개하는 것도 가능하다. 관리 서버는 흐름 제어부(25)에 명령을 보내고, 흐름 제어부(25)는 그 명령에 따라 프린터 출력 감시 드라이버부(42)에 지시를 내리고, 프린터(69)에의 출력을 제어하는 것도 할 수 있다.
데이터 처리부(19)는 흐름 제어부(25)와 프린터 출력 감시 드라이버부(42)와의 정보를 기초로 인쇄의 로그를 작성하고, 데이터베이스(35)로 보존하는 기능을 가진다. 또, 이 로그를 TDI 클라이언트 드라이버부(20)에 보내고, 네트워크(26)에 접속되어 있는 다른 전자계산기에 송신한다.
사용자 모드(9)에서는 인터페이스부(43)가 설치되어 있고, 주로 사용자 모드(9)에서 동작하는 운영체제(3)의 서비스, 응용 프로그램(4)과의 인터페이스를 제공한다. 인터페이스부(43)에는 응용 프로그램(4)의 동작 상황을 감시하고 인터페이스를 제공하기 위한 어플리케이션 감시부(44), 스풀러(65) 등의 인쇄 관련의 서비스를 감시하기 위한 인쇄 감시부(45)가 있다.
스풀러(65)로부터 공통 인터페이스 드라이버(7)에의 정보는 이 인쇄 감시부(45)를 통해 행해진다. 공통 인터페이스 드라이버(7)는 응용 프로그램(4) 등과 직접 데이터의 송수신을 할 수가 있다.
데이터베이스(35)에는 파일과 그에 대한 제어의 데이터를 가지는 제어 조건 데이터베이스(36)가 있다. 제어 조건 데이터베이스(36)는 도 2에 도시한 것 같은 테이블(100)로 이루어진다. 테이블(100)은 파일을 인쇄하는 경우에 어떠한 제한을 할지 등의 제어 조건을 나타내는 테이블이다. 테이블(100)은 「파일명」(101)의 칼럼과 「제어의 종류」(102)의 칼럼으로 이루어져 있다. 「파일명」(101)의 칼럼은 제어 대상의 파일의 일람이다.
「제어의 종류」(102)의 칼럼은 「파일명」(101)의 칼럼에 나타내는 각 파일에 대해서 미리 설정하는 제어의 종류이다. 제어는 프린터 출력 감시 드라이버부(42)로부터 필터(41)에 내려지는 명령으로서 행해진다. 예를 들면, 이 제어의 종류는, 「인쇄 정지」(103), 「부하」(104), 「백지 인쇄」(105), 「워터마크(watermark)」(106), 「인쇄 완료 통지」(107), 「기입 성공」(108), 「스풀러 독출 불가」(109)의 칼럼으로 이루어진다. 「인쇄 정지」(103)는 대상 파일의 인쇄를 정지하는 제어이고, 프린터 출력 감시 드라이버부(42)는 필터(41)에 대해서 프린터(69)에 인쇄 데이터를 출력하지 않게 하는 명령을 내린다.
「부하」(104)는 대상 파일의 인쇄 작업을 늦게 하는, 즉 부하를 거는 제어이고, 프린터 출력 감시 드라이버부(42)는 필터(41)에 대해서 프린터(69)에 인쇄 데이터를 시간적으로 늦게 출력하도록 하는 명령을 내린다. 「백지 인쇄」(105)는 대상 파일의 인쇄 대신에 완전 백지 페이지를 인쇄하는 제어이고, 프린터 출력 감시 드라이버부(42)는 필터(41)에 대해서 프린터(69)에 인쇄 데이터를 삭제하고, 그 대신에 백지를 인쇄하는 데이터를 출력하도록 하는 명령을 내린다.
「워터마크(watermark)」(106)은 대상 파일의 인쇄에는 특수의 글자 또는 문장을 덧쓰기 하는 워터마크(watermark)를 인쇄하는 제어이고, 프린터 출력 감시 드라이버부(42)는 필터(41)에 대해서 프린터(69)에의 인쇄 데이터에 워터마크(watermark)를 부하하여 출력하도록 하는 명령을 내린다. 「인쇄 완료 통지」(107)는 대상 파일을 인쇄하는 경우에, 프린터 디바이스 드라이버(68)로부터 프린터(69)에의 인쇄가 완료한 것처럼 가장하여 통지하는 제어이다. 이 제어시 프린터 출력 감시 드라이버부(42)는 필터(41)에 대해서 그 완료의 메시지(message)를 송신하도록 하는 명령을 내린다.
「기입 성공」(108)은 스풀러(65)가 일시파일(temporary file)을 작성하여 하드디스크에 기입할 때의 제어이고, 스풀러(65)에 기입이 성공이다라는 취지의 통지를 하는 것이다. 이 때는 작성된 일시파일의 내용을 삭제하여 빈 파일로 한다. 「스풀러 독출 불가」(109)의 경우는 스풀러(65)가 작성한 일시파일의 속성을 변경하여 스풀러(65)가 재차 읽어 들일 수 없게 하여 인쇄를 정지시키는 제어이다.
(인쇄 제어의 방법)
프린터(69)에의 출력을 제어하기 위해서는 응용 프로그램(4) 등으로부터 내려지는 인쇄 요구의 출력을 검출한다. 인쇄 요구를 검출하면 응용 프로그램(4)으로부터 프린터(69)에 보내어지는 인쇄 데이터를 제어한다. 인쇄 요구의 검출은 스풀러(65)가 일시파일을 작성하는 기능을 이용하고 있다. 인쇄 작업 또는 인쇄 데이터를 제어하는 인쇄 제어는 커널 모드(kernel mode)(8)에서 동작하는 프린터 디바이스 드라이버(68)에 인쇄 데이터를 송신하는 기능, 스풀링, 인쇄 장치에의 액세스의 어느 하나를 제어하고 있다.
스풀링 된 인쇄용 데이터는 언어 모니터(66)와 포트 모니터(67)를 통해 프린터 디바이스 드라이버(68)에 송신된다. 포트 모니터(67)는 프린터(69)에 출력하는 포트를 모니터링(monitoring) 하고, 프린터(69)가 비어 있을 때 인쇄 데이터를 프린터 디바이스 드라이버(68)에 송신한다. 프린터 디바이스 드라이버(68)는 실제로 하드웨어를 제어하기 위한 드라이버이고 프린터(69)를 직접 제어하여 인쇄 처리를 한다.
(인쇄 요구의 검출)
도 3을 참조하여 인쇄 요구의 검출을 설명한다. 스풀러(65)는 GDI32(61) 또는 프린터 인터페이스 드라이버(64)로부터 보내져 오는 스풀러용 데이터를 수신한다. 그리고, 스풀러(65)는 스풀링을 개시하면 스풀링 이벤트가 발생한다. 이벤트는 하드웨어 또는 소프트웨어의 동작 상태가 변화하는 경우에, 그 변화를 다른 하드웨어 또는 소프트웨어에 통지하는 것이다. 스풀링 이벤트는 스풀링을 하고 있는 것을 나타낸다.
스풀링 이벤트는 운영체제(3)의 이벤트 관리에 등록되어 있어 스풀링 이벤트가 발생하면 스풀링 이벤트에 관련되어 등록되어 있는 훅 프로그램(71)이 동작을 개시한다. 훅 프로그램(71)은 스풀링 프로그램에 인터럽트(interrupt)를 걸어 훅 프로그램(73)을 동작시킨다.
훅 프로그램(73)이 개시되고(S1), 인쇄 이벤트 발생한 것을 공통 인터페이스 드라이버(7)에 통지한다(S2). 그리고, 공통 인터페이스 드라이버(7)로부터의 응답을 기다려 대기한다(S3). 공통 인터페이스 드라이버(7)로부터 응답의 통지를 수취하면 훅 프로그램(73)이 종료하고(S4, S5), 스풀링 프로그램의 프로그램 본체(72)가 개시된다.
따라서, 스풀링용 데이터의 스풀링이 계속하여 행해진다. 이 스풀링(spooling) 작업은 종래 기술에서 자세하게 설명하고 있기 때문에 생략한다.
(인쇄 제어의 순서)
다음에, 인쇄시의 인쇄 제어의 순서를 도 4의 플로우차트를 참조하여 설명한다. 인쇄 감시부(45)가 모든 스풀링 이벤트를 감시하고 있다. 인쇄 감시부(45)는 스풀링 이벤트가 발생하면, 인쇄 요구를 한 응용 프로그램(4)과 관련지어 「스풀링 이벤트의 통지」를 작성한다. 「스풀링 이벤트의 통지」는 어플리케이션 인터페이스부(17)에 보내져 온다.
어플리케이션 인터페이스부(17)는 「스풀링 이벤트의 통지」를 수신하고(S50), 흐름 제어부(25)에 보낸다(S51). 흐름 제어부(25)는 어플리케이션 인터페이스부(17)로부터의 「스풀링 이벤트의 통지」를 수신하고(S52), 해석한다(S53). 데이터를 데이터 처리부(19)에 송신한다(S54).
데이터 처리부(19)는 데이터를 수신한다(S55). 데이터 처리부(19)는 데이터베이스(35)에 등록되어 있는 제어 조건 데이터베이스(36)를 참조하고(S56), 인쇄하려고 하고 있는 파일명에 관련된 테이블(100)로부터 제어 조건을 참조하고, 「파일명」(101)에 대한 제어 조건을 취득한다(S57). 데이터 처리부(19)는 데이터베이스(35)에의 액세스 데이터 관리부(30)를 개재(介在)하여 액세스 하지만 설명에서는 생략하고 있다.
취득한 「파일명」(101)과 제어 조건을 프린터 출력 감시 드라이버부(42)로 송신한다(S58). 예를 들면, 도 2의 테이블(100)을 참조하여 「파일명」(101) 칼럼의 「파일 1」을 인쇄하려고 할 때는, 데이터 처리부(19)는 「인쇄 정지」의 제어 조건을 취득하고, 「파일 1」, 「인쇄 정지」를 프린터 출력 감시 드라이버부(42)로 송신한다.
프린터 출력 감시 드라이버부(42)는, 파일명과 제어 조건을 수취하고(S59), 프린터 디바이스 드라이버(68)와 포트 모니터(67)의 중간에 마련하고 있는 필터(41)에 제어 조건을 송신한다(S60). 그리고, 「명령 출력 완료」의 통지를 흐름 제어부(25)에 송신한다(S61).
흐름 제어부(25)는 「명령 출력 완료」를 수신하고(S62), 어플리케이션 인터페이스부(17)에 「스풀링 이벤트 수신 완료」를 송신한다(S63). 어플리케이션 인터페이스부(17)는 「스풀링 이벤트 수신 완료」를 수신하고(S64), 훅 프로그램(73)에 「스풀링 이벤트 수신 완료」를 통지한다(S65). 따라서, 일련의 인쇄 제어의 조건 설정이 종료한다.
(인쇄 제어의 흐름 1)
도 5는 인쇄 제어의 흐름의 일례를 나타내는 플로우차트이고, 인쇄하지 않고 의사 신호인 「인쇄 완료」신호를 송신하여 실제의 인쇄를 하지 않는 제어의 예이다. 스풀러(65)가 스풀러용 데이터를 수신하고(S81), 일시파일을 작성하고(S82), 하드디스크에 보존한다. 스풀러(65)가 이 일시파일을 재차 읽어 들이고, 프린터(69)에 대응하는 언어 모니터(66)에 건네준다(S83). 언어 모니터(66)는 인쇄용 데이터를 작성하고(S84), 포트 모니터(67)에 건네준다(S85). 포트 모니터(67)는 필터(41)에 인쇄용 데이터를 송신한다(S86).
필터(41)는 인쇄용 데이터를 수취하고, 「인쇄 완료」를 답신한다(S87). 포트 모니터(67)는 「인쇄 완료」를 수취하고, 「인쇄 완료」를 언어 모니터(66)에 송신한다(S88). 언어 모니터(66)는 「인쇄 완료」를 수신하고, 스풀러(65)에 「인쇄 완료」를 송신한다(S89). 스풀러(65)는 「인쇄 완료」를 수신하고, 「인쇄 완료」를 응용 프로그램(4)에 송신한다(S90).
(필터(41)의 동작)
도 6은 전술한 「인쇄 완료」제어의 경우의 필터(41)의 동작을 나타내는 플로우차트이다. 프린터 출력 감시 드라이버부(42)가 필터(41)에 제어 조건을 송신한다(S60→S101). 필터(41)가 제어 조건을 수신하고(S102), 대기한다(S103). 필터(41)는 프린터 출력 감시 드라이버부(42)로부터 명령, 또는 포트 모니터(67)로부터 인쇄 데이터가 송신되어 올 때가지 대기한다. 필터(41)가 포트 모니터(67)로부터 인쇄 데이터를 수신한다(S104).
필터(41)가 인쇄 데이터를 수신 완료하면 「인쇄 완료」를 포트 모니터(67)에 답신한다(S105→S87). 이 인쇄 데이터의 제어 조건을 판정한다(S106). 인쇄 데이터는 제어 조건에 맞는(Yes(예) 판정) 경우는 제어 조건을 실행한다(S107). 인쇄 데이터는 제어 조건에 맞지 않는(No(아니오) 판정) 경우는 인쇄 데이터를 프린터 디바이스 드라이버(68)에 송신한다(S108). 제어 조건에 맞지 않는(No(아니오) 판정) 인쇄 데이터는 제어하지 않는 데이터이기 때문에 프린터 디바이스 드라이버(68)에 송신되어 평상시와 같이 인쇄된다.
인쇄 데이터의 제어의 결과를 프린터 출력 감시 드라이버부(42)에 통지한다(S109). 상기 예의 「파일 1」을 「인쇄 정지」하는 경우는 필터(41)는 사전에 프린터 출력 감시 드라이버부(42)로부터 「인쇄 정지」의 명령을 수취하고 있기 때문에 인쇄용 데이터를 삭제한다. 인쇄의 제어의 일종인 「인쇄 정지」(103)의 일련의 제어이다.
마찬가지로 「부하」(104), 「백지 인쇄」(105), 「워터마크(watermark)」(106), 「인쇄 완료 통지」(107) 등의 제어는 필터(41)로 제어를 하는 것이다. 「부하」(104)는 인쇄용 데이터를 삭제하는 대신에 프린터 디바이스 드라이버(68)에 매우 늦은 속도로 보냄으로써 달성할 수 있다. 또는, 인쇄하려고 하는 데이터의 일부를 반복하여 프린터 디바이스 드라이버(68)에 송신한다. 「백지 인쇄」(105)는 인쇄용 데이터를 삭제하여 프린터 디바이스 드라이버(68)에 백지의 페이지를 인쇄하는 명령을 출력한다. 「워터마크(watermark)」(106)은 인쇄용 데이터 상에 워터마크(watermark)를 붙여 그 데이터를 프린터 디바이스 드라이버(68)에 송신한다.
(인쇄 제어의 흐름 2)
다음에, 필터(68)가 아니고 스풀러(65)의 기능을 이용하여 인쇄 제어를 하는 예를 설명한다. 프린터 출력 감시 드라이버부(42)는 「스풀러 독출 불가」(109)의 인쇄 제어의 명령을 수취하여 스풀러(65)가 작성하는 일시파일의 감시를 시작한다. 이 감시는 일정한 시간마다 일시파일의 기입 정보를 수취하고, 기입이 종료했는지를 감시한다. 일시파일의 기입이 종료하면, 스풀러(65)가 이 일시파일을 읽어 들일 수 없게 파일의 속성을 고쳐 쓴다.
따라서, 스풀러(65)는 계속하여 일시파일을 읽어 들여 언어 모니터(66)에 건네주고, 인쇄를 계속할 수가 없게 된다. 또, 「기입 성공」(108)의 경우 프린터 출력 감시 드라이버부(42)는 스풀러(65)가 하드디스크에 기입한 일시파일을 삭제하고, 동일 파일명의 빈 파일을 작성해 둔다. 이때 스풀러(65)로부터 보면 일시파일의 작성이 성공한 것처럼 보이고, 통상시와 같이 다음의 처리로 이행한다. 최종적으로는 빈 파일이 인쇄되기 때문에 본래의 인쇄 데이터가 인쇄되지 않는다.
이상 설명한 인쇄의 제어는 스풀러(65) 또는 프린터 디바이스 드라이버(68)에의 출력의 기능을 이용하여 행하고 있지만 이것에만 한정하는 것은 아니다. 언어 모니터(66), 프린터 인터페이스 드라이버(64), 프린터 그래픽 드라이버(63)의 기능을 이용하여도 좋다. 또, GDI32(61)로부터 GRE(62)에 데이터를 건네줄 때, 그 중간에 필터를 작성하여 인쇄 제어를 해도 좋다.
(인쇄 제어의 다른 예)
도 3에 나타낸 스풀러(65)의 인쇄 요구의 검출은 도 7에 도시한 것 같은 순서이어도 좋다. 스풀러(65)는 GDI32(61) 또는 프린터 인터페이스 드라이버(64)로부터 보내져 오는 스풀러용 데이터를 수신한다. 스풀러(65)가 스풀링을 개시하면 스풀링 이벤트가 발생한다. 스풀링 이벤트가 발생하면 스풀링 이벤트에 관련되어 등록되어 있는 훅 프로그램(71)이 동작을 개시한다. 훅 프로그램(71)은 스풀링 프로그램에 인터럽트(interrupt)를 걸어 훅 프로그램(73)을 동작시킨다.
훅 프로그램(73)이 개시되고(S11), 인쇄 이벤트가 발생한 것을 공통 인터페이스 드라이버(7)에 통지한다(S12). 공통 인터페이스 드라이버(7)에 통지하여, 훅 프로그램(73)이 종료하고(S13), 스풀링 프로그램으로 돌아오고, 프로그램 본체(72)가 개시된다. 따라서, 스풀러(65)에 의한 스풀링용 데이터의 스풀링이 계속하여 행해진다.
(제2 실시의 형태)
본 발명의 제2 실시의 형태의 인쇄 제어 프로그램은 프린터에의 출력한 로그를 취득하여 하드디스크 등에 보관한다. 도 8은 제2 실시의 형태의 인쇄 제어 프로그램의 기능의 개요를 나타내는 도이다. 프린터(69)에 액세스 하여 인쇄하는 경우에 이 인쇄에 관련된 취득 가능한 정보로서 인쇄한 사용자, 인쇄한 파일명, 인쇄 요구한 어플리케이션(application), 프린터, 인쇄 조건, 인쇄한 일시 등이 있다. 이 인쇄 조건은 파일을 인쇄할 때 설정하는 용지 크기, 인쇄 방향, 인쇄 부수, 색설정(흑백/칼라 인쇄), 화질, 할당 설정, 페이지 지정 등의 정보이다.
인쇄하는 경우에 이러한 정보를 취득하여 로그 파일로서 보존할 수가 있다. 도 9에는 로그 파일의 예를 도시하고 있다. 로그 파일은 「사용자」(111), 「인쇄 파일명」(112), 「어플리케이션」(113), 「프린터」(114), 「인쇄 조건」(115), 「일시」(116), 「제어의 종류」(117)의 칼럼으로 이루어지는 테이블(110)로 되어 있다. 「사용자」(111)의 칼럼은 인쇄를 한 사용자를 나타내는 것으로, 인쇄하였을 때의 전자계산기(1)를 이용하고 있는 사용자명이다.
「인쇄 파일명」(112)은 인쇄한 파일의 명칭이다. 「어플리케이션」(113)은 인쇄를 한 응용 프로그램(4) 또는 서비스의 명칭이다. 「프린터」(114)는 인쇄한 프린터의 이름이다. 「인쇄 조건」(115)은 파일을 인쇄하는 경우에 설정한 인쇄 조건(전술한)이다. 「일시」(116)는 인쇄한 일시이고, 예를 들면 「2002년 11월 1일 10시 45분 05초」로 표시한다.
「제어의 종류」(117)는 파일을 인쇄하였을 때의 제어를 나타내는 칼럼이다. 「제어의 종류」(117)는 도 2에 도시한 테이블(100)에서의 「제어의 종류」(102)이다. 로그 파일은 공통 인터페이스 드라이버(7)로 정보를 취득하여 전자계산기(1)의 하드디스크 등에 보존된다. 데이터베이스로 되어 보존되어도 좋다. 또, 네트워크(26)에 접속되어 있는 다른 전자계산기 등의 기억장치에 보존되어도 좋다.
도 10은 로그 파일을 취득하는 순서의 예를 나타내는 플로우차트이고, 인쇄할 때의 로그를 취득하는 순서를 설명한다. 인쇄 요구는 제1 실시의 형태로 나타내는 순서와 마찬가지이고, 데이터 처리부(19)가 제어 조건을 취득하고 나서 로그 파일을 작성할 때까지의 순서를 설명한다. 데이터 처리부(19)가 제어 조건을 취득하여(S57→S71), 인쇄의 로그의 작성을 한다(S72).
로그에는 도 9에 나타내는 것 같은 테이블(110)의 정보가 있다. 작성한 로그를 액세스 데이터 관리부(30)에 송신한다(S73). 액세스 데이터 관리부(30)는 로그를 수신한다(S74). 액세스 데이터 관리부(30)가 하드디스크 상의 데이터베이스(35)에 액세스 하여, 인쇄 로그 데이터베이스(46)에 로그를 추가한다(S75).
(제3 실시의 형태)
도 13은 본 발명의 제3 실시의 형태의 인쇄 제어 프로그램의 기능의 개념을 도시하고 있는 도이다. 제3 실시의 형태의 인쇄 제어 프로그램은 GDI32(61)와 스풀러(65)의 사이에 제2 프린터 출력 감시 드라이버부(48)를 개재시키고 있는 점에서 전술한 제1 및 제2 실시의 형태와 다르다. 제2 프린터 출력 감시 드라이버부(48)는 GDI32(61)로부터 출력되는 데이터를 감시하여 제어하는 기능을 가진다. 제3 실시의 형태의 것은 제1 실시의 형태, 제2 실시의 형태의 것과는 인쇄를 제어하여 이력을 남기는 기본적인 기능은 마찬가지이고, 이하에 상위하는 부분만을 설명한다.
제2 프린터 출력 감시 드라이버부(48)는 흐름 제어부(25), 프린터 출력 감시 드라이버부(42)와 직접적으로 서로 연락을 하고 있다. 프린터 출력 감시 드라이버부(42)는 지정된 조건 설정에 의해 인쇄 제어를 한다. 이 조건 설정은 인쇄할 수 있을 시간의 지정, 인쇄하는 어플리케이션의 지정, 사용자의 지정이 가능하다. 흐름 제어부(25)는 데이터베이스(35)로부터 제어 조건을 취득하여 프린터 출력 감시 드라이버부(42)에 건네준다.
제어 조건의 예를 도 14에 도시하고 있다. 제어 조건 테이블(120)은 파일(121), 인쇄 기간(122), 인쇄 금지 어플리케이션(123), 사용자(124), 제어(125)의 칼럼으로 이루어져 있다. 파일(121)은 피제어 파일을 나타낸다. 인쇄 기간(122)은 인쇄할 수 있는 기간을 나타내는 칼럼에서 인쇄의 개시 시간과 종료시간을 지정한다. 인쇄 기간(122)은 특정의 날, 특정의 일시에 지정해도 좋다.
인쇄 금지 어플리케이션(123)은 인쇄 제어를 하는 응용 프로그램을 나타낸다. 사용자(124)는 인쇄 제어를 하는 사용자를 나타낸다. 제어(125)는 어떠한 인쇄 제어를 할지를 나타낸다. 예를 들면, 인쇄를 금지하는 「인쇄 금지」, 인쇄를 허가하는 「인쇄 허가」, 인쇄를 대기시키는 「대기」 등의 제어이어도 좋다.
사용자는 응용 프로그램(4)을 조작하여 인쇄하려고 한다. 응용 프로그램(4)으로부터의 인쇄 명령이 내려지고, 인쇄 데이터가 GDI32(61)에 건네지고, 그리고 스풀러(65)에 건네진다. GDI32(61)와 스풀러(65)와의 사이에 들어가 있는 제2 프린터 출력 감시 드라이버부(48)가 인쇄 데이터를 체크하고, 인쇄 제어 조건에 해당하는지를 판단한다.
인쇄 제어 조건은 제어 조건 데이터베이스(36)에 격납되어 있고, 흐름 제어부(25)에 의해 프린터 출력 감시 드라이버부(42)에 건네지고 있다. 또, 공통 인터페이스 드라이버(7)는 응용 프로그램(4), 그것을 조작하고 있는 사용자를 상시 감시하고 있다. 이 정보로부터 얻은 응용 프로그램(4)의 명칭, 사용자의 정보를 제2 프린터 출력 감시 드라이버부(48)에 건네주고 있다.
그 때문에 인쇄 데이터는 제어 조건에 해당하는지의 판단을 제2 프린터 출력 감시 드라이버부(48)에서 할 수가 있다. 인쇄 데이터는 인쇄할 수 없다고 판단하는 경우는 GDI32(61)에 「인쇄 에러」 메시지(message)를 답신하고, 인쇄 데이터를 스풀러(65)에 건네주지 않는다. 인쇄 데이터는 인쇄할 수 있다고 판단하는 경우는 인쇄 데이터를 스풀러(65)에 건네준다.
제2 프린터 출력 감시 드라이버부(48)는 프린터 출력 감시 드라이버부(42)와 데이터의 송수신을 할 수가 있다. 프린터 출력 감시 드라이버부(42)는 제2 프린터 출력 감시 드라이버부(48)로부터의 지시에 의해 필터(41)에 지시하여 인쇄 제어를 할 수가 있다.
본 발명은 전자계산기로부터 인쇄를 할 때, 인쇄할 때의 로그의 취득, 그 보존, 인쇄 데이터의 제어, 인쇄 제어를 할 수 있도록 되어 있다. 그 때문에 인쇄 데이터의 관리가 중요한 분야, 예를 들면, 개인 정보, 국가 기밀 정보, 기업 비밀 등의 관리 시스템에 집어넣어 이용하면 보다 보안상의 안전을 높이는 것이 가능하고 관리가 용이하게 된다.
Claims (16)
- 운영체제에 의해 동작하고 있는 전자계산기로부터 인쇄 장치(69)에 인쇄 데이터의 출력을 할 때, 상기 운영체제 상에서 동작하고 있는 응용 프로그램(4)으로부터 상기 인쇄 장치(69)에 인쇄를 하기 위해서 내려지는 인쇄 요구와 출력 데이터를 검출하기 위한 검출 수단(43)과,상기 출력 데이터를 가공하여 상기 인쇄 데이터를 작성하고, 작성된 상기 인쇄 데이터를 일시적으로 기억 매체에 보존하고, 상기 인쇄 장치(69)에 출력하기 위한 스풀러(65)와,상기 응용 프로그램(4)으로부터 상기 인쇄 장치(69)에 인쇄하기 위해서 출력되는 상기 출력 데이터를 제어하는 제어 수단(7, 41)을 포함하는 인쇄 제어 프로그램을 격납한 전자계산기에 있어서,상기 제어 수단(7, 41)은,상기 운영체제의 모든 명령을 실행할 수 있는 커널 모드에서 동작하고, 한편 복수의 디바이스 드라이버간에 데이터의 송수신을 행하기 위한 공통 인터페이스 드라이버(7)와,상기 운영체제의 사용자 모드에서 동작하고, 상기 운영체제의 이벤트(event)를 감시하기 위한 감시부(43)와,상기 운영체제의 모든 명령을 실행할 수 있는 커널 모드에서 동작하고, 상기 인쇄 장치(69)를 제어하는 프린터 디바이스 드라이버(68)의 업스트림(upstream)에 삽입되고, 상기 스풀러(65)로부터 상기 인쇄 장치(69)에 보내어지는 상기 인쇄 데이터를 제어하기 위한 필터(41)를 포함하고,상기 공통 인터페이스 드라이버(7)는,상기 응용 프로그램과의 인터페이스인 어플리케이션 인터페이스부(application interface part)(17)와,상기 인쇄 데이터를 제어하는 제어 조건을 확인하고, 제어용의 명령을 상기 필터(41)에 송신하는 프린터 출력 감시 드라이버부(42)와,기억장치에 액세스 하여 상기 제어 조건을 취득하고, 상기 프린터 출력 감시 드라이버부(42)에 건네주는 데이터 입출력부(20, 30)를 포함하고,상기 감시부(43)는, 상기 스풀러(65)가 동작하는 경우에 발생하는 이벤트로 상기 인쇄 요구를 검출하고, 검출한 상기 인쇄 요구를 상기 어플리케이션 인터페이스부(application interface part)(17)를 개재(介在)하여 상기 프린터 출력 감시 드라이버부(42)에 건네주고,상기 프린터 출력 감시 드라이버부(42)는, 상기 인쇄 요구를 수취하고, 상기 인쇄 요구에 대한 제어 명령을 상기 필터(41)에 송신하고, 한편상기 필터(41)는, 상기 제어 명령에 따라 상기 인쇄 데이터를 미리 정해진 상기 제어 조건으로 제어하는 것을 특징으로 하는 인쇄 제어용 프로그램을 격납한 전자계산기.
- 운영체제에 의해 동작하고 있는 전자계산기로부터 인쇄 장치(69)에 인쇄 데이터의 출력을 할 때, 상기 운영체제 상에서 동작하고 있는 응용 프로그램(4)으로부터 상기 인쇄 장치(69)에 인쇄를 하기 위해서 내려지는 인쇄 요구와 출력 데이터를 검출하기 위한 검출 수단(43)과,상기 출력 데이터를 가공하여 상기 인쇄 데이터를 작성하고, 작성된 상기 인쇄 데이터를 일시적으로 기억 매체에 보존하고, 상기 인쇄 장치(69)에 출력하기 위한 스풀러(65)와,상기 응용 프로그램(4)으로부터 상기 인쇄 장치(69)에 인쇄하기 위해서 출력되는 상기 출력 데이터를 제어하는 제어 수단(7, 41)을 포함하는 인쇄 제어 프로그램을 격납한 전자계산기에 있어서,상기 제어 수단(7, 41)은,상기 운영체제의 모든 명령을 실행할 수 있는 커널 모드에서 동작하고, 한편 복수의 디바이스 드라이버간에 데이터의 송수신을 행하기 위한 공통 인터페이스 드라이버(7)와,상기 운영체제의 사용자 모드에서 동작하고, 상기 운영체제의 이벤트(event)를 감시하기 위한 감시부(43)를 포함하고,상기 공통 인터페이스 드라이버(7)는,상기 응용 프로그램과의 인터페이스인 어플리케이션 인터페이스부(application interface part)(17)와,상기 인쇄 데이터를 제어하는 제어 조건을 확인해, 상기 인쇄 데이터를 제어하는 프린터 출력 감시 드라이버부(42)와,기억장치에 액세스 하여 상기 제어 조건을 취득하고, 상기 프린터 출력 감시 드라이버부(42)에 건네주는 데이터 입출력부(20, 30)를 포함하고,상기 감시부(43)는, 상기 스풀러(65)가 동작하는 경우에 발생하는 이벤트로 상기 인쇄 요구를 검출하고, 검출한 상기 인쇄 요구를 상기 어플리케이션 인터페이스부(application interface part)(17)를 개재(介在)하여 상기 프린터 출력 감시 드라이버부(42)에 건네주고,상기 프린터 출력 감시 드라이버부(42)는, 상기 인쇄 요구를 수취하고, 상기 스풀러(65)에 의해 작성되고, 보존된 스풀러 일시파일을 상기 제어 조건에 의해 제어하는 것을 특징으로 하는 인쇄 제어용 프로그램을 격납한 전자계산기.
- 운영체제에 의해 동작하고 있는 전자계산기로부터 인쇄 장치(69)에 인쇄 데이터의 출력을 할 때, 상기 운영체제 상에서 동작하고 있는 응용 프로그램(4)으로부터 상기 인쇄 장치(69)에 인쇄를 하기 위해서 내려지는 인쇄 요구와 출력 데이터를 검출하기 위한 검출 수단(43)과,상기 출력 데이터를 가공하여 상기 인쇄 데이터를 작성하고, 작성된 상기 인쇄 데이터를 일시적으로 기억 매체에 보존하고, 상기 인쇄 장치(69)에 출력하기 위한 스풀러(65)와,상기 응용 프로그램(4)으로부터 상기 인쇄 장치(69)에 인쇄하기 위해서 출력되는 상기 출력 데이터를 제어하는 제어 수단(7, 41)을 포함하는 인쇄 제어 프로그램을 격납한 전자계산기에 있어서,상기 제어 수단(7, 41)은,상기 운영체제의 모든 명령을 실행할 수 있는 커널 모드에서 동작하고, 한편 복수의 디바이스 드라이버간에 데이터의 송수신을 행하기 위한 공통 인터페이스 드라이버(7)와,상기 운영체제의 사용자 모드에서 동작하고, 스풀러(65)의 업스트림(upstream)에 삽입되고, 상기 응용 프로그램(4)으로부터 상기 스풀러(65)에 보내어지는 상기 출력 데이터를 제어하기 위한 제 2 프린터 출력 감시 드라이버부(48)를 포함하고,상기 공통 인터페이스 드라이버(7)는,상기 응용 프로그램과의 인터페이스인 어플리케이션 인터페이스부(application interface part)(17)와,상기 인쇄 데이터를 제어하는 제어 조건을 확인하고, 제어용의 명령을 상기 제 2 프린터 출력 감시 드라이버부(48)에 송신하는 프린터 출력 감시 드라이버부(42)와,기억장치에 액세스 하여 상기 제어 조건을 취득하고, 상기 프린터 출력 감시 드라이버부(42)에 건네주는 데이터 입출력부(20, 30)를 포함하고,상기 출력 데이터가 상기 스풀러(65)에 건네질 때, 상기 제 2 프린터 출력 감시 드라이버부(48)를 개재(介在)하고,상기 제 2 프린터 출력 감시 드라이버부(48)는, 상기 프린터 출력 감시 드라이버부(42)로부터 상기 제어 조건, 상기 제어 명령을 수취하고, 상기 인쇄 데이터의 제어를 하는 것을 특징으로 하는 인쇄 제어용 프로그램을 격납한 전자계산기.
- 운영체제에 의해 동작하고 있는 전자계산기로부터 인쇄 장치(69)에 인쇄 데이터의 출력을 할 때, 상기 운영체제 상에서 동작하고 있는 응용 프로그램(4)으로부터 상기 인쇄 장치(69)에 인쇄를 하기 위해서 내려지는 인쇄 요구와 출력 데이터를 검출하기 위한 검출 수단(43)과,상기 출력 데이터를 가공하여 상기 인쇄 데이터를 작성하고, 작성된 상기 인쇄 데이터를 일시적으로 기억 매체에 보존하고, 상기 인쇄 장치(69)에 출력하기 위한 스풀러(65)와,상기 응용 프로그램(4)으로부터 상기 인쇄 장치(69)에 인쇄하기 위해서 출력되는 상기 출력 데이터를 제어하는 제어 수단(7, 41)을 포함하는 인쇄 제어 프로그램을 격납한 전자계산기에 있어서,상기 제어 수단(7, 41)은,상기 운영체제의 모든 명령을 실행할 수 있는 커널 모드에서 동작하고, 한편 복수의 디바이스 드라이버간에 데이터의 송수신을 행하기 위한 공통 인터페이스 드라이버(7)와,상기 운영체제의 사용자 모드에서 동작하고, 스풀러(65)의 업스트림(upstream)에 삽입되고, 상기 응용 프로그램(4)으로부터 상기 스풀러(65)에 보내어지는 상기 출력 데이터를 제어하기 위한 제 2 프린터 출력 감시 드라이버부(61)와,상기 운영체제의 모든 명령을 실행할 수 있는 커널 모드에서 동작하고, 상기 인쇄 장치(69)를 제어하는 프린터 디바이스 드라이버(68)의 업스트림(upstream)에 삽입되고, 상기 스풀러(65)로부터 상기 인쇄 장치(69)에 보내어지는 상기 인쇄 데이터를 제어하기 위한 필터(41)를 포함하고,상기 공통 인터페이스 드라이버(7)는,상기 응용 프로그램(4)과의 인터페이스인 어플리케이션 인터페이스부(application interface part)(17)와,상기 인쇄 데이터를 제어하는 제어 조건을 확인하고, 제어용의 명령을 상기 필터(41)에 송신하는 프린터 출력 감시 드라이버부(42)와,기억장치에 액세스 하여 상기 제어 조건을 취득하고, 상기 프린터 출력 감시 드라이버부(42)에 건네주는 데이터 입출력부(20, 30)를 포함하고,상기 출력 데이터가 상기 제 2 프린터 출력 감시 드라이버부(48)를 개재(介在)하여 상기 스풀러(65)에 건네질 때, 상기 제 2 프린터 출력 감시 드라이버부(48)는, 상기 인쇄 요구를 검출하고, 검출한 상기 인쇄 요구를 상기 어플리케이션 인터페이스부(application interface part)(17)를 개재(介在)하여 상기 프린터 출력 감시 드라이버부(42)에 건네주고,상기 출력 데이터가 상기 스풀러(65)에 건네질 때, 상기 제 2 프린터 출력 감시 드라이버부(48)를 개재(介在)하고,상기 제 2 프린터 출력 감시 드라이버부(48)는, 상기 출력 데이터가 상기 스풀러(65)에 보내어질 때 상기 인쇄 요구를 검출하고, 검출한 상기 인쇄 요구를 상기 어플리케이션 인터페이스부(application interface part)(17)를 개재(介在)하여 상기 프린터 출력 감시 드라이버부(42)에 건네주고,상기 프린터 출력 감시 드라이버부(42)는, 상기 인쇄 요구를 수취하고, 상기 인쇄 요구에 대한 제어 명령을 상기 필터(41)에 송신하고,상기 필터(41)는, 상기 제어 명령에 따라 상기 인쇄 데이터를 미리 결정된 제어 조건으로 제어하는 것을 특징으로 하는 인쇄 제어용 프로그램을 격납한 전자계산기.
- 제1항, 제3항, 및 제4항 중 어느 한 항에 있어서,상기 제어 조건은,상기 데이터 출력의 정지, 상기 데이터 출력의 출력 속도의 변경, 및 상기 데이터 출력의 일부의 반복 출력 중에서 선택되는 하나 이상인 것을 특징으로 하는 인쇄 제어용 프로그램을 격납한 전자계산기.
- 제2항에 있어서,상기 제어 조건은,상기 스풀러 일시파일의 속성의 변경, 상기 스풀러 일시파일의 내용의 변경, 및 상기 스풀러 일시파일의 내용을 삭제하고 빈 파일로 하는 제어 중에서 선택되는 하나 이상인 것을 특징으로 하는 인쇄 제어용 프로그램을 격납한 전자계산기.
- 운영체제에 의해 동작하고 있는 전자계산기로부터 인쇄 장치(69)에 인쇄 데이터의 출력을 할 때, 상기 운영체제 상에서 동작하고 있는 응용 프로그램(4)으로부터 상기 인쇄 장치(69)에 인쇄를 하기 위해서 내려지는 인쇄 요구와 출력 데이터를 검출하기 위한 검출 수단(43)과,상기 출력 데이터를 가공하여 상기 인쇄 데이터를 작성하고, 작성된 상기 인쇄 데이터를 일시적으로 기억 매체에 보존하고, 상기 인쇄 장치(69)에 출력하기 위한 스풀러(65)와,상기 응용 프로그램(4)으로부터 상기 인쇄 장치(69)에 인쇄하기 위해서 출력되는 상기 출력 데이터를 제어하는 제어 수단(7, 41)을 포함하는 전자계산기의 인쇄 제어 프로그램에 있어서,상기 제어 수단(7, 41)은,상기 운영체제의 모든 명령을 실행할 수 있는 커널 모드에서 동작하고, 한편 복수의 디바이스 드라이버간에 데이터의 송수신을 행하기 위한 공통 인터페이스 드라이버(7)와,상기 운영체제의 사용자 모드에서 동작하고, 상기 운영체제의 이벤트(event)를 감시하기 위한 감시부(43)와,상기 운영체제의 모든 명령을 실행할 수 있는 커널 모드에서 동작하고, 상기 인쇄 장치(69)를 제어하는 프린터 디바이스 드라이버(68)의 업스트림(upstream)에 삽입되고, 상기 스풀러(65)로부터 상기 인쇄 장치(69)에 보내어지는 상기 인쇄 데이터를 제어하기 위한 필터(41)를 포함하고,상기 공통 인터페이스 드라이버(7)는,상기 응용 프로그램과의 인터페이스인 어플리케이션 인터페이스부(application interface part)(17)와,상기 인쇄 데이터를 제어하는 제어 조건을 확인하고, 제어용의 명령을 상기 필터(41)에 송신하는 프린터 출력 감시 드라이버부(42)와,기억장치에 액세스 하여 상기 제어 조건을 취득하고, 상기 프린터 출력 감시 드라이버부(42)에 건네주는 데이터 입출력부(20, 30)를 포함하고,상기 감시부(43)는, 상기 스풀러(65)가 동작하는 경우에 발생하는 이벤트로 상기 인쇄 요구를 검출하는 단계와, 검출한 상기 인쇄 요구를 상기 어플리케이션 인터페이스부(application interface part)(17)를 개재(介在)하여 상기 프린터 출력 감시 드라이버부(42)에 건네주는 단계를 포함하고,상기 프린터 출력 감시 드라이버부(42)는, 상기 인쇄 요구를 수취하는 단계와, 상기 인쇄 요구에 대한 제어 명령을 상기 필터(41)에 송신하는 단계를 포함하고, 한편상기 필터(41)는, 상기 제어 명령에 따라 상기 인쇄 데이터를 미리 정해진 상기 제어 조건으로 제어하는 단계를 포함하는 것을 특징으로 하는 전자계산기의 인쇄 제어용 프로그램.
- 운영체제에 의해 동작하고 있는 전자계산기로부터 인쇄 장치(69)에 인쇄 데이터의 출력을 할 때, 상기 운영체제 상에서 동작하고 있는 응용 프로그램(4)으로부터 상기 인쇄 장치(69)에 인쇄를 하기 위해서 내려지는 인쇄 요구와 출력 데이터를 검출하기 위한 검출 수단(43)과,상기 출력 데이터를 가공하여 상기 인쇄 데이터를 작성하고, 작성된 상기 인쇄 데이터를 일시적으로 기억 매체에 보존하고, 상기 인쇄 장치(69)에 출력하기 위한 스풀러(65)와,상기 응용 프로그램(4)으로부터 상기 인쇄 장치(69)에 인쇄하기 위해서 출력되는 상기 출력 데이터를 제어하는 제어 수단(7, 41)을 포함하는 전자계산기의 인쇄 제어 프로그램에 있어서,상기 제어 수단(7, 41)은,상기 운영체제의 모든 명령을 실행할 수 있는 커널 모드에서 동작하고, 한편 복수의 디바이스 드라이버간에 데이터의 송수신을 행하기 위한 공통 인터페이스 드라이버(7)와,상기 운영체제의 사용자 모드에서 동작하고, 상기 운영체제의 이벤트(event)를 감시하기 위한 감시부(43)를 포함하고,상기 공통 인터페이스 드라이버(7)는,상기 응용 프로그램과의 인터페이스인 어플리케이션 인터페이스부(application interface part)(17)와,상기 인쇄 데이터를 제어하는 제어 조건을 확인하고, 제어를 하는 프린터 출력 감시 드라이버부(42)와,기억장치에 액세스 하여 상기 제어 조건을 취득하고, 상기 프린터 출력 감시 드라이버부(42)에 건네주는 데이터 입출력부(20, 30)를 포함하고,상기 감시부(43)는, 상기 스풀러(65)가 동작하는 경우에 발생하는 이벤트로 상기 인쇄 요구를 검출하는 단계와, 검출한 상기 인쇄 요구를 상기 어플리케이션 인터페이스부(application interface part)(17)를 개재(介在)하여 상기 프린터 출력 감시 드라이버부(42)에 건네주는 단계를 포함하고,상기 프린터 출력 감시 드라이버부(42)는, 상기 인쇄 요구를 수취하는 단계와, 상기 스풀러(65)에 의해 작성되고, 보존된 스풀러 일시파일을 상기 제어 조건에 의해 제어하는 단계를 포함하는 것을 특징으로 하는 전자계산기의 인쇄 제어용 프로그램.
- 운영체제에 의해 동작하고 있는 전자계산기로부터 인쇄 장치(69)에 인쇄 데이터의 출력을 할 때, 상기 운영체제 상에서 동작하고 있는 응용 프로그램(4)으로부터 상기 인쇄 장치(69)에 인쇄를 하기 위해서 내려지는 인쇄 요구와 출력 데이터를 검출하기 위한 검출 수단(43)과,상기 출력 데이터를 가공하여 상기 인쇄 데이터를 작성하고, 작성된 상기 인쇄 데이터를 일시적으로 기억 매체에 보존하고, 상기 인쇄 장치(69)에 출력하기 위한 스풀러(65)와,상기 응용 프로그램(4)으로부터 상기 인쇄 장치(69)에 인쇄하기 위해서 출력되는 상기 출력 데이터를 제어하는 제어 수단(7, 41)을 포함하는 전자계산기의 인쇄 제어 프로그램에 있어서,상기 제어 수단(7, 41)은,상기 운영체제의 모든 명령을 실행할 수 있는 커널 모드에서 동작하고, 한편 복수의 디바이스 드라이버간에 데이터의 송수신을 행하기 위한 공통 인터페이스 드라이버(7)와,상기 운영체제의 사용자 모드에서 동작하고, 스풀러(65)의 업스트림(upstream)에 삽입되고, 상기 응용 프로그램(4)으로부터 상기 스풀러(65)에 보내어지는 상기 출력 데이터를 제어하기 위한 제 2 프린터 출력 감시 드라이버부(48)를 포함하고,상기 공통 인터페이스 드라이버(7)는,상기 응용 프로그램과의 인터페이스인 어플리케이션 인터페이스부(application interface part)(17)와,상기 인쇄 데이터를 제어하는 제어 조건을 확인하고, 제어용의 명령을 상기 제 2 프린터 출력 감시 드라이버부(48)에 송신하는 프린터 출력 감시 드라이버부(42)와,기억장치에 액세스 하여 상기 제어 조건을 취득하고, 상기 프린터 출력 감시 드라이버부(42)에 건네주는 데이터 입출력부(20, 30)를 포함하고,상기 출력 데이터가 상기 스풀러(65)에 건네질 때, 상기 제 2 프린터 출력 감시 드라이버부(48)를 개재(介在)하고,상기 제 2 프린터 출력 감시 드라이버부(48)는, 상기 프린터 출력 감시 드라이버부(42)로부터 상기 제어 조건, 상기 제어 명령을 수취하는 단계와, 상기 인쇄 데이터의 제어를 하는 단계를 포함하는 것을 특징으로 하는 전자계산기의 인쇄 제어용 프로그램.
- 운영체제에 의해 동작하고 있는 전자계산기로부터 인쇄 장치(69)에 인쇄 데이터의 출력을 할 때, 상기 운영체제 상에서 동작하고 있는 응용 프로그램(4)으로부터 상기 인쇄 장치(69)에 인쇄를 하기 위해서 내려지는 인쇄 요구와 출력 데이터를 검출하기 위한 검출 수단(43)과,상기 출력 데이터를 가공하여 상기 인쇄 데이터를 작성하고, 작성된 상기 인쇄 데이터를 일시적으로 기억 매체에 보존하고, 상기 인쇄 장치(69)에 출력하기 위한 스풀러(65)와,상기 응용 프로그램(4)으로부터 상기 인쇄 장치(69)에 인쇄하기 위해서 출력되는 상기 출력 데이터를 제어하는 제어 수단(7, 41)을 포함하는 전자계산기의 인쇄 제어 프로그램에 있어서,상기 제어 수단(7, 41)은,상기 운영체제의 모든 명령을 실행할 수 있는 커널 모드에서 동작하고, 한편 복수의 디바이스 드라이버간에 데이터의 송수신을 행하기 위한 공통 인터페이스 드라이버(7)와,상기 운영체제의 사용자 모드에서 동작하고, 스풀러(65)의 업스트림(upstream)에 삽입되고, 상기 응용 프로그램(4)으로부터 상기 스풀러(65)에 보내어지는 상기 출력 데이터를 제어하기 위한 제 2 프린터 출력 감시 드라이버부(61)와,상기 운영체제의 모든 명령을 실행할 수 있는 커널 모드에서 동작하고, 상기 인쇄 장치(69)를 제어하는 프린터 디바이스 드라이버(68)의 업스트림(upstream)에 삽입되고, 상기 스풀러(65)로부터 상기 인쇄 장치(69)에 보내어지는 상기 인쇄 데이터를 제어하기 위한 필터(41)를 포함하고,상기 공통 인터페이스 드라이버(7)는,상기 응용 프로그램(4)과의 인터페이스인 어플리케이션 인터페이스부(application interface part)(17)와,상기 인쇄 데이터를 제어하는 제어 조건을 확인하고, 제어용의 명령을 상기 필터(41)에 송신하는 프린터 출력 감시 드라이버부(42)와,기억장치에 액세스 하여 상기 제어 조건을 취득하고, 상기 프린터 출력 감시 드라이버부(42)에 건네주는 데이터 입출력부(20, 30)를 포함하고,상기 출력 데이터가 상기 제 2 프린터 출력 감시 드라이버부(48)를 개재(介在)하여 상기 스풀러(65)에 건네질 때, 상기 제 2 프린터 출력 감시 드라이버부(48)는, 상기 인쇄 요구를 검출하는 단계와, 검출한 상기 인쇄 요구를 상기 어플리케이션 인터페이스부(application interface part)(17)를 개재(介在)하여 상기 프린터 출력 감시 드라이버부(42)에 건네주는 단계를 가지고,상기 프린터 출력 감시 드라이버부(42)는, 상기 인쇄 요구를 수취하는 단계와, 상기 인쇄 요구에 대한 제어 명령을 상기 필터(41)에 송신하는 단계를 포함하고, 한편상기 필터(41)는, 상기 제어 명령에 따라 상기 인쇄 데이터를 미리 결정된 제어 조건으로 제어하는 단계를 포함하는 것을 특징으로 하는 전자계산기의 인쇄 제어용 프로그램.
- 제7항, 제9항, 및 제10항 중 어느 한 항에 있어서,상기 제어 조건은,상기 데이터 출력의 정지, 상기 데이터 출력의 출력 속도의 변경, 및 상기 데이터 출력의 일부의 반복 출력 중에서 선택되는 하나 이상인 것을 특징으로 하는 전자계산기의 인쇄 제어용 프로그램.
- 제8항에 있어서,상기 제어 조건은,상기 스풀러 일시파일의 속성의 변경, 상기 스풀러 일시파일의 내용의 변경, 및 상기 스풀러 일시파일의 내용을 삭제하고 빈 파일로 하는 제어 중에서 선택되는 하나 이상인 것을 특징으로 하는 전자계산기의 인쇄 제어용 프로그램.
- 제7항 내지 제10항 중 어느 한 항에 있어서,상기 제어 조건은,상기 인쇄 제어를 대상으로 하는 인쇄 데이터의 파일, 상기 인쇄 제어가 가능한 기간을 나타내는 인쇄 기간, 상기 파일을 인쇄할 수 없는 응용 프로그램, 및 사용자중에서 선택되는 하나 이상의 조건인 것을 특징으로 하는 전자계산기의 인쇄 제어용 프로그램.
- 제7항 내지 제10항 중 어느 한 항에 있어서,상기 검출 수단은,상기 이벤트가 발생하면 상기 이벤트와 연동하여 훅(hook) 프로그램을 동작시키는 단계로 이루어지고,상기 훅 프로그램은, 상기 이벤트 발생을 제어 수단에 통지하는 송신 단계를 가지는 것을 특징으로 하는 전자계산기의 인쇄 제어용 프로그램.
- 상기 제어 수단은, 상기 인쇄 제어를 한 로그를 취득하여 로그 데이터베이스에 보존하는 기능을 구비하고,상기 로그 데이터베이스는, 인쇄를 한 사용자를 나타내는 사용자의 칼럼, 인쇄를 한 파일을 나타내는 인쇄 파일명의 칼럼, 인쇄를 한 응용 프로그램을 나타내는 응용 프로그램의 칼럼, 인쇄를 한 인쇄 장치를 나타내는 프린터의 칼럼, 인쇄를 한 조건 설정을 나타내는 인쇄 조건의 칼럼, 인쇄를 한 일시를 나타내는 일시의 칼럼, 및 인쇄 제어를 한 인쇄 제어의 칼럼으로부터 선택되는 하나 이상의 칼럼으로 구성되어 있는 것을 특징으로 하는 인쇄 제어 프로그램.
- 제6항 내지 제12항 중 어느 한 항에 기재의 전자계산기의 인쇄 제어 프로그램을 기록한 기록 매체.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JPJP-P-2003-00048791 | 2003-02-26 | ||
JP2003048791 | 2003-02-26 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20050084118A true KR20050084118A (ko) | 2005-08-26 |
KR100720922B1 KR100720922B1 (ko) | 2007-05-23 |
Family
ID=32923302
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020057010018A KR100720922B1 (ko) | 2003-02-26 | 2004-02-25 | 인쇄 제어 프로그램을 격납한 전자계산기, 및 인쇄 제어용 프로그램을 기록한 전자계산기로 읽을 수 있는 저장매체 |
Country Status (6)
Country | Link |
---|---|
US (1) | US8027050B2 (ko) |
EP (1) | EP1598738A4 (ko) |
JP (1) | JP4198154B2 (ko) |
KR (1) | KR100720922B1 (ko) |
CN (1) | CN100524191C (ko) |
WO (1) | WO2004077287A1 (ko) |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8114841B2 (en) * | 2004-10-14 | 2012-02-14 | Biomimetic Therapeutics, Inc. | Maxillofacial bone augmentation using rhPDGF-BB and a biocompatible matrix |
US20060146353A1 (en) * | 2004-12-30 | 2006-07-06 | Microsoft Corporation | Strategies for rendering job information using a multi-personality driver device |
EP1868076A4 (en) * | 2005-03-29 | 2009-04-01 | Science Park Corp | PRINTER CONTROL PROGRAM AND PROGRAM RECOGNITION MEDIUM |
US7969610B2 (en) * | 2005-04-01 | 2011-06-28 | Microsoft Corporation | Notification methods and systems for print-related systems |
US20060244755A1 (en) * | 2005-04-28 | 2006-11-02 | Microsoft Corporation | Pre-rendering conversion of graphical data |
JP4706509B2 (ja) * | 2006-03-07 | 2011-06-22 | 富士ゼロックス株式会社 | 印刷制御システム、プログラム、及び方法 |
JP2007265054A (ja) * | 2006-03-29 | 2007-10-11 | Hitachi Software Eng Co Ltd | 透かし強制印刷システム、方法及びプログラム |
JP4921203B2 (ja) * | 2007-02-26 | 2012-04-25 | キヤノン株式会社 | 印刷装置、情報処理方法及びプログラム |
JP2012058810A (ja) | 2010-09-06 | 2012-03-22 | Seiko Epson Corp | 印刷データを用いた機能拡張プログラム、機能拡張装置、及び、機能拡張方法 |
CN102509032B (zh) * | 2011-09-23 | 2014-09-10 | 国网电力科学研究院 | 一种基于Windows底层驱动的打印安全监控***实现方法 |
Family Cites Families (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3639685B2 (ja) * | 1997-01-31 | 2005-04-20 | キヤノン株式会社 | 印刷装置及び印刷制御方法 |
JP3524337B2 (ja) * | 1997-07-25 | 2004-05-10 | キヤノン株式会社 | バス管理装置及びそれを有する複合機器の制御装置 |
JP3566511B2 (ja) * | 1997-09-04 | 2004-09-15 | キヤノン株式会社 | 情報処理装置及び印刷システム及び印刷処理方法並びにコンピュータ可読の記憶媒体 |
JP3689579B2 (ja) * | 1998-02-05 | 2005-08-31 | キヤノン株式会社 | 情報処理装置及び情報処理方法、記憶媒体 |
AU4631299A (en) * | 1998-06-30 | 2000-01-17 | Paragon Software (Developments) Ltd. | Telephone directory management system having wireless telephone interface capability |
JP4418545B2 (ja) * | 1998-11-30 | 2010-02-17 | キヤノン株式会社 | 画像処理装置、及び画像出力制御方法 |
JP3747130B2 (ja) * | 1998-12-22 | 2006-02-22 | キヤノン株式会社 | 情報処理装置、メッセージ表示方法、インタフェース装置、及びコンピュータ読み取り可能なプログラムが格納された記憶媒体 |
JP4388711B2 (ja) * | 2000-08-09 | 2009-12-24 | 富士フイルム株式会社 | プリント・システムおよびその動作制御方法 |
JP2002222070A (ja) * | 2000-11-21 | 2002-08-09 | Canon Inc | 印刷データ処理装置及び印刷制御方法及び印刷制御プログラム |
US7190477B2 (en) * | 2001-02-22 | 2007-03-13 | Sharp Laboratories Of America, Inc. | System and method for managing and processing a print job using print job tickets |
US20020138564A1 (en) * | 2001-03-21 | 2002-09-26 | Treptow Jay A. | Universal printing and document imaging system and method |
US7617446B2 (en) * | 2001-03-26 | 2009-11-10 | International Business Machines Corporation | Method and system for pre-print processing of web-based documents to reduce printing costs |
JP5055492B2 (ja) | 2001-05-07 | 2012-10-24 | サイエンスパーク株式会社 | 電子計算機のインターフェースドライバプログラム及びその記録媒体 |
AU2003211268A1 (en) | 2002-02-15 | 2003-09-04 | Science Park Corporation | Individual authentication method using input characteristic of input apparatus by network, program thereof, and recording medium containing the program |
US6789142B2 (en) * | 2002-12-18 | 2004-09-07 | Intel Corporation | Method, system, and program for handling interrupt requests |
-
2004
- 2004-02-25 US US10/546,599 patent/US8027050B2/en active Active
- 2004-02-25 JP JP2005502897A patent/JP4198154B2/ja not_active Expired - Lifetime
- 2004-02-25 CN CNB2004800018654A patent/CN100524191C/zh not_active Expired - Lifetime
- 2004-02-25 EP EP04714459A patent/EP1598738A4/en not_active Withdrawn
- 2004-02-25 KR KR1020057010018A patent/KR100720922B1/ko active IP Right Grant
- 2004-02-25 WO PCT/JP2004/002178 patent/WO2004077287A1/ja active Application Filing
Also Published As
Publication number | Publication date |
---|---|
EP1598738A1 (en) | 2005-11-23 |
CN1777863A (zh) | 2006-05-24 |
EP1598738A4 (en) | 2009-04-01 |
CN100524191C (zh) | 2009-08-05 |
JPWO2004077287A1 (ja) | 2006-06-08 |
US20060153617A1 (en) | 2006-07-13 |
WO2004077287A1 (ja) | 2004-09-10 |
JP4198154B2 (ja) | 2008-12-17 |
KR100720922B1 (ko) | 2007-05-23 |
US8027050B2 (en) | 2011-09-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6246485B1 (en) | Printer communication system and method | |
US9361056B2 (en) | Information processing apparatus and method for generating a conflict confirmation print job | |
US8797561B2 (en) | Printing control program and program recording media | |
KR20110088521A (ko) | 프로그램 스크립팅 언어를 이용하는 라벨 프린터 api | |
KR100720922B1 (ko) | 인쇄 제어 프로그램을 격납한 전자계산기, 및 인쇄 제어용 프로그램을 기록한 전자계산기로 읽을 수 있는 저장매체 | |
US8059306B2 (en) | System and method for controlling print device | |
JP2001188663A (ja) | プリント管理方法,プリンタシステムとそのユーザ用及び管理者用ホストコンピュータ,並びに記録媒体 | |
US7265857B1 (en) | Medium where status information printing program is recorded, printer, print controller, status information printing method, and status information printing system | |
JP2012146240A (ja) | アプリケーションプログラムとプリンタードライバー間のデータ通信方法およびプログラム | |
JP2013058088A (ja) | 情報処理装置、プログラム、記憶媒体 | |
US7352484B2 (en) | Printing system and management method therefor | |
US20120257242A1 (en) | Information processing apparatus, information processing method, and storage medium | |
JP2004185325A (ja) | プリントサーバ装置 | |
JP4412718B2 (ja) | 情報処理装置およびその制御方法 | |
JP2003303060A (ja) | 印刷システム、印刷装置、プリンタホストおよびプリンタドライバ | |
JP2008027217A (ja) | 情報処理装置および印刷装置を備える印刷システム | |
JPH10320139A (ja) | 印刷制御装置及び印刷制御方法並びに印刷制御プログラムが記録されたコンピュータ読み取り可能な記録媒体 | |
JP4131860B2 (ja) | 印刷システム、サーバ、及びコンピュータプログラム | |
JP3248796B2 (ja) | ネットワークプリンタシステム | |
JP2003241948A (ja) | 失敗した印刷ジョブを回復するための方法または装置 | |
JP2005159764A (ja) | 記録方法及び装置及びプログラム及び記憶媒体 | |
KR100313869B1 (ko) | 효율적인 프린팅 데이터 발생장치 및 그 방법 | |
JP2000353139A (ja) | 印刷システム、情報処理装置、印刷処理方法および記憶媒体 | |
KR20000032870A (ko) | 네트워크 프린터의 인쇄 오류 방지장치 및 그 방법 | |
JP2000298560A (ja) | 印刷データ処理装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20130425 Year of fee payment: 7 |
|
FPAY | Annual fee payment |
Payment date: 20140508 Year of fee payment: 8 |
|
FPAY | Annual fee payment |
Payment date: 20160427 Year of fee payment: 10 |
|
FPAY | Annual fee payment |
Payment date: 20170411 Year of fee payment: 11 |
|
FPAY | Annual fee payment |
Payment date: 20180418 Year of fee payment: 12 |